ARCZonalShift ************* Client ====== class ARCZonalShift.Client A low-level client representing AWS ARC - Zonal Shift Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Application Recovery Controller (ARC). You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to help your application recover quickly from an impairment in an Availability Zone. For example, you can recover your application from a developer's bad code deployment or from an Amazon Web Services infrastructure failure in a single Availability Zone. You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift is a capability in ARC where you authorize Amazon Web Services to shift away application resource traffic from an Availability Zone during events, on your behalf, to help reduce your time to recovery. Amazon Web Services starts an autoshift when internal telemetry indicates that there is an Availability Zone impairment that could potentially impact customers. For more information about using zonal shift and zonal autoshift, see the Amazon Application Recovery Controller Developer Guide. import boto3 client = boto3.client('arc-zonal-shift') These are the available methods: * can_paginate * cancel_practice_run * cancel_zonal_shift * close * create_practice_run_configuration * delete_practice_run_configuration * get_autoshift_observer_notification_status * get_managed_resource * get_paginator * get_waiter * list_autoshifts * list_managed_resources * list_zonal_shifts * start_practice_run * start_zonal_shift * update_autoshift_observer_notification_status * update_practice_run_configuration * update_zonal_autoshift_configuration * update_zonal_shift Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListAutoshifts * ListManagedResources * ListZonalShifts ARCZonalShift / Paginator / ListZonalShifts ListZonalShifts *************** 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', resourceIdentifier='string', 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 has been started and is active. * **EXPIRED**: The zonal shift has expired (the expiry time was exceeded). * **CANCELED**: The zonal shift was canceled. * **resourceIdentifier** (*string*) -- The identifier for the resource that you want to list zonal shifts for. The identifier is the Amazon Resource Name (ARN) for the resource. * **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': [ { 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'EXPIRED'|'CANCELED', 'comment': 'string', 'shiftType': 'ZONAL_SHIFT'|'PRACTICE_RUN'|'FIS_EXPERIMENT'|'ZONAL_AUTOSHIFT', 'practiceRunOutcome': 'FAILED'|'INTERRUPTED'|'PENDING'|'SUCCEEDED'|'CAPACITY_CHECK_FAILED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the response list. * *(dict) --* Lists information about zonal shifts in Amazon Application Recovery Controller, including zonal shifts that you start yourself and zonal shifts that ARC starts on your behalf for practice runs with zonal autoshift. Zonal shifts are temporary, including customer- initiated zonal shifts and the zonal autoshift practice run zonal shifts that ARC starts weekly, on your behalf. A zonal shift that a customer starts can be active for up to three days (72 hours). A practice run zonal shift has a 30 minute duration. * **zonalShiftId** *(string) --* The identifier of a zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancers * Network Load Balancers * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiryTime** *(datetime) --* The expiry time (expiration time) for a customer- initiated 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 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **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 has been started and is active. * **EXPIRED:** The zonal shift has expired (the expiry time was exceeded). * **CANCELED:** The zonal shift was canceled. * **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. * **shiftType** *(string) --* Defines the zonal shift type. * **practiceRunOutcome** *(string) --* The outcome, or end state, of a practice run. The following values can be returned: * **PENDING:** Outcome value when the practice run is in progress. * **SUCCEEDED:** Outcome value when the outcome alarm specified for the practice run configuration does not go into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed. * **INTERRUPTED:** Outcome value when the practice run did not run for the expected 30 minutes or there was another problem with the practice run that created an inconclusive outcome. * **FAILED:** Outcome value when the outcome alarm specified for the practice run configuration goes into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed. * **CAPACITY_CHECK_FAILED:** The check for balanced capacity across Availability Zones for your load balancing and Auto Scaling group resources failed. For more information about practice run outcomes, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **NextToken** *(string) --* A token to resume pagination. ARCZonalShift / Paginator / ListAutoshifts ListAutoshifts ************** class ARCZonalShift.Paginator.ListAutoshifts paginator = client.get_paginator('list_autoshifts') paginate(**kwargs) Creates an iterator that will paginate through responses from "ARCZonalShift.Client.list_autoshifts()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( status='ACTIVE'|'COMPLETED', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **status** (*string*) -- The status of the autoshift. * **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', 'endTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'COMPLETED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the response list. * *(dict) --* Information about an autoshift. Amazon Web Services starts an autoshift to temporarily move traffic for a resource away from an Availability Zone in an Amazon Web Services Region when Amazon Web Services determines that there's an issue in the Availability Zone that could potentially affect customers. You can configure zonal autoshift in ARC for managed resources in your Amazon Web Services account in a Region. Supported Amazon Web Services resources are automatically registered with ARC. Autoshifts are temporary. When the Availability Zone recovers, Amazon Web Services ends the autoshift, and traffic for the resource is no longer directed to the other Availability Zones in the Region. You can stop an autoshift for a resource by disabling zonal autoshift. * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") that traffic is shifted away from for a resource when Amazon Web Services starts an autoshift. Until the autoshift ends, traffic for the resource is instead directed to other Availability Zones in the Amazon Web Services Region. An autoshift can end for a resource, for example, when Amazon Web Services ends the autoshift for the Availability Zone or when you disable zonal autoshift for the resource. * **endTime** *(datetime) --* The time (in UTC) when the autoshift ended. * **startTime** *(datetime) --* The time (in UTC) when the autoshift started. * **status** *(string) --* The status for an autoshift. * **NextToken** *(string) --* A token to resume pagination. ARCZonalShift / Paginator / ListManagedResources ListManagedResources ******************** 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', 'name': 'string', 'availabilityZones': [ 'string', ], 'appliedWeights': { 'string': ... }, 'zonalShifts': [ { 'appliedStatus': 'APPLIED'|'NOT_APPLIED', 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'comment': 'string', 'shiftType': 'ZONAL_SHIFT'|'PRACTICE_RUN'|'FIS_EXPERIMENT'|'ZONAL_AUTOSHIFT', 'practiceRunOutcome': 'FAILED'|'INTERRUPTED'|'PENDING'|'SUCCEEDED'|'CAPACITY_CHECK_FAILED' }, ], 'autoshifts': [ { 'appliedStatus': 'APPLIED'|'NOT_APPLIED', 'awayFrom': 'string', 'startTime': datetime(2015, 1, 1) }, ], 'zonalAutoshiftStatus': 'ENABLED'|'DISABLED', 'practiceRunStatus': 'ENABLED'|'DISABLED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the response list. * *(dict) --* A complex structure for a managed resource in an Amazon Web Services account with information about zonal shifts and autoshifts. You can start a zonal shift in ARC for a managed resource to temporarily move traffic for the resource away from an Availability Zone in an Amazon Web Services Region. You can also configure zonal autoshift for a managed resource. Note: At this time, managed resources are Amazon EC2 Auto Scaling groups, Amazon Elastic Kubernetes Service, Network Load Balancers, and Application Load Balancer. * **arn** *(string) --* The Amazon Resource Name (ARN) for the managed resource. * **name** *(string) --* The name of the managed resource. * **availabilityZones** *(list) --* The Availability Zones that a resource is deployed in. * *(string) --* * **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) --* * **zonalShifts** *(list) --* An array of the zonal shifts for a resource. * *(dict) --* A complex structure that lists the zonal shifts for a managed resource and their statuses for the resource. * **appliedStatus** *(string) --* The "appliedStatus" field specifies which application traffic shift is in effect for a resource when there is more than one active traffic shift. There can be more than one application traffic shift in progress at the same time - that is, practice run zonal shifts, customer-initiated zonal shifts, or an autoshift. The "appliedStatus" field for a shift that is in progress for a resource can have one of two values: "APPLIED" or "NOT_APPLIED". The zonal shift or autoshift that is currently in effect for the resource has an "appliedStatus" set to "APPLIED". The overall principle for precedence is that zonal shifts that you start as a customer take precedence autoshifts, which take precedence over practice runs. That is, customer-initiated zonal shifts > autoshifts > practice run zonal shifts. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **zonalShiftId** *(string) --* The identifier of a zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiryTime** *(datetime) --* The expiry time (expiration time) for a customer- initiated 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 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **comment** *(string) --* A comment that you enter for a customer-initiated zonal shift. Only the latest comment is retained; no comment history is maintained. That is, a new comment overwrites any existing comment string. * **shiftType** *(string) --* Defines the zonal shift type. * **practiceRunOutcome** *(string) --* The outcome, or end state, returned for a practice run. The following values can be returned: * **PENDING:** Outcome value when a practice run is in progress. * **SUCCEEDED:** Outcome value when the outcome alarm specified for the practice run configuration does not go into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed the expected 30 minute zonal shift. * **INTERRUPTED:** Outcome value when the practice run was stopped before the expected 30 minute zonal shift duration, or there was another problem with the practice run that created an inconclusive outcome. * **FAILED:** Outcome value when the outcome alarm specified for the practice run configuration goes into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed. * **CAPACITY_CHECK_FAILED:** The check for balanced capacity across Availability Zones for your load balancing and Auto Scaling group resources failed. For more information about practice run outcomes, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **autoshifts** *(list) --* An array of the autoshifts that have been completed for a resource. * *(dict) --* A complex structure that lists an autoshift that is currently active for a managed resource and information about the autoshift. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **appliedStatus** *(string) --* The "appliedStatus" field specifies which application traffic shift is in effect for a resource when there is more than one active traffic shift. There can be more than one application traffic shift in progress at the same time - that is, practice run zonal shifts, customer-initiated zonal shifts, or an autoshift. The "appliedStatus" field for a shift that is in progress for a resource can have one of two values: "APPLIED" or "NOT_APPLIED". The zonal shift or autoshift that is currently in effect for the resource has an "appliedStatus" set to "APPLIED". The overall principle for precedence is that zonal shifts that you start as a customer take precedence autoshifts, which take precedence over practice runs. That is, customer-initiated zonal shifts > autoshifts > practice run zonal shifts. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") that traffic is shifted away from for a resource, when Amazon Web Services starts an autoshift. Until the autoshift ends, traffic for the resource is instead directed to other Availability Zones in the Amazon Web Services Region. An autoshift can end for a resource, for example, when Amazon Web Services ends the autoshift for the Availability Zone or when you disable zonal autoshift for the resource. * **startTime** *(datetime) --* The time (UTC) when the autoshift started. * **zonalAutoshiftStatus** *(string) --* The status of autoshift for a resource. When you configure zonal autoshift for a resource, you can set the value of the status to "ENABLED" or "DISABLED". * **practiceRunStatus** *(string) --* This status tracks whether a practice run configuration exists for a resource. When you configure a practice run for a resource so that a practice run configuration exists, ARC sets this value to "ENABLED". If a you have not configured a practice run for the resource, or delete a practice run configuration, ARC sets the value to "DISABLED". ARC updates this status; you can't set a practice run status to "ENABLED" or "DISABLED". * **NextToken** *(string) --* A token to resume pagination. ARCZonalShift / Client / get_paginator get_paginator ************* ARCZonalShift.Client.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: "botocore.paginate.Paginator" Returns: A paginator object. ARCZonalShift / Client / can_paginate can_paginate ************ ARCZonalShift.Client.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. ARCZonalShift / Client / list_autoshifts list_autoshifts *************** ARCZonalShift.Client.list_autoshifts(**kwargs) Returns the autoshifts for an Amazon Web Services Region. By default, the call returns only "ACTIVE" autoshifts. Optionally, you can specify the "status" parameter to return "COMPLETED" autoshifts. See also: AWS API Documentation **Request Syntax** response = client.list_autoshifts( nextToken='string', status='ACTIVE'|'COMPLETED', maxResults=123 ) Parameters: * **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*) -- The status of the autoshift. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. Return type: dict Returns: **Response Syntax** { 'items': [ { 'awayFrom': 'string', 'endTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'COMPLETED' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the response list. * *(dict) --* Information about an autoshift. Amazon Web Services starts an autoshift to temporarily move traffic for a resource away from an Availability Zone in an Amazon Web Services Region when Amazon Web Services determines that there's an issue in the Availability Zone that could potentially affect customers. You can configure zonal autoshift in ARC for managed resources in your Amazon Web Services account in a Region. Supported Amazon Web Services resources are automatically registered with ARC. Autoshifts are temporary. When the Availability Zone recovers, Amazon Web Services ends the autoshift, and traffic for the resource is no longer directed to the other Availability Zones in the Region. You can stop an autoshift for a resource by disabling zonal autoshift. * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") that traffic is shifted away from for a resource when Amazon Web Services starts an autoshift. Until the autoshift ends, traffic for the resource is instead directed to other Availability Zones in the Amazon Web Services Region. An autoshift can end for a resource, for example, when Amazon Web Services ends the autoshift for the Availability Zone or when you disable zonal autoshift for the resource. * **endTime** *(datetime) --* The time (in UTC) when the autoshift ended. * **startTime** *(datetime) --* The time (in UTC) when the autoshift started. * **status** *(string) --* The status for an autoshift. * **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** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / delete_practice_run_configuration delete_practice_run_configuration ********************************* ARCZonalShift.Client.delete_practice_run_configuration(**kwargs) Deletes the practice run configuration for a resource. Before you can delete a practice run configuration for a resource., you must disable zonal autoshift for the resource. Practice runs must be configured for zonal autoshift to be enabled. See also: AWS API Documentation **Request Syntax** response = client.delete_practice_run_configuration( resourceIdentifier='string' ) Parameters: **resourceIdentifier** (*string*) -- **[REQUIRED]** The identifier for the resource that you want to delete the practice run configuration for. The identifier is the Amazon Resource Name (ARN) for the resource. Return type: dict Returns: **Response Syntax** { 'arn': 'string', 'name': 'string', 'zonalAutoshiftStatus': 'ENABLED'|'DISABLED' } **Response Structure** * *(dict) --* * **arn** *(string) --* The Amazon Resource Name (ARN) of the resource that you deleted the practice run for. * **name** *(string) --* The name of the resource that you deleted the practice run for. * **zonalAutoshiftStatus** *(string) --* The status of zonal autoshift for the resource. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / cancel_practice_run cancel_practice_run ******************* ARCZonalShift.Client.cancel_practice_run(**kwargs) Cancel an in-progress practice run zonal shift in Amazon Application Recovery Controller. See also: AWS API Documentation **Request Syntax** response = client.cancel_practice_run( zonalShiftId='string' ) Parameters: **zonalShiftId** (*string*) -- **[REQUIRED]** The identifier of a practice run zonal shift in Amazon Application Recovery Controller that you want to cancel. Return type: dict Returns: **Response Syntax** { 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'EXPIRED'|'CANCELED', 'comment': 'string' } **Response Structure** * *(dict) --* * **zonalShiftId** *(string) --* The identifier of the practice run zonal shift in Amazon Application Recovery Controller that was canceled. * **resourceIdentifier** *(string) --* The identifier for the resource that you canceled a practice run zonal shift for. The identifier is the Amazon Resource Name (ARN) for the resource. * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") that traffic was moved away from for a resource that you specified for the practice run. * **expiryTime** *(datetime) --* The expiry time (expiration time) for an on-demand practice run zonal shift is 30 minutes from the time when you start the practice run, unless you cancel it before that time. However, be aware that the "expiryTime" field for practice run zonal shifts always has a value of 1 minute. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **status** *(string) --* A status for the practice run that you canceled (expected status is **CANCELED**). The "Status" for a practice run zonal shift can have one of the following values: * **comment** *(string) --* The initial comment that you entered about the practice run. Be aware that this comment can be overwritten by Amazon Web Services if the automatic check for balanced capacity fails. For more information, see Capacity checks for practice runs in the Amazon Application Recovery Controller Developer Guide. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / start_zonal_shift start_zonal_shift ***************** ARCZonalShift.Client.start_zonal_shift(**kwargs) You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in an Amazon Web Services Region, to help your application recover immediately, for example, from a developer's bad code deployment or from an Amazon Web Services infrastructure failure in a single Availability Zone. You can start a zonal shift in ARC only for managed resources in your Amazon Web Services account in an Amazon Web Services Region. Resources are automatically registered with ARC by Amazon Web Services services. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer 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 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 Application Recovery Controller Developer Guide. See also: AWS API Documentation **Request Syntax** response = client.start_zonal_shift( resourceIdentifier='string', awayFrom='string', expiresIn='string', comment='string' ) Parameters: * **resourceIdentifier** (*string*) -- **[REQUIRED]** The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer * **awayFrom** (*string*) -- **[REQUIRED]** The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiresIn** (*string*) -- **[REQUIRED]** The length of time that you want a zonal shift to be active, which 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). * **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. Return type: dict Returns: **Response Syntax** { 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'EXPIRED'|'CANCELED', 'comment': 'string' } **Response Structure** * *(dict) --* * **zonalShiftId** *(string) --* The identifier of a zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiryTime** *(datetime) --* The expiry time (expiration time) for a customer-initiated 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 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **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 has been started and is active. * **EXPIRED:** The zonal shift has expired (the expiry time was exceeded). * **CANCELED:** The zonal shift was canceled. * **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. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / update_practice_run_configuration update_practice_run_configuration ********************************* ARCZonalShift.Client.update_practice_run_configuration(**kwargs) Update a practice run configuration to change one or more of the following: add, change, or remove the blocking alarm; change the outcome alarm; or add, change, or remove blocking dates or time windows. See also: AWS API Documentation **Request Syntax** response = client.update_practice_run_configuration( resourceIdentifier='string', blockedWindows=[ 'string', ], blockedDates=[ 'string', ], blockingAlarms=[ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ], outcomeAlarms=[ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ] ) Parameters: * **resourceIdentifier** (*string*) -- **[REQUIRED]** The identifier for the resource that you want to update the practice run configuration for. The identifier is the Amazon Resource Name (ARN) for the resource. * **blockedWindows** (*list*) -- Add, change, or remove windows of days and times for when you can, optionally, block ARC from starting a practice run for a resource. The format for blocked windows is: DAY:HH:SS-DAY:HH:SS. Keep in mind, when you specify dates, that dates and times for practice runs are in UTC. Also, be aware of potential time adjustments that might be required for daylight saving time differences. Separate multiple blocked windows with spaces. For example, say you run business report summaries three days a week. For this scenario, you might set the following recurring days and times as blocked windows, for example: "MON-20:30-21:30 WED-20:30-21:30 FRI-20:30-21:30". * *(string) --* * **blockedDates** (*list*) -- Add, change, or remove blocked dates for a practice run in zonal autoshift. Optionally, you can block practice runs for specific calendar dates. The format for blocked dates is: YYYY-MM-DD. Keep in mind, when you specify dates, that dates and times for practice runs are in UTC. Separate multiple blocked dates with spaces. For example, if you have an application update scheduled to launch on May 1, 2024, and you don't want practice runs to shift traffic away at that time, you could set a blocked date for "2024-05-01". * *(string) --* * **blockingAlarms** (*list*) -- Add, change, or remove the Amazon CloudWatch alarm that you optionally specify as the blocking alarm for practice runs. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* **[REQUIRED]** The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. * **outcomeAlarms** (*list*) -- Specify a new the Amazon CloudWatch alarm as the outcome alarm for practice runs. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* **[REQUIRED]** The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. Return type: dict Returns: **Response Syntax** { 'arn': 'string', 'name': 'string', 'zonalAutoshiftStatus': 'ENABLED'|'DISABLED', 'practiceRunConfiguration': { 'blockingAlarms': [ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ], 'outcomeAlarms': [ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ], 'blockedWindows': [ 'string', ], 'blockedDates': [ 'string', ] } } **Response Structure** * *(dict) --* * **arn** *(string) --* The Amazon Resource Name (ARN) of the resource that you updated the practice run for. * **name** *(string) --* The name of the resource that you updated the practice run for. * **zonalAutoshiftStatus** *(string) --* The zonal autoshift status for the resource that you updated the practice run for. * **practiceRunConfiguration** *(dict) --* The practice run configuration that was updated. * **blockingAlarms** *(list) --* The *blocking alarm* for practice runs is an optional alarm that you can specify that blocks practice runs when the alarm is in an "ALARM" state. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. * **outcomeAlarms** *(list) --* The *outcome alarm* for practice runs is an alarm that you specify that ends a practice run when the alarm is in an "ALARM" state. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. * **blockedWindows** *(list) --* An array of one or more windows of days and times that you can block ARC from starting practice runs for a resource. Specify the blocked windows in UTC, using the format "DAY:HH:MM-DAY:HH:MM", separated by spaces. For example, "MON:18:30-MON:19:30 TUE:18:30-TUE:19:30". * *(string) --* * **blockedDates** *(list) --* An array of one or more dates that you can specify when Amazon Web Services does not start practice runs for a resource. Specify blocked dates, in UTC, in the format "YYYY-MM-DD", separated by spaces. * *(string) --* **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / list_zonal_shifts list_zonal_shifts ***************** ARCZonalShift.Client.list_zonal_shifts(**kwargs) Lists all active and completed zonal shifts in Amazon Application Recovery Controller in your Amazon Web Services account in this Amazon Web Services Region. "ListZonalShifts" returns customer- initiated zonal shifts, as well as practice run zonal shifts that ARC started on your behalf for zonal autoshift. For more information about listing autoshifts, see ">ListAutoshifts. See also: AWS API Documentation **Request Syntax** response = client.list_zonal_shifts( nextToken='string', status='ACTIVE'|'EXPIRED'|'CANCELED', maxResults=123, resourceIdentifier='string' ) Parameters: * **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 has been started and is active. * **EXPIRED**: The zonal shift has expired (the expiry time was exceeded). * **CANCELED**: The zonal shift was canceled. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **resourceIdentifier** (*string*) -- The identifier for the resource that you want to list zonal shifts for. The identifier is the Amazon Resource Name (ARN) for the resource. Return type: dict Returns: **Response Syntax** { 'items': [ { 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'EXPIRED'|'CANCELED', 'comment': 'string', 'shiftType': 'ZONAL_SHIFT'|'PRACTICE_RUN'|'FIS_EXPERIMENT'|'ZONAL_AUTOSHIFT', 'practiceRunOutcome': 'FAILED'|'INTERRUPTED'|'PENDING'|'SUCCEEDED'|'CAPACITY_CHECK_FAILED' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the response list. * *(dict) --* Lists information about zonal shifts in Amazon Application Recovery Controller, including zonal shifts that you start yourself and zonal shifts that ARC starts on your behalf for practice runs with zonal autoshift. Zonal shifts are temporary, including customer-initiated zonal shifts and the zonal autoshift practice run zonal shifts that ARC starts weekly, on your behalf. A zonal shift that a customer starts can be active for up to three days (72 hours). A practice run zonal shift has a 30 minute duration. * **zonalShiftId** *(string) --* The identifier of a zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancers * Network Load Balancers * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiryTime** *(datetime) --* The expiry time (expiration time) for a customer- initiated 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 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **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 has been started and is active. * **EXPIRED:** The zonal shift has expired (the expiry time was exceeded). * **CANCELED:** The zonal shift was canceled. * **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. * **shiftType** *(string) --* Defines the zonal shift type. * **practiceRunOutcome** *(string) --* The outcome, or end state, of a practice run. The following values can be returned: * **PENDING:** Outcome value when the practice run is in progress. * **SUCCEEDED:** Outcome value when the outcome alarm specified for the practice run configuration does not go into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed. * **INTERRUPTED:** Outcome value when the practice run did not run for the expected 30 minutes or there was another problem with the practice run that created an inconclusive outcome. * **FAILED:** Outcome value when the outcome alarm specified for the practice run configuration goes into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed. * **CAPACITY_CHECK_FAILED:** The check for balanced capacity across Availability Zones for your load balancing and Auto Scaling group resources failed. For more information about practice run outcomes, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **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** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / get_managed_resource get_managed_resource ******************** ARCZonalShift.Client.get_managed_resource(**kwargs) Get information about a resource that's been registered for zonal shifts with Amazon Application Recovery Controller in this Amazon Web Services Region. Resources that are registered for zonal shifts are managed resources in ARC. You can start zonal shifts and configure zonal autoshift for managed resources. See also: AWS API Documentation **Request Syntax** response = client.get_managed_resource( resourceIdentifier='string' ) Parameters: **resourceIdentifier** (*string*) -- **[REQUIRED]** The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer Return type: dict Returns: **Response Syntax** { 'arn': 'string', 'name': 'string', 'appliedWeights': { 'string': ... }, 'zonalShifts': [ { 'appliedStatus': 'APPLIED'|'NOT_APPLIED', 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'comment': 'string', 'shiftType': 'ZONAL_SHIFT'|'PRACTICE_RUN'|'FIS_EXPERIMENT'|'ZONAL_AUTOSHIFT', 'practiceRunOutcome': 'FAILED'|'INTERRUPTED'|'PENDING'|'SUCCEEDED'|'CAPACITY_CHECK_FAILED' }, ], 'autoshifts': [ { 'appliedStatus': 'APPLIED'|'NOT_APPLIED', 'awayFrom': 'string', 'startTime': datetime(2015, 1, 1) }, ], 'practiceRunConfiguration': { 'blockingAlarms': [ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ], 'outcomeAlarms': [ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ], 'blockedWindows': [ 'string', ], 'blockedDates': [ 'string', ] }, 'zonalAutoshiftStatus': 'ENABLED'|'DISABLED' } **Response Structure** * *(dict) --* * **arn** *(string) --* The Amazon Resource Name (ARN) for the resource. * **name** *(string) --* The name of the resource. * **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) --* * **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) --* The "appliedStatus" field specifies which application traffic shift is in effect for a resource when there is more than one active traffic shift. There can be more than one application traffic shift in progress at the same time - that is, practice run zonal shifts, customer-initiated zonal shifts, or an autoshift. The "appliedStatus" field for a shift that is in progress for a resource can have one of two values: "APPLIED" or "NOT_APPLIED". The zonal shift or autoshift that is currently in effect for the resource has an "appliedStatus" set to "APPLIED". The overall principle for precedence is that zonal shifts that you start as a customer take precedence autoshifts, which take precedence over practice runs. That is, customer-initiated zonal shifts > autoshifts > practice run zonal shifts. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **zonalShiftId** *(string) --* The identifier of a zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiryTime** *(datetime) --* The expiry time (expiration time) for a customer- initiated 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 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **comment** *(string) --* A comment that you enter for a customer-initiated zonal shift. Only the latest comment is retained; no comment history is maintained. That is, a new comment overwrites any existing comment string. * **shiftType** *(string) --* Defines the zonal shift type. * **practiceRunOutcome** *(string) --* The outcome, or end state, returned for a practice run. The following values can be returned: * **PENDING:** Outcome value when a practice run is in progress. * **SUCCEEDED:** Outcome value when the outcome alarm specified for the practice run configuration does not go into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed the expected 30 minute zonal shift. * **INTERRUPTED:** Outcome value when the practice run was stopped before the expected 30 minute zonal shift duration, or there was another problem with the practice run that created an inconclusive outcome. * **FAILED:** Outcome value when the outcome alarm specified for the practice run configuration goes into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed. * **CAPACITY_CHECK_FAILED:** The check for balanced capacity across Availability Zones for your load balancing and Auto Scaling group resources failed. For more information about practice run outcomes, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **autoshifts** *(list) --* An array of the autoshifts that are active for the resource. * *(dict) --* A complex structure that lists an autoshift that is currently active for a managed resource and information about the autoshift. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **appliedStatus** *(string) --* The "appliedStatus" field specifies which application traffic shift is in effect for a resource when there is more than one active traffic shift. There can be more than one application traffic shift in progress at the same time - that is, practice run zonal shifts, customer-initiated zonal shifts, or an autoshift. The "appliedStatus" field for a shift that is in progress for a resource can have one of two values: "APPLIED" or "NOT_APPLIED". The zonal shift or autoshift that is currently in effect for the resource has an "appliedStatus" set to "APPLIED". The overall principle for precedence is that zonal shifts that you start as a customer take precedence autoshifts, which take precedence over practice runs. That is, customer-initiated zonal shifts > autoshifts > practice run zonal shifts. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") that traffic is shifted away from for a resource, when Amazon Web Services starts an autoshift. Until the autoshift ends, traffic for the resource is instead directed to other Availability Zones in the Amazon Web Services Region. An autoshift can end for a resource, for example, when Amazon Web Services ends the autoshift for the Availability Zone or when you disable zonal autoshift for the resource. * **startTime** *(datetime) --* The time (UTC) when the autoshift started. * **practiceRunConfiguration** *(dict) --* The practice run configuration for zonal autoshift that's associated with the resource. * **blockingAlarms** *(list) --* The *blocking alarm* for practice runs is an optional alarm that you can specify that blocks practice runs when the alarm is in an "ALARM" state. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. * **outcomeAlarms** *(list) --* The *outcome alarm* for practice runs is an alarm that you specify that ends a practice run when the alarm is in an "ALARM" state. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. * **blockedWindows** *(list) --* An array of one or more windows of days and times that you can block ARC from starting practice runs for a resource. Specify the blocked windows in UTC, using the format "DAY:HH:MM-DAY:HH:MM", separated by spaces. For example, "MON:18:30-MON:19:30 TUE:18:30-TUE:19:30". * *(string) --* * **blockedDates** *(list) --* An array of one or more dates that you can specify when Amazon Web Services does not start practice runs for a resource. Specify blocked dates, in UTC, in the format "YYYY-MM-DD", separated by spaces. * *(string) --* * **zonalAutoshiftStatus** *(string) --* The status for zonal autoshift for a resource. When the autoshift status is "ENABLED", Amazon Web Services shifts traffic for a resource away from an Availability Zone, on your behalf, when Amazon Web Services determines that there's an issue in the Availability Zone that could potentially affect customers. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / get_autoshift_observer_notification_status get_autoshift_observer_notification_status ****************************************** ARCZonalShift.Client.get_autoshift_observer_notification_status() Returns the status of the autoshift observer notification. Autoshift observer notifications notify you through Amazon EventBridge when there is an autoshift event for zonal autoshift. The status can be "ENABLED" or "DISABLED". When "ENABLED", a notification is sent when an autoshift is triggered. When "DISABLED", notifications are not sent. See also: AWS API Documentation **Request Syntax** response = client.get_autoshift_observer_notification_status() Return type: dict Returns: **Response Syntax** { 'status': 'ENABLED'|'DISABLED' } **Response Structure** * *(dict) --* * **status** *(string) --* The status of autoshift observer notification. If the status is "ENABLED", ARC includes all autoshift events when you use the Amazon EventBridge pattern "Autoshift In Progress". When the status is "DISABLED", ARC includes only autoshift events for autoshifts when one or more of your resources is included in the autoshift. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" ARCZonalShift / Client / get_waiter get_waiter ********** ARCZonalShift.Client.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" ARCZonalShift / Client / create_practice_run_configuration create_practice_run_configuration ********************************* ARCZonalShift.Client.create_practice_run_configuration(**kwargs) A practice run configuration for zonal autoshift is required when you enable zonal autoshift. A practice run configuration includes specifications for blocked dates and blocked time windows, and for Amazon CloudWatch alarms that you create to use with practice runs. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting. When a resource has a practice run configuration, ARC starts zonal shifts for the resource weekly, to shift traffic for practice runs. Practice runs help you to ensure that shifting away traffic from an Availability Zone during an autoshift is safe for your application. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. See also: AWS API Documentation **Request Syntax** response = client.create_practice_run_configuration( resourceIdentifier='string', blockedWindows=[ 'string', ], blockedDates=[ 'string', ], blockingAlarms=[ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ], outcomeAlarms=[ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ] ) Parameters: * **resourceIdentifier** (*string*) -- **[REQUIRED]** The identifier of the resource that Amazon Web Services shifts traffic for with a practice run zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer * **blockedWindows** (*list*) -- Optionally, you can block ARC from starting practice runs for specific windows of days and times. The format for blocked windows is: DAY:HH:SS-DAY:HH:SS. Keep in mind, when you specify dates, that dates and times for practice runs are in UTC. Also, be aware of potential time adjustments that might be required for daylight saving time differences. Separate multiple blocked windows with spaces. For example, say you run business report summaries three days a week. For this scenario, you might set the following recurring days and times as blocked windows, for example: "MON-20:30-21:30 WED-20:30-21:30 FRI-20:30-21:30". * *(string) --* * **blockedDates** (*list*) -- Optionally, you can block ARC from starting practice runs for a resource on specific calendar dates. The format for blocked dates is: YYYY-MM-DD. Keep in mind, when you specify dates, that dates and times for practice runs are in UTC. Separate multiple blocked dates with spaces. For example, if you have an application update scheduled to launch on May 1, 2024, and you don't want practice runs to shift traffic away at that time, you could set a blocked date for "2024-05-01". * *(string) --* * **blockingAlarms** (*list*) -- An Amazon CloudWatch alarm that you can specify for zonal autoshift practice runs. This alarm blocks ARC from starting practice run zonal shifts, and ends a practice run that's in progress, when the alarm is in an "ALARM" state. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* **[REQUIRED]** The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. * **outcomeAlarms** (*list*) -- **[REQUIRED]** The *outcome alarm* for practice runs is a required Amazon CloudWatch alarm that you specify that ends a practice run when the alarm is in an "ALARM" state. Configure the alarm to monitor the health of your application when traffic is shifted away from an Availability Zone during each practice run. You should configure the alarm to go into an "ALARM" state if your application is impacted by the zonal shift, and you want to stop the zonal shift, to let traffic for the resource return to the Availability Zone. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* **[REQUIRED]** The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. Return type: dict Returns: **Response Syntax** { 'arn': 'string', 'name': 'string', 'zonalAutoshiftStatus': 'ENABLED'|'DISABLED', 'practiceRunConfiguration': { 'blockingAlarms': [ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ], 'outcomeAlarms': [ { 'type': 'CLOUDWATCH', 'alarmIdentifier': 'string' }, ], 'blockedWindows': [ 'string', ], 'blockedDates': [ 'string', ] } } **Response Structure** * *(dict) --* * **arn** *(string) --* The Amazon Resource Name (ARN) of the resource that you configured the practice run for. * **name** *(string) --* The name of the resource that you configured the practice run for. * **zonalAutoshiftStatus** *(string) --* The status for zonal autoshift for a resource. When you specify "ENABLED" for the autoshift status, Amazon Web Services shifts traffic away from shifts away application resource traffic from an Availability Zone, on your behalf, when internal telemetry indicates that there is an Availability Zone impairment that could potentially impact customers. When you enable zonal autoshift, you must also configure practice runs for the resource. * **practiceRunConfiguration** *(dict) --* A practice run configuration for a resource. Configurations include the outcome alarm that you specify for practice runs, and, optionally, a blocking alarm and blocking dates and windows. * **blockingAlarms** *(list) --* The *blocking alarm* for practice runs is an optional alarm that you can specify that blocks practice runs when the alarm is in an "ALARM" state. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. * **outcomeAlarms** *(list) --* The *outcome alarm* for practice runs is an alarm that you specify that ends a practice run when the alarm is in an "ALARM" state. * *(dict) --* A control condition is an alarm that you specify for a practice run. When you configure practice runs with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch to use with the practice run. The alarms that you specify are an *outcome alarm*, to monitor application health during practice runs and, optionally, a *blocking alarm*, to block practice runs from starting or to interrupt a practice run in progress. Control condition alarms do not apply for autoshifts. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **type** *(string) --* The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is "CLOUDWATCH". * **alarmIdentifier** *(string) --* The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. * **blockedWindows** *(list) --* An array of one or more windows of days and times that you can block ARC from starting practice runs for a resource. Specify the blocked windows in UTC, using the format "DAY:HH:MM-DAY:HH:MM", separated by spaces. For example, "MON:18:30-MON:19:30 TUE:18:30-TUE:19:30". * *(string) --* * **blockedDates** *(list) --* An array of one or more dates that you can specify when Amazon Web Services does not start practice runs for a resource. Specify blocked dates, in UTC, in the format "YYYY-MM-DD", separated by spaces. * *(string) --* **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / update_zonal_autoshift_configuration update_zonal_autoshift_configuration ************************************ ARCZonalShift.Client.update_zonal_autoshift_configuration(**kwargs) The zonal autoshift configuration for a resource includes the practice run configuration and the status for running autoshifts, zonal autoshift status. When a resource has a practice run configuation, ARC starts weekly zonal shifts for the resource, to shift traffic away from an Availability Zone. Weekly practice runs help you to make sure that your application can continue to operate normally with the loss of one Availability Zone. You can update the zonal autoshift autoshift status to enable or disable zonal autoshift. When zonal autoshift is "ENABLED", you authorize Amazon Web Services to shift away resource traffic for an application from an Availability Zone during events, on your behalf, to help reduce time to recovery. Traffic is also shifted away for the required weekly practice runs. See also: AWS API Documentation **Request Syntax** response = client.update_zonal_autoshift_configuration( resourceIdentifier='string', zonalAutoshiftStatus='ENABLED'|'DISABLED' ) Parameters: * **resourceIdentifier** (*string*) -- **[REQUIRED]** The identifier for the resource that you want to update the zonal autoshift configuration for. The identifier is the Amazon Resource Name (ARN) for the resource. * **zonalAutoshiftStatus** (*string*) -- **[REQUIRED]** The zonal autoshift status for the resource that you want to update the zonal autoshift configuration for. Choose "ENABLED" to authorize Amazon Web Services to shift away resource traffic for an application from an Availability Zone during events, on your behalf, to help reduce time to recovery. Return type: dict Returns: **Response Syntax** { 'resourceIdentifier': 'string', 'zonalAutoshiftStatus': 'ENABLED'|'DISABLED' } **Response Structure** * *(dict) --* * **resourceIdentifier** *(string) --* The identifier for the resource that you updated the zonal autoshift configuration for. The identifier is the Amazon Resource Name (ARN) for the resource. * **zonalAutoshiftStatus** *(string) --* The updated zonal autoshift status for the resource. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / cancel_zonal_shift cancel_zonal_shift ****************** ARCZonalShift.Client.cancel_zonal_shift(**kwargs) Cancel a zonal shift in Amazon Application Recovery Controller. To cancel the zonal shift, specify the zonal shift ID. A zonal shift can be one that you've started for a resource in your Amazon Web Services account in an Amazon Web Services Region, or it can be a zonal shift started by a practice run with zonal autoshift. 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** { 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'EXPIRED'|'CANCELED', 'comment': 'string' } **Response Structure** * *(dict) --* * **zonalShiftId** *(string) --* The identifier of a zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiryTime** *(datetime) --* The expiry time (expiration time) for a customer-initiated 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 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **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 has been started and is active. * **EXPIRED:** The zonal shift has expired (the expiry time was exceeded). * **CANCELED:** The zonal shift was canceled. * **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. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / close close ***** ARCZonalShift.Client.close() Closes underlying endpoint connections. ARCZonalShift / Client / list_managed_resources list_managed_resources ********************** ARCZonalShift.Client.list_managed_resources(**kwargs) Lists all the resources in your Amazon Web Services account in this Amazon Web Services Region that are managed for zonal shifts in Amazon Application Recovery Controller, and information about them. The information includes the zonal autoshift status for the resource, as well as the Amazon Resource Name (ARN), the Availability Zones that each resource is deployed in, and the resource name. See also: AWS API Documentation **Request Syntax** response = client.list_managed_resources( nextToken='string', maxResults=123 ) Parameters: * **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. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. Return type: dict Returns: **Response Syntax** { 'items': [ { 'arn': 'string', 'name': 'string', 'availabilityZones': [ 'string', ], 'appliedWeights': { 'string': ... }, 'zonalShifts': [ { 'appliedStatus': 'APPLIED'|'NOT_APPLIED', 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'comment': 'string', 'shiftType': 'ZONAL_SHIFT'|'PRACTICE_RUN'|'FIS_EXPERIMENT'|'ZONAL_AUTOSHIFT', 'practiceRunOutcome': 'FAILED'|'INTERRUPTED'|'PENDING'|'SUCCEEDED'|'CAPACITY_CHECK_FAILED' }, ], 'autoshifts': [ { 'appliedStatus': 'APPLIED'|'NOT_APPLIED', 'awayFrom': 'string', 'startTime': datetime(2015, 1, 1) }, ], 'zonalAutoshiftStatus': 'ENABLED'|'DISABLED', 'practiceRunStatus': 'ENABLED'|'DISABLED' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the response list. * *(dict) --* A complex structure for a managed resource in an Amazon Web Services account with information about zonal shifts and autoshifts. You can start a zonal shift in ARC for a managed resource to temporarily move traffic for the resource away from an Availability Zone in an Amazon Web Services Region. You can also configure zonal autoshift for a managed resource. Note: At this time, managed resources are Amazon EC2 Auto Scaling groups, Amazon Elastic Kubernetes Service, Network Load Balancers, and Application Load Balancer. * **arn** *(string) --* The Amazon Resource Name (ARN) for the managed resource. * **name** *(string) --* The name of the managed resource. * **availabilityZones** *(list) --* The Availability Zones that a resource is deployed in. * *(string) --* * **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) --* * **zonalShifts** *(list) --* An array of the zonal shifts for a resource. * *(dict) --* A complex structure that lists the zonal shifts for a managed resource and their statuses for the resource. * **appliedStatus** *(string) --* The "appliedStatus" field specifies which application traffic shift is in effect for a resource when there is more than one active traffic shift. There can be more than one application traffic shift in progress at the same time - that is, practice run zonal shifts, customer-initiated zonal shifts, or an autoshift. The "appliedStatus" field for a shift that is in progress for a resource can have one of two values: "APPLIED" or "NOT_APPLIED". The zonal shift or autoshift that is currently in effect for the resource has an "appliedStatus" set to "APPLIED". The overall principle for precedence is that zonal shifts that you start as a customer take precedence autoshifts, which take precedence over practice runs. That is, customer-initiated zonal shifts > autoshifts > practice run zonal shifts. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **zonalShiftId** *(string) --* The identifier of a zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiryTime** *(datetime) --* The expiry time (expiration time) for a customer- initiated 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 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **comment** *(string) --* A comment that you enter for a customer-initiated zonal shift. Only the latest comment is retained; no comment history is maintained. That is, a new comment overwrites any existing comment string. * **shiftType** *(string) --* Defines the zonal shift type. * **practiceRunOutcome** *(string) --* The outcome, or end state, returned for a practice run. The following values can be returned: * **PENDING:** Outcome value when a practice run is in progress. * **SUCCEEDED:** Outcome value when the outcome alarm specified for the practice run configuration does not go into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed the expected 30 minute zonal shift. * **INTERRUPTED:** Outcome value when the practice run was stopped before the expected 30 minute zonal shift duration, or there was another problem with the practice run that created an inconclusive outcome. * **FAILED:** Outcome value when the outcome alarm specified for the practice run configuration goes into an "ALARM" state during the practice run, and the practice run was not interrupted before it completed. * **CAPACITY_CHECK_FAILED:** The check for balanced capacity across Availability Zones for your load balancing and Auto Scaling group resources failed. For more information about practice run outcomes, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. * **autoshifts** *(list) --* An array of the autoshifts that have been completed for a resource. * *(dict) --* A complex structure that lists an autoshift that is currently active for a managed resource and information about the autoshift. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **appliedStatus** *(string) --* The "appliedStatus" field specifies which application traffic shift is in effect for a resource when there is more than one active traffic shift. There can be more than one application traffic shift in progress at the same time - that is, practice run zonal shifts, customer-initiated zonal shifts, or an autoshift. The "appliedStatus" field for a shift that is in progress for a resource can have one of two values: "APPLIED" or "NOT_APPLIED". The zonal shift or autoshift that is currently in effect for the resource has an "appliedStatus" set to "APPLIED". The overall principle for precedence is that zonal shifts that you start as a customer take precedence autoshifts, which take precedence over practice runs. That is, customer-initiated zonal shifts > autoshifts > practice run zonal shifts. For more information, see How zonal autoshift and practice runs work in the Amazon Application Recovery Controller Developer Guide. * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") that traffic is shifted away from for a resource, when Amazon Web Services starts an autoshift. Until the autoshift ends, traffic for the resource is instead directed to other Availability Zones in the Amazon Web Services Region. An autoshift can end for a resource, for example, when Amazon Web Services ends the autoshift for the Availability Zone or when you disable zonal autoshift for the resource. * **startTime** *(datetime) --* The time (UTC) when the autoshift started. * **zonalAutoshiftStatus** *(string) --* The status of autoshift for a resource. When you configure zonal autoshift for a resource, you can set the value of the status to "ENABLED" or "DISABLED". * **practiceRunStatus** *(string) --* This status tracks whether a practice run configuration exists for a resource. When you configure a practice run for a resource so that a practice run configuration exists, ARC sets this value to "ENABLED". If a you have not configured a practice run for the resource, or delete a practice run configuration, ARC sets the value to "DISABLED". ARC updates this status; you can't set a practice run status to "ENABLED" or "DISABLED". * **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** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / start_practice_run start_practice_run ****************** ARCZonalShift.Client.start_practice_run(**kwargs) Start an on-demand practice run zonal shift in Amazon Application Recovery Controller. With zonal autoshift enabled, you can start an on-demand practice run to verify preparedness at any time. Amazon Web Services also runs automated practice runs about weekly when you have enabled zonal autoshift. For more information, see Considerations when you configure zonal autoshift in the Amazon Application Recovery Controller Developer Guide. See also: AWS API Documentation **Request Syntax** response = client.start_practice_run( resourceIdentifier='string', awayFrom='string', comment='string' ) Parameters: * **resourceIdentifier** (*string*) -- **[REQUIRED]** The identifier for the resource that you want to start a practice run zonal shift for. The identifier is the Amazon Resource Name (ARN) for the resource. * **awayFrom** (*string*) -- **[REQUIRED]** The Availability Zone (for example, "use1-az1") that traffic is shifted away from for the resource that you specify for the practice run. * **comment** (*string*) -- **[REQUIRED]** The initial comment that you enter about the practice run. Be aware that this comment can be overwritten by Amazon Web Services if the automatic check for balanced capacity fails. For more information, see Capacity checks for practice runs in the Amazon Application Recovery Controller Developer Guide. Return type: dict Returns: **Response Syntax** { 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'EXPIRED'|'CANCELED', 'comment': 'string' } **Response Structure** * *(dict) --* * **zonalShiftId** *(string) --* The identifier of a practice run zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource that you want to shift traffic for. The identifier is the Amazon Resource Name (ARN) for the resource. * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") that traffic is shifted away from for the resource that you specify for the practice run. * **expiryTime** *(datetime) --* The expiry time (expiration time) for an on-demand practice run zonal shift is 30 minutes from the time when you start the practice run, unless you cancel it before that time. However, be aware that the "expiryTime" field for practice run zonal shifts always has a value of 1 minute. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **status** *(string) --* A status for the practice run (expected status is **ACTIVE**). * **comment** *(string) --* The initial comment that you enter about the practice run. Be aware that this comment can be overwritten by Amazon Web Services if the automatic check for balanced capacity fails. For more information, see Capacity checks for practice runs in the Amazon Application Recovery Controller Developer Guide. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / update_autoshift_observer_notification_status update_autoshift_observer_notification_status ********************************************* ARCZonalShift.Client.update_autoshift_observer_notification_status(**kwargs) Update the status of autoshift observer notification. Autoshift observer notification enables you to be notified, through Amazon EventBridge, when there is an autoshift event for zonal autoshift. If the status is "ENABLED", ARC includes all autoshift events when you use the EventBridge pattern "Autoshift In Progress". When the status is "DISABLED", ARC includes only autoshift events for autoshifts when one or more of your resources is included in the autoshift. For more information, see Notifications for practice runs and autoshifts in the Amazon Application Recovery Controller Developer Guide. See also: AWS API Documentation **Request Syntax** response = client.update_autoshift_observer_notification_status( status='ENABLED'|'DISABLED' ) Parameters: **status** (*string*) -- **[REQUIRED]** The status to set for autoshift observer notification. If the status is "ENABLED", ARC includes all autoshift events when you use the Amazon EventBridge pattern "Autoshift In Progress". When the status is "DISABLED", ARC includes only autoshift events for autoshifts when one or more of your resources is included in the autoshift. Return type: dict Returns: **Response Syntax** { 'status': 'ENABLED'|'DISABLED' } **Response Structure** * *(dict) --* * **status** *(string) --* The status for autoshift observer notification. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException" ARCZonalShift / Client / update_zonal_shift update_zonal_shift ****************** ARCZonalShift.Client.update_zonal_shift(**kwargs) Update an active zonal shift in Amazon Application Recovery Controller in your Amazon Web Services 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( zonalShiftId='string', comment='string', expiresIn='string' ) Parameters: * **zonalShiftId** (*string*) -- **[REQUIRED]** The identifier of a zonal shift. * **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 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). Return type: dict Returns: **Response Syntax** { 'zonalShiftId': 'string', 'resourceIdentifier': 'string', 'awayFrom': 'string', 'expiryTime': datetime(2015, 1, 1), 'startTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'EXPIRED'|'CANCELED', 'comment': 'string' } **Response Structure** * *(dict) --* * **zonalShiftId** *(string) --* The identifier of a zonal shift. * **resourceIdentifier** *(string) --* The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift: * Amazon EC2 Auto Scaling groups * Amazon Elastic Kubernetes Service * Application Load Balancer * Network Load Balancer * **awayFrom** *(string) --* The Availability Zone (for example, "use1-az1") 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 Amazon Web Services Region. * **expiryTime** *(datetime) --* The expiry time (expiration time) for a customer-initiated 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 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in. * **startTime** *(datetime) --* The time (UTC) when the zonal shift starts. * **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 has been started and is active. * **EXPIRED:** The zonal shift has expired (the expiry time was exceeded). * **CANCELED:** The zonal shift was canceled. * **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. **Exceptions** * "ARCZonalShift.Client.exceptions.InternalServerException" * "ARCZonalShift.Client.exceptions.ConflictException" * "ARCZonalShift.Client.exceptions.ResourceNotFoundException" * "ARCZonalShift.Client.exceptions.ThrottlingException" * "ARCZonalShift.Client.exceptions.AccessDeniedException" * "ARCZonalShift.Client.exceptions.ValidationException"