ARCZonalShift

Client

class ARCZonalShift.Client

A low-level client representing AWS ARC - Zonal Shift

This is the API Reference Guide for the zonal shift feature of Amazon Route 53 Application Recovery Controller. This guide is for developers who need detailed information about zonal shift API actions, data types, and errors.

Zonal shift is in preview release for Amazon Route 53 Application Recovery Controller and is subject to change.

Zonal shift in Route 53 ARC enables you to move traffic for a load balancer resource away from an Availability Zone. Starting a zonal shift helps your application recover immediately, for example, from a developer's bad code deployment or from an AWS infrastructure failure in a single Availability Zone, reducing the impact and time lost from an issue in one zone.

Supported AWS resources are automatically registered with Route 53 ARC. Resources that are registered for zonal shifts in Route 53 ARC are managed resources in Route 53 ARC. You can start a zonal shift for any managed resource in your account in a Region. At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

Zonal shifts are temporary. You must specify an expiration when you start a zonal shift, of up to three days initially. If you want to still keep traffic away from an Availability Zone, you can update the zonal shift and set a new expiration. You can also cancel a zonal shift, before it expires, for example, if you're ready to restore traffic to the Availability Zone.

For more information about using zonal shift, see the Amazon Route 53 Application Recovery Controller Developer Guide.

client = session.create_client('arc-zonal-shift')

These are the available methods:

can_paginate(operation_name)

Check if an operation can be paginated.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Returns
True if the operation can be paginated, False otherwise.
cancel_zonal_shift(**kwargs)

Cancel a zonal shift in Amazon Route 53 Application Recovery Controller that you've started for a resource in your AWS account in an AWS Region.

See also: AWS API Documentation

Request Syntax

response = client.cancel_zonal_shift(
    zonalShiftId='string'
)
Parameters
zonalShiftId (string) --

[REQUIRED]

The internally-generated identifier of a zonal shift.

Return type
dict
Returns
Response Syntax
{
    'awayFrom': 'string',
    'comment': 'string',
    'expiryTime': datetime(2015, 1, 1),
    'resourceIdentifier': 'string',
    'startTime': datetime(2015, 1, 1),
    'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
    'zonalShiftId': 'string'
}

Response Structure

  • (dict) --
    • awayFrom (string) --

      The Availability Zone that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

    • comment (string) --

      A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string.

    • expiryTime (datetime) --

      The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift. You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift to set a new expiration at any time.

      When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

    • resourceIdentifier (string) --

      The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

      At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

    • startTime (datetime) --

      The time (UTC) when the zonal shift is started.

    • status (string) --

      A status for a zonal shift.

      The Status for a zonal shift can have one of the following values:

      • ACTIVE: The zonal shift is started and active.
      • EXPIRED: The zonal shift has expired (the expiry time was exceeded).
      • CANCELED: The zonal shift was canceled.
    • zonalShiftId (string) --

      The identifier of a zonal shift.

Exceptions

close()

Closes underlying endpoint connections.

get_managed_resource(**kwargs)

Get information about a resource that's been registered for zonal shifts with Amazon Route 53 Application Recovery Controller in this AWS Region. Resources that are registered for zonal shifts are managed resources in Route 53 ARC.

At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

See also: AWS API Documentation

Request Syntax

response = client.get_managed_resource(
    resourceIdentifier='string'
)
Parameters
resourceIdentifier (string) --

[REQUIRED]

The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

Return type
dict
Returns
Response Syntax
{
    'appliedWeights': {
        'string': ...
    },
    'arn': 'string',
    'name': 'string',
    'zonalShifts': [
        {
            'appliedStatus': 'APPLIED'|'NOT_APPLIED',
            'awayFrom': 'string',
            'comment': 'string',
            'expiryTime': datetime(2015, 1, 1),
            'resourceIdentifier': 'string',
            'startTime': datetime(2015, 1, 1),
            'zonalShiftId': 'string'
        },
    ]
}

Response Structure

  • (dict) --
    • appliedWeights (dict) --

      A collection of key-value pairs that indicate whether resources are active in Availability Zones or not. The key name is the Availability Zone where the resource is deployed. The value is 1 or 0.

      • (string) --
        • (float) --
    • arn (string) --

      The Amazon Resource Name (ARN) for the resource.

    • name (string) --

      The name of the resource.

    • zonalShifts (list) --

      The zonal shifts that are currently active for a resource.

      • (dict) --

        A complex structure that lists the zonal shifts for a managed resource and their statuses for the resource.

        • appliedStatus (string) --

          An appliedStatus for a zonal shift for a resource can have one of two values: APPLIED or NOT_APPLIED .

        • awayFrom (string) --

          The Availability Zone that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

        • comment (string) --

          A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. That is, a new comment overwrites any existing comment string.

        • expiryTime (datetime) --

          The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift. You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift to set a new expiration at any time.

          When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

        • resourceIdentifier (string) --

          The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

          At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

        • startTime (datetime) --

          The time (UTC) when the zonal shift is started.

        • zonalShiftId (string) --

          The identifier of a zonal shift.

Exceptions

get_paginator(operation_name)

Create a paginator for an operation.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Raises OperationNotPageableError
Raised if the operation is not pageable. You can use the client.can_paginate method to check if an operation is pageable.
Return type
L{botocore.paginate.Paginator}
Returns
A paginator object.
get_waiter(waiter_name)

Returns an object that can wait for some condition.

Parameters
waiter_name (str) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters.
Returns
The specified waiter object.
Return type
botocore.waiter.Waiter
list_managed_resources(**kwargs)

Lists all the resources in your AWS account in this AWS Region that are managed for zonal shifts in Amazon Route 53 Application Recovery Controller, and information about them. The information includes their Amazon Resource Names (ARNs), the Availability Zones the resources are deployed in, and the resource name.

See also: AWS API Documentation

Request Syntax

response = client.list_managed_resources(
    maxResults=123,
    nextToken='string'
)
Parameters
  • maxResults (integer) -- The number of objects that you want to return with this call.
  • nextToken (string) -- Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.
Return type

dict

Returns

Response Syntax

{
    'items': [
        {
            'arn': 'string',
            'availabilityZones': [
                'string',
            ],
            'name': 'string'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • items (list) --

      The items in the response list.

      • (dict) --

        A complex structure for a managed resource in an account.

        A managed resource is a Network Load Balancer or Application Load Balancer that has been registered with Route 53 ARC by Elastic Load Balancing. You can start a zonal shift in Route 53 ARC for a managed resource to temporarily move traffic for the resource away from an Availability Zone in an AWS Region.

        Note

        At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

        • arn (string) --

          The Amazon Resource Name (ARN) for the managed resource.

        • availabilityZones (list) --

          The Availability Zones that a resource is deployed in.

          • (string) --
        • name (string) --

          The name of the managed resource.

    • nextToken (string) --

      Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

Exceptions

list_zonal_shifts(**kwargs)

Lists all the active zonal shifts in Amazon Route 53 Application Recovery Controller in your AWS account in this AWS Region.

See also: AWS API Documentation

Request Syntax

response = client.list_zonal_shifts(
    maxResults=123,
    nextToken='string',
    status='ACTIVE'|'EXPIRED'|'CANCELED'
)
Parameters
  • maxResults (integer) -- The number of objects that you want to return with this call.
  • nextToken (string) -- Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.
  • status (string) --

    A status for a zonal shift.

    The Status for a zonal shift can have one of the following values:

    • ACTIVE : The zonal shift is started and active.
    • EXPIRED : The zonal shift has expired (the expiry time was exceeded).
    • CANCELED : The zonal shift was canceled.
Return type

dict

Returns

Response Syntax

{
    'items': [
        {
            'awayFrom': 'string',
            'comment': 'string',
            'expiryTime': datetime(2015, 1, 1),
            'resourceIdentifier': 'string',
            'startTime': datetime(2015, 1, 1),
            'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
            'zonalShiftId': 'string'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • items (list) --

      The items in the response list.

      • (dict) --

        You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in a AWS Region. A zonal shift helps your application recover immediately, for example, from a developer's bad code deployment or from an AWS infrastructure failure in a single Availability Zone. You can start a zonal shift in Route 53 ARC only for managed resources in your account in an AWS Region. Supported AWS resources are automatically registered with Route 53 ARC.

        Zonal shifts are temporary. A zonal shift can be active for up to three days (72 hours).

        When you start a zonal shift, you specify how long you want it to be active, which Amazon Route 53 Application Recovery Controller converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can extend the zonal shift by updating the expiration so the zonal shift is active longer.

        • awayFrom (string) --

          The Availability Zone that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

        • comment (string) --

          A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. That is, a new comment overwrites any existing comment string.

        • expiryTime (datetime) --

          The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift. You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift to set a new expiration at any time.

          When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

        • resourceIdentifier (string) --

          The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

          At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

        • startTime (datetime) --

          The time (UTC) when the zonal shift is started.

        • status (string) --

          A status for a zonal shift.

          The Status for a zonal shift can have one of the following values:

          • ACTIVE: The zonal shift is started and active.
          • EXPIRED: The zonal shift has expired (the expiry time was exceeded).
          • CANCELED: The zonal shift was canceled.
        • zonalShiftId (string) --

          The identifier of a zonal shift.

    • nextToken (string) --

      Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

Exceptions

start_zonal_shift(**kwargs)

You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in a AWS Region, to help your application recover immediately, for example, from a developer's bad code deployment or from an AWS infrastructure failure in a single Availability Zone. You can start a zonal shift in Route 53 ARC only for managed resources in your account in an AWS Region. Resources are automatically registered with Route 53 ARC by AWS services.

At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

When you start a zonal shift, traffic for the resource is no longer routed to the Availability Zone. The zonal shift is created immediately in Route 53 ARC. However, it can take a short time, typically up to a few minutes, for existing, in-progress connections in the Availability Zone to complete.

For more information, see Zonal shift in the Amazon Route 53 Application Recovery Controller Developer Guide.

See also: AWS API Documentation

Request Syntax

response = client.start_zonal_shift(
    awayFrom='string',
    comment='string',
    expiresIn='string',
    resourceIdentifier='string'
)
Parameters
  • awayFrom (string) --

    [REQUIRED]

    The Availability Zone that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

  • comment (string) --

    [REQUIRED]

    A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string.

  • expiresIn (string) --

    [REQUIRED]

    The length of time that you want a zonal shift to be active, which Route 53 ARC converts to an expiry time (expiration time). Zonal shifts are temporary. You can set a zonal shift to be active initially for up to three days (72 hours).

    If you want to still keep traffic away from an Availability Zone, you can update the zonal shift and set a new expiration. You can also cancel a zonal shift, before it expires, for example, if you're ready to restore traffic to the Availability Zone.

    To set a length of time for a zonal shift to be active, specify a whole number, and then one of the following, with no space:

    <ul> <li> <p> <b>A lowercase letter m:</b> To specify that the value is in minutes.</p> </li> <li> <p> <b>A lowercase letter h:</b> To specify that the value is in hours.</p> </li> </ul> <p>For example: <code>20h</code> means the zonal shift expires in 20 hours. <code>120m</code> means the zonal shift expires in 120 minutes (2 hours).</p>
  • resourceIdentifier (string) --

    [REQUIRED]

    The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

    At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

Return type

dict

Returns

Response Syntax

{
    'awayFrom': 'string',
    'comment': 'string',
    'expiryTime': datetime(2015, 1, 1),
    'resourceIdentifier': 'string',
    'startTime': datetime(2015, 1, 1),
    'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
    'zonalShiftId': 'string'
}

Response Structure

  • (dict) --

    • awayFrom (string) --

      The Availability Zone that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

    • comment (string) --

      A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string.

    • expiryTime (datetime) --

      The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift. You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift to set a new expiration at any time.

      When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

    • resourceIdentifier (string) --

      The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

      At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

    • startTime (datetime) --

      The time (UTC) when the zonal shift is started.

    • status (string) --

      A status for a zonal shift.

      The Status for a zonal shift can have one of the following values:

      • ACTIVE: The zonal shift is started and active.
      • EXPIRED: The zonal shift has expired (the expiry time was exceeded).
      • CANCELED: The zonal shift was canceled.
    • zonalShiftId (string) --

      The identifier of a zonal shift.

Exceptions

update_zonal_shift(**kwargs)

Update an active zonal shift in Amazon Route 53 Application Recovery Controller in your AWS account. You can update a zonal shift to set a new expiration, or edit or replace the comment for the zonal shift.

See also: AWS API Documentation

Request Syntax

response = client.update_zonal_shift(
    comment='string',
    expiresIn='string',
    zonalShiftId='string'
)
Parameters
  • comment (string) -- A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string.
  • expiresIn (string) --

    The length of time that you want a zonal shift to be active, which Route 53 ARC converts to an expiry time (expiration time). Zonal shifts are temporary. You can set a zonal shift to be active initially for up to three days (72 hours).

    If you want to still keep traffic away from an Availability Zone, you can update the zonal shift and set a new expiration. You can also cancel a zonal shift, before it expires, for example, if you're ready to restore traffic to the Availability Zone.

    To set a length of time for a zonal shift to be active, specify a whole number, and then one of the following, with no space:

    • A lowercase letter m: To specify that the value is in minutes.
    • A lowercase letter h: To specify that the value is in hours.

    For example: 20h means the zonal shift expires in 20 hours. 120m means the zonal shift expires in 120 minutes (2 hours).

  • zonalShiftId (string) --

    [REQUIRED]

    The identifier of a zonal shift.

Return type

dict

Returns

Response Syntax

{
    'awayFrom': 'string',
    'comment': 'string',
    'expiryTime': datetime(2015, 1, 1),
    'resourceIdentifier': 'string',
    'startTime': datetime(2015, 1, 1),
    'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
    'zonalShiftId': 'string'
}

Response Structure

  • (dict) --

    • awayFrom (string) --

      The Availability Zone that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

    • comment (string) --

      A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string.

    • expiryTime (datetime) --

      The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift. You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift to set a new expiration at any time.

      When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

    • resourceIdentifier (string) --

      The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

      At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

    • startTime (datetime) --

      The time (UTC) when the zonal shift is started.

    • status (string) --

      A status for a zonal shift.

      The Status for a zonal shift can have one of the following values:

      • ACTIVE: The zonal shift is started and active.
      • EXPIRED: The zonal shift has expired (the expiry time was exceeded).
      • CANCELED: The zonal shift was canceled.
    • zonalShiftId (string) --

      The identifier of a zonal shift.

Exceptions

Client Exceptions

Client exceptions are available on a client instance via the exceptions property. For more detailed instructions and examples on the exact usage of client exceptions, see the error handling user guide.

The available client exceptions are:

class ARCZonalShift.Client.exceptions.AccessDeniedException

You do not have sufficient access to perform this action.

Example

try:
  ...
except client.exceptions.AccessDeniedException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    You do not have sufficient access to perform this action.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class ARCZonalShift.Client.exceptions.ConflictException

The request could not be processed because of conflict in the current state of the resource.

Example

try:
  ...
except client.exceptions.ConflictException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'reason': 'ZonalShiftAlreadyExists'|'ZonalShiftStatusNotActive'|'SimultaneousZonalShiftsConflict',
    'zonalShiftId': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    The request could not be processed because of conflict in the current state of the resource.

    • message (string) --

    • reason (string) --

      The reason for the conflict exception.

    • zonalShiftId (string) --

      The zonal shift ID associated with the conflict exception.

    • Error (dict) -- Normalized access to common exception attributes.

      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class ARCZonalShift.Client.exceptions.InternalServerException

There was an internal server error.

Example

try:
  ...
except client.exceptions.InternalServerException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    There was an internal server error.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class ARCZonalShift.Client.exceptions.ResourceNotFoundException

The input requested a resource that was not found.

Example

try:
  ...
except client.exceptions.ResourceNotFoundException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    The input requested a resource that was not found.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class ARCZonalShift.Client.exceptions.ThrottlingException

The request was denied due to request throttling.

Example

try:
  ...
except client.exceptions.ThrottlingException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    The request was denied due to request throttling.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class ARCZonalShift.Client.exceptions.ValidationException

The input fails to satisfy the constraints specified by an AWS service.

Example

try:
  ...
except client.exceptions.ValidationException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'reason': 'InvalidExpiresIn'|'InvalidStatus'|'MissingValue'|'InvalidToken'|'InvalidResourceIdentifier'|'InvalidAz'|'UnsupportedAz',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    The input fails to satisfy the constraints specified by an AWS service.

    • message (string) --

    • reason (string) --

      The reason for the validation exception.

    • Error (dict) -- Normalized access to common exception attributes.

      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.

Paginators

The available paginators are:

class ARCZonalShift.Paginator.ListManagedResources
paginator = client.get_paginator('list_managed_resources')
paginate(**kwargs)

Creates an iterator that will paginate through responses from ARCZonalShift.Client.list_managed_resources().

See also: AWS API Documentation

Request Syntax

response_iterator = paginator.paginate(
    PaginationConfig={
        'MaxItems': 123,
        'PageSize': 123,
        'StartingToken': 'string'
    }
)
Parameters
PaginationConfig (dict) --

A dictionary that provides parameters to control pagination.

  • MaxItems (integer) --

    The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.

  • PageSize (integer) --

    The size of each page.

  • StartingToken (string) --

    A token to specify where to start paginating. This is the NextToken from a previous response.

Return type
dict
Returns
Response Syntax
{
    'items': [
        {
            'arn': 'string',
            'availabilityZones': [
                'string',
            ],
            'name': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --
    • items (list) --

      The items in the response list.

      • (dict) --

        A complex structure for a managed resource in an account.

        A managed resource is a Network Load Balancer or Application Load Balancer that has been registered with Route 53 ARC by Elastic Load Balancing. You can start a zonal shift in Route 53 ARC for a managed resource to temporarily move traffic for the resource away from an Availability Zone in an AWS Region.

        Note

        At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

        • arn (string) --

          The Amazon Resource Name (ARN) for the managed resource.

        • availabilityZones (list) --

          The Availability Zones that a resource is deployed in.

          • (string) --
        • name (string) --

          The name of the managed resource.

    • NextToken (string) --

      A token to resume pagination.

class ARCZonalShift.Paginator.ListZonalShifts
paginator = client.get_paginator('list_zonal_shifts')
paginate(**kwargs)

Creates an iterator that will paginate through responses from ARCZonalShift.Client.list_zonal_shifts().

See also: AWS API Documentation

Request Syntax

response_iterator = paginator.paginate(
    status='ACTIVE'|'EXPIRED'|'CANCELED',
    PaginationConfig={
        'MaxItems': 123,
        'PageSize': 123,
        'StartingToken': 'string'
    }
)
Parameters
  • status (string) --

    A status for a zonal shift.

    The Status for a zonal shift can have one of the following values:

    • ACTIVE : The zonal shift is started and active.
    • EXPIRED : The zonal shift has expired (the expiry time was exceeded).
    • CANCELED : The zonal shift was canceled.
  • PaginationConfig (dict) --

    A dictionary that provides parameters to control pagination.

    • MaxItems (integer) --

      The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.

    • PageSize (integer) --

      The size of each page.

    • StartingToken (string) --

      A token to specify where to start paginating. This is the NextToken from a previous response.

Return type

dict

Returns

Response Syntax

{
    'items': [
        {
            'awayFrom': 'string',
            'comment': 'string',
            'expiryTime': datetime(2015, 1, 1),
            'resourceIdentifier': 'string',
            'startTime': datetime(2015, 1, 1),
            'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
            'zonalShiftId': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • items (list) --

      The items in the response list.

      • (dict) --

        You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in a AWS Region. A zonal shift helps your application recover immediately, for example, from a developer's bad code deployment or from an AWS infrastructure failure in a single Availability Zone. You can start a zonal shift in Route 53 ARC only for managed resources in your account in an AWS Region. Supported AWS resources are automatically registered with Route 53 ARC.

        Zonal shifts are temporary. A zonal shift can be active for up to three days (72 hours).

        When you start a zonal shift, you specify how long you want it to be active, which Amazon Route 53 Application Recovery Controller converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can extend the zonal shift by updating the expiration so the zonal shift is active longer.

        • awayFrom (string) --

          The Availability Zone that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

        • comment (string) --

          A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. That is, a new comment overwrites any existing comment string.

        • expiryTime (datetime) --

          The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift. You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift to set a new expiration at any time.

          When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

        • resourceIdentifier (string) --

          The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

          At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

        • startTime (datetime) --

          The time (UTC) when the zonal shift is started.

        • status (string) --

          A status for a zonal shift.

          The Status for a zonal shift can have one of the following values:

          • ACTIVE: The zonal shift is started and active.
          • EXPIRED: The zonal shift has expired (the expiry time was exceeded).
          • CANCELED: The zonal shift was canceled.
        • zonalShiftId (string) --

          The identifier of a zonal shift.

    • NextToken (string) --

      A token to resume pagination.