ARCRegionswitch *************** Client ====== class ARCRegionswitch.Client A low-level client representing ARC - Region switch Amazon Application Recovery Controller (ARC) Region switch helps you to quickly and reliably shift traffic away from an impaired Amazon Web Services Region to a healthy Region. With Region switch, you can create plans that define the steps to shift traffic for your application from one Amazon Web Services Region to another. You can test your plans in practice mode before using them in a real recovery scenario. Region switch provides a structured approach to multi-Region failover, helping you to meet your recovery time objectives (RTOs) and maintain business continuity during regional disruptions. import boto3 client = boto3.client('arc-region-switch') These are the available methods: * approve_plan_execution_step * can_paginate * cancel_plan_execution * close * create_plan * delete_plan * get_paginator * get_plan * get_plan_evaluation_status * get_plan_execution * get_plan_in_region * get_waiter * list_plan_execution_events * list_plan_executions * list_plans * list_plans_in_region * list_route53_health_checks * list_tags_for_resource * start_plan_execution * tag_resource * untag_resource * update_plan * update_plan_execution * update_plan_execution_step 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: * GetPlanEvaluationStatus * GetPlanExecution * ListPlanExecutionEvents * ListPlanExecutions * ListPlans * ListPlansInRegion * ListRoute53HealthChecks Waiters ======= Waiters are available on a client instance via the "get_waiter" method. For more detailed instructions and examples on the usage or waiters, see the waiters user guide. The available waiters are: * PlanEvaluationStatusPassed * PlanExecutionCompleted ARCRegionswitch / Waiter / PlanExecutionCompleted PlanExecutionCompleted ********************** class ARCRegionswitch.Waiter.PlanExecutionCompleted waiter = client.get_waiter('plan_execution_completed') wait(**kwargs) Polls "ARCRegionswitch.Client.get_plan_execution()" every 30 seconds until a successful state is reached. An error is raised after 5 failed checks. See also: AWS API Documentation **Request Syntax** waiter.wait( planArn='string', executionId='string', maxResults=123, nextToken='string', WaiterConfig={ 'Delay': 123, 'MaxAttempts': 123 } ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan with the execution to retrieve. * **executionId** (*string*) -- **[REQUIRED]** The execution identifier of a plan execution. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. * **WaiterConfig** (*dict*) -- A dictionary that provides parameters to control waiting behavior. * **Delay** *(integer) --* The amount of time in seconds to wait between attempts. Default: 30 * **MaxAttempts** *(integer) --* The maximum number of attempts to be made. Default: 5 Returns: None ARCRegionswitch / Waiter / PlanEvaluationStatusPassed PlanEvaluationStatusPassed ************************** class ARCRegionswitch.Waiter.PlanEvaluationStatusPassed waiter = client.get_waiter('plan_evaluation_status_passed') wait(**kwargs) Polls "ARCRegionswitch.Client.get_plan_evaluation_status()" every 30 seconds until a successful state is reached. An error is raised after 5 failed checks. See also: AWS API Documentation **Request Syntax** waiter.wait( planArn='string', maxResults=123, nextToken='string', WaiterConfig={ 'Delay': 123, 'MaxAttempts': 123 } ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the Region switch plan to retrieve evaluation status for. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. * **WaiterConfig** (*dict*) -- A dictionary that provides parameters to control waiting behavior. * **Delay** *(integer) --* The amount of time in seconds to wait between attempts. Default: 30 * **MaxAttempts** *(integer) --* The maximum number of attempts to be made. Default: 5 Returns: None ARCRegionswitch / Paginator / ListPlanExecutions ListPlanExecutions ****************** class ARCRegionswitch.Paginator.ListPlanExecutions paginator = client.get_paginator('list_plan_executions') paginate(**kwargs) Creates an iterator that will paginate through responses from "ARCRegionswitch.Client.list_plan_executions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( planArn='string', state='inProgress'|'pausedByFailedStep'|'pausedByOperator'|'completed'|'completedWithExceptions'|'canceled'|'planExecutionTimedOut'|'pendingManualApproval'|'failed'|'pending'|'completedMonitoringApplicationHealth', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The ARN for the plan. * **state** (*string*) -- The state of the plan execution. For example, the plan execution might be In Progress. * **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': [ { 'planArn': 'string', 'executionId': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1), 'comment': 'string', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'mode': 'graceful'|'ungraceful', 'executionState': 'inProgress'|'pausedByFailedStep'|'pausedByOperator'|'completed'|'completedWithExceptions'|'canceled'|'planExecutionTimedOut'|'pendingManualApproval'|'failed'|'pending'|'completedMonitoringApplicationHealth', 'executionAction': 'activate'|'deactivate', 'executionRegion': 'string', 'actualRecoveryTime': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the plan execution to return. * *(dict) --* A summarized representation of a plan execution. This structure contains key information about an execution without all the detailed step data. * **planArn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **executionId** *(string) --* The execution identifier of a plan execution. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan execution was last updated. * **comment** *(string) --* An optional comment about the plan execution. * **startTime** *(datetime) --* The timestamp when the plan execution was started. * **endTime** *(datetime) --* The timestamp when the plan execution was ended. * **mode** *(string) --* The plan execution mode. Valid values are "Practice", for testing without making actual changes, or "Recovery", for actual traffic shifting and application recovery. * **executionState** *(string) --* The plan execution state. Provides the state of a plan execution, for example, In Progress or Paused by Operator. * **executionAction** *(string) --* The plan execution action. Valid values are "Activate", to activate an Amazon Web Services Region, or "Deactivate", to deactivate a Region. * **executionRegion** *(string) --* The Amazon Web Services Region for a plan execution. * **actualRecoveryTime** *(string) --* The actual recovery time that Region switch calculates for a plan execution. Actual recovery time includes the time for the plan to run added to the time elapsed until the application health alarms that you've specified are healthy again. * **NextToken** *(string) --* A token to resume pagination. ARCRegionswitch / Paginator / ListPlansInRegion ListPlansInRegion ***************** class ARCRegionswitch.Paginator.ListPlansInRegion paginator = client.get_paginator('list_plans_in_region') paginate(**kwargs) Creates an iterator that will paginate through responses from "ARCRegionswitch.Client.list_plans_in_region()". 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** { 'plans': [ { 'arn': 'string', 'owner': 'string', 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1), 'description': 'string', 'executionRole': 'string', 'activePlanExecution': 'string', 'recoveryTimeObjectiveMinutes': 123 }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **plans** *(list) --* The plans that were requested. * *(dict) --* A summarized representation of a Region switch plan. This structure contains key information about a plan without all the detailed workflow and step data. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Region switch plan. * **owner** *(string) --* The owner of a Region switch plan. * **name** *(string) --* The name of a Region switch plan. * **regions** *(list) --* The Amazon Web Services Region specified for a Region switch plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan execution was last updated. * **description** *(string) --* The description of a Region switch plan. * **executionRole** *(string) --* The execution role is a way to categorize a Region switch plan. * **activePlanExecution** *(string) --* Specifies if this is the active plan execution at this time. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective that you've specified. * **NextToken** *(string) --* A token to resume pagination. ARCRegionswitch / Paginator / GetPlanEvaluationStatus GetPlanEvaluationStatus *********************** class ARCRegionswitch.Paginator.GetPlanEvaluationStatus paginator = client.get_paginator('get_plan_evaluation_status') paginate(**kwargs) Creates an iterator that will paginate through responses from "ARCRegionswitch.Client.get_plan_evaluation_status()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( planArn='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the Region switch plan to retrieve evaluation status for. * **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** { 'planArn': 'string', 'lastEvaluationTime': datetime(2015, 1, 1), 'lastEvaluatedVersion': 'string', 'region': 'string', 'evaluationState': 'passed'|'actionRequired'|'pendingEvaluation'|'unknown', 'warnings': [ { 'workflow': { 'action': 'activate'|'deactivate', 'name': 'string' }, 'version': 'string', 'stepName': 'string', 'resourceArn': 'string', 'warningStatus': 'active'|'resolved', 'warningUpdatedTime': datetime(2015, 1, 1), 'warningMessage': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **planArn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **lastEvaluationTime** *(datetime) --* The time of the last time that Region switch ran an evaluation of the plan. * **lastEvaluatedVersion** *(string) --* The version of the last evaluation of the plan. * **region** *(string) --* The Amazon Web Services Region for the plan. * **evaluationState** *(string) --* The evaluation state for the plan. * **warnings** *(list) --* The current evaluation warnings for the plan. * *(dict) --* Represents a warning about a resource in a Region switch plan. * **workflow** *(dict) --* The workflow for the resource warning. * **action** *(string) --* The action for a minimal workflow, which can be Activate or Deactivate. * **name** *(string) --* The name for a minimal workflow * **version** *(string) --* The version for the resource warning. * **stepName** *(string) --* The name of the step for the resource warning. * **resourceArn** *(string) --* The Amazon Resource Name (ARN) of the resource. * **warningStatus** *(string) --* The status of the resource warning. * **warningUpdatedTime** *(datetime) --* The timestamp when the warning was last updated. * **warningMessage** *(string) --* The warning message about what needs to be corrected. * **NextToken** *(string) --* A token to resume pagination. ARCRegionswitch / Paginator / ListPlanExecutionEvents ListPlanExecutionEvents *********************** class ARCRegionswitch.Paginator.ListPlanExecutionEvents paginator = client.get_paginator('list_plan_execution_events') paginate(**kwargs) Creates an iterator that will paginate through responses from "ARCRegionswitch.Client.list_plan_execution_events()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( planArn='string', executionId='string', name='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan. * **executionId** (*string*) -- **[REQUIRED]** The execution identifier of a plan execution. * **name** (*string*) -- The name of the plan execution event. * **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': [ { 'timestamp': datetime(2015, 1, 1), 'type': 'unknown'|'executionPending'|'executionStarted'|'executionSucceeded'|'executionFailed'|'executionPausing'|'executionPaused'|'executionCanceling'|'executionCanceled'|'executionPendingApproval'|'executionBehaviorChangedToUngraceful'|'executionBehaviorChangedToGraceful'|'executionPendingChildPlanManualApproval'|'executionSuccessMonitoringApplicationHealth'|'stepStarted'|'stepUpdate'|'stepSucceeded'|'stepFailed'|'stepSkipped'|'stepPausedByError'|'stepPausedByOperator'|'stepCanceled'|'stepPendingApproval'|'stepExecutionBehaviorChangedToUngraceful'|'stepPendingApplicationHealthMonitor', 'stepName': 'string', 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck', 'resources': [ 'string', ], 'error': 'string', 'description': 'string', 'eventId': 'string', 'previousEventId': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the plan execution event. * *(dict) --* Represents an event that occurred during a plan execution. These events provide a detailed timeline of the execution process. * **timestamp** *(datetime) --* The timestamp for an execution event. * **type** *(string) --* The type of an execution event. * **stepName** *(string) --* The step name for an execution event. * **executionBlockType** *(string) --* The execution block type for an execution event. * **resources** *(list) --* The resources for an execution event. * *(string) --* * **error** *(string) --* Errors for an execution event. * **description** *(string) --* The description for an execution event. * **eventId** *(string) --* The event ID for an execution event. * **previousEventId** *(string) --* The event ID of the previous execution event. * **NextToken** *(string) --* A token to resume pagination. ARCRegionswitch / Paginator / GetPlanExecution GetPlanExecution **************** class ARCRegionswitch.Paginator.GetPlanExecution paginator = client.get_paginator('get_plan_execution') paginate(**kwargs) Creates an iterator that will paginate through responses from "ARCRegionswitch.Client.get_plan_execution()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( planArn='string', executionId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan with the execution to retrieve. * **executionId** (*string*) -- **[REQUIRED]** The execution identifier of a plan execution. * **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** { 'planArn': 'string', 'executionId': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1), 'comment': 'string', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'mode': 'graceful'|'ungraceful', 'executionState': 'inProgress'|'pausedByFailedStep'|'pausedByOperator'|'completed'|'completedWithExceptions'|'canceled'|'planExecutionTimedOut'|'pendingManualApproval'|'failed'|'pending'|'completedMonitoringApplicationHealth', 'executionAction': 'activate'|'deactivate', 'executionRegion': 'string', 'stepStates': [ { 'name': 'string', 'status': 'notStarted'|'running'|'failed'|'completed'|'canceled'|'skipped'|'pendingApproval', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'stepMode': 'graceful'|'ungraceful' }, ], 'plan': { 'arn': 'string', 'description': 'string', 'workflows': [ { 'steps': [ { 'name': 'string', 'description': 'string', 'executionBlockConfiguration': { 'customActionLambdaConfig': { 'timeoutMinutes': 123, 'lambdas': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'retryIntervalMinutes': ..., 'regionToRun': 'activatingRegion'|'deactivatingRegion', 'ungraceful': { 'behavior': 'skip' } }, 'ec2AsgCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'asgs': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'autoscalingMaxInLast24Hours' }, 'executionApprovalConfig': { 'timeoutMinutes': 123, 'approvalRole': 'string' }, 'arcRoutingControlConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'regionAndRoutingControls': { 'string': [ { 'routingControlArn': 'string', 'state': 'On'|'Off' }, ] } }, 'globalAuroraConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'behavior': 'switchoverOnly'|'failover', 'ungraceful': { 'ungraceful': 'failover' }, 'globalClusterIdentifier': 'string', 'databaseClusterArns': [ 'string', ] }, 'parallelConfig': { 'steps': {'... recursive ...'} }, 'regionSwitchPlanConfig': { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, 'ecsCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'services': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string', 'serviceArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'containerInsightsMaxInLast24Hours' }, 'eksResourceScalingConfig': { 'timeoutMinutes': 123, 'kubernetesResourceType': { 'apiVersion': 'string', 'kind': 'string' }, 'scalingResources': [ { 'string': { 'string': { 'namespace': 'string', 'name': 'string', 'hpaName': 'string' } } }, ], 'eksClusters': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours' }, 'route53HealthCheckConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'hostedZoneId': 'string', 'recordName': 'string', 'recordSets': [ { 'recordSetIdentifier': 'string', 'region': 'string' }, ] } }, 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck' }, ], 'workflowTargetAction': 'activate'|'deactivate', 'workflowTargetRegion': 'string', 'workflowDescription': 'string' }, ], 'executionRole': 'string', 'recoveryTimeObjectiveMinutes': 123, 'associatedAlarms': { 'string': { 'crossAccountRole': 'string', 'externalId': 'string', 'resourceIdentifier': 'string', 'alarmType': 'applicationHealth'|'trigger' } }, 'triggers': [ { 'description': 'string', 'targetRegion': 'string', 'action': 'activate'|'deactivate', 'conditions': [ { 'associatedAlarmName': 'string', 'condition': 'red'|'green' }, ], 'minDelayMinutesBetweenExecutions': 123 }, ], 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'owner': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1) }, 'actualRecoveryTime': 'string', 'NextToken': 'string' } **Response Structure** * *(dict) --* * **planArn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **executionId** *(string) --* The execution identifier of a plan execution. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan execution was last updated. * **comment** *(string) --* A comment included on the plan execution. * **startTime** *(datetime) --* The time (UTC) when the plan execution started. * **endTime** *(datetime) --* The time (UTC) when the plan execution ended. * **mode** *(string) --* The plan execution mode. Valid values are "Practice", for testing without making actual changes, or "Recovery", for actual traffic shifting and application recovery. * **executionState** *(string) --* The plan execution state. Provides the state of a plan execution, for example, In Progress or Paused by Operator. * **executionAction** *(string) --* The plan execution action. Valid values are "Activate", to activate an Amazon Web Services Region, or "Deactivate", to deactivate a Region. * **executionRegion** *(string) --* The Amazon Web Services Region for a plan execution. * **stepStates** *(list) --* The states of the steps in the plan execution. * *(dict) --* Represents the state of a step in a plan execution. * **name** *(string) --* The name of a step in a workflow. * **status** *(string) --* The status of a step in a workflow. For example, a status might be Completed or Pending Approval. * **startTime** *(datetime) --* The timestamp when a step started execution. * **endTime** *(datetime) --* The timestamp when a step endeded execution. * **stepMode** *(string) --* The mode for a step execution. The mode can be Graceful or Ungraceful. * **plan** *(dict) --* The details of the Region switch plan. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **description** *(string) --* The description for a plan. * **workflows** *(list) --* The workflows for a plan. * *(dict) --* Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch. * **steps** *(list) --* The steps that make up the workflow. * *(dict) --* Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process. * **name** *(string) --* The name of a step in a workflow. * **description** *(string) --* The description of a step in a workflow. * **executionBlockConfiguration** *(dict) --* The configuration for an execution block in a workflow. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "customActionLambdaConfig", "ec2AsgCapacityIncreaseConfig", "executionApprovalConfig", "arcRoutingControlConfig", "globalAuroraConfig", "parallelConfig", "regionSwitchPlanConfig", "ecsCapacityIncreaseConfig", "eksResourceScalingConfig", "route53HealthCheckConfig". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **customActionLambdaConfig** *(dict) --* An Amazon Web Services Lambda execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **lambdas** *(list) --* The Amazon Web Services Lambda functions for the execution block. * *(dict) --* Configuration for Amazon Web Services Lambda functions used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Lambda function. * **retryIntervalMinutes** *(float) --* The retry interval specified. * **regionToRun** *(string) --* The Amazon Web Services Region for the function to run in. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **behavior** *(string) --* The ungraceful behavior for a Lambda function, which must be set to "skip". * **ec2AsgCapacityIncreaseConfig** *(dict) --* An EC2 Auto Scaling group execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **asgs** *(list) --* The EC2 Auto Scaling groups for the configuration. * *(dict) --* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage that you specify for EC2 Auto Scaling groups. * **targetPercent** *(integer) --* The target percentage that you specify for EC2 Auto Scaling groups. * **capacityMonitoringApproach** *(string) --* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration. * **executionApprovalConfig** *(dict) --* A manual approval execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **approvalRole** *(string) --* The IAM approval role for the configuration. * **arcRoutingControlConfig** *(dict) --* An ARC routing control execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **regionAndRoutingControls** *(dict) --* The Region and ARC routing controls for the configuration. * *(string) --* * *(list) --* * *(dict) --* Represents the state of an ARC routing control. * **routingControlArn** *(string) --* The Amazon Resource Name (ARN) of a routing control. * **state** *(string) --* The state of an ARC routing control, On or Off. * **globalAuroraConfig** *(dict) --* An Aurora Global Database execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **behavior** *(string) --* The behavior for a global database, that is, only allow switchover or also allow failover. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **ungraceful** *(string) --* The settings for ungraceful execution. * **globalClusterIdentifier** *(string) --* The global cluster identifier for a global database. * **databaseClusterArns** *(list) --* The database cluster Amazon Resource Names (ARNs) for a global database. * *(string) --* * **parallelConfig** *(dict) --* A parallel configuration execution block. * **steps** *(list) --* The steps for a parallel execution block. * **regionSwitchPlanConfig** *(dict) --* A Region switch plan execution block. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan configuration. * **ecsCapacityIncreaseConfig** *(dict) --* The capacity increase specified for the configuration. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **services** *(list) --* The services specified for the configuration. * *(dict) --* The service for a cross account role. * **crossAccountRole** *(string) --* The cross account role for a service. * **externalId** *(string) --* The external ID (secret key) for the service. * **clusterArn** *(string) --* The cluster Amazon Resource Name (ARN) for a service. * **serviceArn** *(string) --* The Amazon Resource Name (ARN) for a service. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage specified for the configuration. * **targetPercent** *(integer) --* The target percentage specified for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach specified for the configuration, for example, "Most_Recent". * **eksResourceScalingConfig** *(dict) --* An Amazon Web Services EKS resource scaling execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **kubernetesResourceType** *(dict) --* The Kubernetes resource type for the configuration. * **apiVersion** *(string) --* The API version type for the Kubernetes resource. * **kind** *(string) --* The kind for the Kubernetes resource. * **scalingResources** *(list) --* The scaling resources for the configuration. * *(dict) --* * *(string) --* * *(dict) --* * *(string) --* * *(dict) --* Defines a Kubernetes resource to scale in an Amazon EKS cluster. * **namespace** *(string) --* The namespace for the Kubernetes resource. * **name** *(string) --* The name for the Kubernetes resource. * **hpaName** *(string) --* The hpaname for the Kubernetes resource. * **eksClusters** *(list) --* The clusters for the configuration. * *(dict) --* The Amazon Web Services EKS cluster execution block configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **clusterArn** *(string) --* The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage for the configuration. * **targetPercent** *(integer) --* The target percentage for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours. * **route53HealthCheckConfig** *(dict) --* The Amazon Route 53 health check configuration. * **timeoutMinutes** *(integer) --* The Amazon Route 53 health check configuration time out (in minutes). * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **hostedZoneId** *(string) --* The Amazon Route 53 health check configuration hosted zone ID. * **recordName** *(string) --* The Amazon Route 53 health check configuration record name. * **recordSets** *(list) --* The Amazon Route 53 health check configuration record sets. * *(dict) --* The Amazon Route 53 record set. * **recordSetIdentifier** *(string) --* The Amazon Route 53 record set identifier. * **region** *(string) --* The Amazon Route 53 record set Region. * **executionBlockType** *(string) --* The type of an execution block in a workflow. * **workflowTargetAction** *(string) --* The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE. * **workflowTargetRegion** *(string) --* The Amazon Web Services Region that the workflow targets. * **workflowDescription** *(string) --* The description of the workflow. * **executionRole** *(string) --* The execution role for a plan. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective for a plan. * **associatedAlarms** *(dict) --* The associated application health alarms for a plan. * *(string) --* * *(dict) --* An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **resourceIdentifier** *(string) --* The resource identifier for alarms that you associate with a plan. * **alarmType** *(string) --* The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm. * **triggers** *(list) --* The triggers for a plan. * *(dict) --* Defines a condition that can automatically trigger the execution of a Region switch plan. * **description** *(string) --* The description for a trigger. * **targetRegion** *(string) --* The Amazon Web Services Region for a trigger. * **action** *(string) --* The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE. * **conditions** *(list) --* The conditions that must be met for the trigger to fire. * *(dict) --* Defines a condition that must be met for a trigger to fire. * **associatedAlarmName** *(string) --* The name of the CloudWatch alarm associated with the condition. * **condition** *(string) --* The condition that must be met. Valid values include ALARM and OK. * **minDelayMinutesBetweenExecutions** *(integer) --* The minimum time, in minutes, that must elapse between automatic executions of the plan. * **name** *(string) --* The name for a plan. * **regions** *(list) --* The Amazon Web Services Regions for a plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **owner** *(string) --* The owner of a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan was last updated. * **actualRecoveryTime** *(string) --* The actual recovery time that Region switch calculates for a plan execution. Actual recovery time includes the time for the plan to run added to the time elapsed until the application health alarms that you've specified are healthy again. * **NextToken** *(string) --* A token to resume pagination. ARCRegionswitch / Paginator / ListPlans ListPlans ********* class ARCRegionswitch.Paginator.ListPlans paginator = client.get_paginator('list_plans') paginate(**kwargs) Creates an iterator that will paginate through responses from "ARCRegionswitch.Client.list_plans()". 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** { 'plans': [ { 'arn': 'string', 'owner': 'string', 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1), 'description': 'string', 'executionRole': 'string', 'activePlanExecution': 'string', 'recoveryTimeObjectiveMinutes': 123 }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **plans** *(list) --* The plans that were requested. * *(dict) --* A summarized representation of a Region switch plan. This structure contains key information about a plan without all the detailed workflow and step data. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Region switch plan. * **owner** *(string) --* The owner of a Region switch plan. * **name** *(string) --* The name of a Region switch plan. * **regions** *(list) --* The Amazon Web Services Region specified for a Region switch plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan execution was last updated. * **description** *(string) --* The description of a Region switch plan. * **executionRole** *(string) --* The execution role is a way to categorize a Region switch plan. * **activePlanExecution** *(string) --* Specifies if this is the active plan execution at this time. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective that you've specified. * **NextToken** *(string) --* A token to resume pagination. ARCRegionswitch / Paginator / ListRoute53HealthChecks ListRoute53HealthChecks *********************** class ARCRegionswitch.Paginator.ListRoute53HealthChecks paginator = client.get_paginator('list_route53_health_checks') paginate(**kwargs) Creates an iterator that will paginate through responses from "ARCRegionswitch.Client.list_route53_health_checks()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( arn='string', hostedZoneId='string', recordName='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the Amazon Route 53 health check request. * **hostedZoneId** (*string*) -- The hosted zone ID for the health checks. * **recordName** (*string*) -- The record name for the health checks. * **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** { 'healthChecks': [ { 'hostedZoneId': 'string', 'recordName': 'string', 'healthCheckId': 'string', 'region': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **healthChecks** *(list) --* List of the health checks requested. * *(dict) --* The Amazon Route 53 health check. * **hostedZoneId** *(string) --* The Amazon Route 53 health check hosted zone ID. * **recordName** *(string) --* The Amazon Route 53 record name. * **healthCheckId** *(string) --* The Amazon Route 53 health check ID. * **region** *(string) --* The Amazon Route 53 Region. * **NextToken** *(string) --* A token to resume pagination. ARCRegionswitch / Client / get_paginator get_paginator ************* ARCRegionswitch.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. ARCRegionswitch / Client / can_paginate can_paginate ************ ARCRegionswitch.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. ARCRegionswitch / Client / start_plan_execution start_plan_execution ******************** ARCRegionswitch.Client.start_plan_execution(**kwargs) Starts the execution of a Region switch plan. You can execute a plan in either PRACTICE or RECOVERY mode. In PRACTICE mode, the execution simulates the steps without making actual changes to your application's traffic routing. In RECOVERY mode, the execution performs actual changes to shift traffic between Regions. See also: AWS API Documentation **Request Syntax** response = client.start_plan_execution( planArn='string', targetRegion='string', action='activate'|'deactivate', mode='graceful'|'ungraceful', comment='string', latestVersion='string' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan to execute. * **targetRegion** (*string*) -- **[REQUIRED]** The Amazon Web Services Region to target with this execution. This is the Region that traffic will be shifted to or from, depending on the action. * **action** (*string*) -- **[REQUIRED]** The action to perform. Valid values are ACTIVATE (to shift traffic to the target Region) or DEACTIVATE (to shift traffic away from the target Region). * **mode** (*string*) -- The plan execution mode. Valid values are "Practice", for testing without making actual changes, or "Recovery", for actual traffic shifting and application recovery. * **comment** (*string*) -- An optional comment explaining why the plan execution is being started. * **latestVersion** (*string*) -- A boolean value indicating whether to use the latest version of the plan. If set to false, you must specify a specific version. Return type: dict Returns: **Response Syntax** { 'executionId': 'string', 'plan': 'string', 'planVersion': 'string', 'activateRegion': 'string', 'deactivateRegion': 'string' } **Response Structure** * *(dict) --* * **executionId** *(string) --* The execution identifier of a plan execution. * **plan** *(string) --* The details of the Region switch plan. * **planVersion** *(string) --* The version of the plan, a unique number generated by Region switch. * **activateRegion** *(string) --* The Amazon Web Services Region to activate. * **deactivateRegion** *(string) --* The Amazon Web Services Region to deactivate. **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.IllegalStateException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" * "ARCRegionswitch.Client.exceptions.IllegalArgumentException" ARCRegionswitch / Client / update_plan_execution update_plan_execution ********************* ARCRegionswitch.Client.update_plan_execution(**kwargs) Updates an in-progress plan execution. This operation allows you to modify certain aspects of the execution, such as adding a comment or changing the action. See also: AWS API Documentation **Request Syntax** response = client.update_plan_execution( planArn='string', executionId='string', action='switchToGraceful'|'switchToUngraceful'|'pause'|'resume', comment='string' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan with the execution to update. * **executionId** (*string*) -- **[REQUIRED]** The execution identifier of a plan execution. * **action** (*string*) -- **[REQUIRED]** The action specified for a plan execution, for example, Switch to Graceful or Pause. * **comment** (*string*) -- An optional comment about the plan execution. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.IllegalStateException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / get_plan_execution get_plan_execution ****************** ARCRegionswitch.Client.get_plan_execution(**kwargs) Retrieves detailed information about a specific plan execution. You must specify the plan ARN and execution ID. See also: AWS API Documentation **Request Syntax** response = client.get_plan_execution( planArn='string', executionId='string', maxResults=123, nextToken='string' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan with the execution to retrieve. * **executionId** (*string*) -- **[REQUIRED]** The execution identifier of a plan execution. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. Return type: dict Returns: **Response Syntax** { 'planArn': 'string', 'executionId': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1), 'comment': 'string', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'mode': 'graceful'|'ungraceful', 'executionState': 'inProgress'|'pausedByFailedStep'|'pausedByOperator'|'completed'|'completedWithExceptions'|'canceled'|'planExecutionTimedOut'|'pendingManualApproval'|'failed'|'pending'|'completedMonitoringApplicationHealth', 'executionAction': 'activate'|'deactivate', 'executionRegion': 'string', 'stepStates': [ { 'name': 'string', 'status': 'notStarted'|'running'|'failed'|'completed'|'canceled'|'skipped'|'pendingApproval', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'stepMode': 'graceful'|'ungraceful' }, ], 'plan': { 'arn': 'string', 'description': 'string', 'workflows': [ { 'steps': [ { 'name': 'string', 'description': 'string', 'executionBlockConfiguration': { 'customActionLambdaConfig': { 'timeoutMinutes': 123, 'lambdas': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'retryIntervalMinutes': ..., 'regionToRun': 'activatingRegion'|'deactivatingRegion', 'ungraceful': { 'behavior': 'skip' } }, 'ec2AsgCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'asgs': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'autoscalingMaxInLast24Hours' }, 'executionApprovalConfig': { 'timeoutMinutes': 123, 'approvalRole': 'string' }, 'arcRoutingControlConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'regionAndRoutingControls': { 'string': [ { 'routingControlArn': 'string', 'state': 'On'|'Off' }, ] } }, 'globalAuroraConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'behavior': 'switchoverOnly'|'failover', 'ungraceful': { 'ungraceful': 'failover' }, 'globalClusterIdentifier': 'string', 'databaseClusterArns': [ 'string', ] }, 'parallelConfig': { 'steps': {'... recursive ...'} }, 'regionSwitchPlanConfig': { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, 'ecsCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'services': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string', 'serviceArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'containerInsightsMaxInLast24Hours' }, 'eksResourceScalingConfig': { 'timeoutMinutes': 123, 'kubernetesResourceType': { 'apiVersion': 'string', 'kind': 'string' }, 'scalingResources': [ { 'string': { 'string': { 'namespace': 'string', 'name': 'string', 'hpaName': 'string' } } }, ], 'eksClusters': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours' }, 'route53HealthCheckConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'hostedZoneId': 'string', 'recordName': 'string', 'recordSets': [ { 'recordSetIdentifier': 'string', 'region': 'string' }, ] } }, 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck' }, ], 'workflowTargetAction': 'activate'|'deactivate', 'workflowTargetRegion': 'string', 'workflowDescription': 'string' }, ], 'executionRole': 'string', 'recoveryTimeObjectiveMinutes': 123, 'associatedAlarms': { 'string': { 'crossAccountRole': 'string', 'externalId': 'string', 'resourceIdentifier': 'string', 'alarmType': 'applicationHealth'|'trigger' } }, 'triggers': [ { 'description': 'string', 'targetRegion': 'string', 'action': 'activate'|'deactivate', 'conditions': [ { 'associatedAlarmName': 'string', 'condition': 'red'|'green' }, ], 'minDelayMinutesBetweenExecutions': 123 }, ], 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'owner': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1) }, 'actualRecoveryTime': 'string', 'nextToken': 'string' } **Response Structure** * *(dict) --* * **planArn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **executionId** *(string) --* The execution identifier of a plan execution. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan execution was last updated. * **comment** *(string) --* A comment included on the plan execution. * **startTime** *(datetime) --* The time (UTC) when the plan execution started. * **endTime** *(datetime) --* The time (UTC) when the plan execution ended. * **mode** *(string) --* The plan execution mode. Valid values are "Practice", for testing without making actual changes, or "Recovery", for actual traffic shifting and application recovery. * **executionState** *(string) --* The plan execution state. Provides the state of a plan execution, for example, In Progress or Paused by Operator. * **executionAction** *(string) --* The plan execution action. Valid values are "Activate", to activate an Amazon Web Services Region, or "Deactivate", to deactivate a Region. * **executionRegion** *(string) --* The Amazon Web Services Region for a plan execution. * **stepStates** *(list) --* The states of the steps in the plan execution. * *(dict) --* Represents the state of a step in a plan execution. * **name** *(string) --* The name of a step in a workflow. * **status** *(string) --* The status of a step in a workflow. For example, a status might be Completed or Pending Approval. * **startTime** *(datetime) --* The timestamp when a step started execution. * **endTime** *(datetime) --* The timestamp when a step endeded execution. * **stepMode** *(string) --* The mode for a step execution. The mode can be Graceful or Ungraceful. * **plan** *(dict) --* The details of the Region switch plan. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **description** *(string) --* The description for a plan. * **workflows** *(list) --* The workflows for a plan. * *(dict) --* Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch. * **steps** *(list) --* The steps that make up the workflow. * *(dict) --* Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process. * **name** *(string) --* The name of a step in a workflow. * **description** *(string) --* The description of a step in a workflow. * **executionBlockConfiguration** *(dict) --* The configuration for an execution block in a workflow. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "customActionLambdaConfig", "ec2AsgCapacityIncreaseConfig", "executionApprovalConfig", "arcRoutingControlConfig", "globalAuroraConfig", "parallelConfig", "regionSwitchPlanConfig", "ecsCapacityIncreaseConfig", "eksResourceScalingConfig", "route53HealthCheckConfig". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **customActionLambdaConfig** *(dict) --* An Amazon Web Services Lambda execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **lambdas** *(list) --* The Amazon Web Services Lambda functions for the execution block. * *(dict) --* Configuration for Amazon Web Services Lambda functions used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Lambda function. * **retryIntervalMinutes** *(float) --* The retry interval specified. * **regionToRun** *(string) --* The Amazon Web Services Region for the function to run in. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **behavior** *(string) --* The ungraceful behavior for a Lambda function, which must be set to "skip". * **ec2AsgCapacityIncreaseConfig** *(dict) --* An EC2 Auto Scaling group execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **asgs** *(list) --* The EC2 Auto Scaling groups for the configuration. * *(dict) --* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage that you specify for EC2 Auto Scaling groups. * **targetPercent** *(integer) --* The target percentage that you specify for EC2 Auto Scaling groups. * **capacityMonitoringApproach** *(string) --* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration. * **executionApprovalConfig** *(dict) --* A manual approval execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **approvalRole** *(string) --* The IAM approval role for the configuration. * **arcRoutingControlConfig** *(dict) --* An ARC routing control execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **regionAndRoutingControls** *(dict) --* The Region and ARC routing controls for the configuration. * *(string) --* * *(list) --* * *(dict) --* Represents the state of an ARC routing control. * **routingControlArn** *(string) --* The Amazon Resource Name (ARN) of a routing control. * **state** *(string) --* The state of an ARC routing control, On or Off. * **globalAuroraConfig** *(dict) --* An Aurora Global Database execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **behavior** *(string) --* The behavior for a global database, that is, only allow switchover or also allow failover. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **ungraceful** *(string) --* The settings for ungraceful execution. * **globalClusterIdentifier** *(string) --* The global cluster identifier for a global database. * **databaseClusterArns** *(list) --* The database cluster Amazon Resource Names (ARNs) for a global database. * *(string) --* * **parallelConfig** *(dict) --* A parallel configuration execution block. * **steps** *(list) --* The steps for a parallel execution block. * **regionSwitchPlanConfig** *(dict) --* A Region switch plan execution block. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan configuration. * **ecsCapacityIncreaseConfig** *(dict) --* The capacity increase specified for the configuration. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **services** *(list) --* The services specified for the configuration. * *(dict) --* The service for a cross account role. * **crossAccountRole** *(string) --* The cross account role for a service. * **externalId** *(string) --* The external ID (secret key) for the service. * **clusterArn** *(string) --* The cluster Amazon Resource Name (ARN) for a service. * **serviceArn** *(string) --* The Amazon Resource Name (ARN) for a service. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage specified for the configuration. * **targetPercent** *(integer) --* The target percentage specified for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach specified for the configuration, for example, "Most_Recent". * **eksResourceScalingConfig** *(dict) --* An Amazon Web Services EKS resource scaling execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **kubernetesResourceType** *(dict) --* The Kubernetes resource type for the configuration. * **apiVersion** *(string) --* The API version type for the Kubernetes resource. * **kind** *(string) --* The kind for the Kubernetes resource. * **scalingResources** *(list) --* The scaling resources for the configuration. * *(dict) --* * *(string) --* * *(dict) --* * *(string) --* * *(dict) --* Defines a Kubernetes resource to scale in an Amazon EKS cluster. * **namespace** *(string) --* The namespace for the Kubernetes resource. * **name** *(string) --* The name for the Kubernetes resource. * **hpaName** *(string) --* The hpaname for the Kubernetes resource. * **eksClusters** *(list) --* The clusters for the configuration. * *(dict) --* The Amazon Web Services EKS cluster execution block configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **clusterArn** *(string) --* The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage for the configuration. * **targetPercent** *(integer) --* The target percentage for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours. * **route53HealthCheckConfig** *(dict) --* The Amazon Route 53 health check configuration. * **timeoutMinutes** *(integer) --* The Amazon Route 53 health check configuration time out (in minutes). * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **hostedZoneId** *(string) --* The Amazon Route 53 health check configuration hosted zone ID. * **recordName** *(string) --* The Amazon Route 53 health check configuration record name. * **recordSets** *(list) --* The Amazon Route 53 health check configuration record sets. * *(dict) --* The Amazon Route 53 record set. * **recordSetIdentifier** *(string) --* The Amazon Route 53 record set identifier. * **region** *(string) --* The Amazon Route 53 record set Region. * **executionBlockType** *(string) --* The type of an execution block in a workflow. * **workflowTargetAction** *(string) --* The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE. * **workflowTargetRegion** *(string) --* The Amazon Web Services Region that the workflow targets. * **workflowDescription** *(string) --* The description of the workflow. * **executionRole** *(string) --* The execution role for a plan. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective for a plan. * **associatedAlarms** *(dict) --* The associated application health alarms for a plan. * *(string) --* * *(dict) --* An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **resourceIdentifier** *(string) --* The resource identifier for alarms that you associate with a plan. * **alarmType** *(string) --* The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm. * **triggers** *(list) --* The triggers for a plan. * *(dict) --* Defines a condition that can automatically trigger the execution of a Region switch plan. * **description** *(string) --* The description for a trigger. * **targetRegion** *(string) --* The Amazon Web Services Region for a trigger. * **action** *(string) --* The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE. * **conditions** *(list) --* The conditions that must be met for the trigger to fire. * *(dict) --* Defines a condition that must be met for a trigger to fire. * **associatedAlarmName** *(string) --* The name of the CloudWatch alarm associated with the condition. * **condition** *(string) --* The condition that must be met. Valid values include ALARM and OK. * **minDelayMinutesBetweenExecutions** *(integer) --* The minimum time, in minutes, that must elapse between automatic executions of the plan. * **name** *(string) --* The name for a plan. * **regions** *(list) --* The Amazon Web Services Regions for a plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **owner** *(string) --* The owner of a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan was last updated. * **actualRecoveryTime** *(string) --* The actual recovery time that Region switch calculates for a plan execution. Actual recovery time includes the time for the plan to run added to the time elapsed until the application health alarms that you've specified are healthy again. * **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** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / list_tags_for_resource list_tags_for_resource ********************** ARCRegionswitch.Client.list_tags_for_resource(**kwargs) Lists the tags attached to a Region switch resource. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource. Return type: dict Returns: **Response Syntax** { 'resourceTags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **resourceTags** *(dict) --* The tags for a resource. * *(string) --* * *(string) --* **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.InternalServerException" ARCRegionswitch / Client / untag_resource untag_resource ************** ARCRegionswitch.Client.untag_resource(**kwargs) Removes tags from a Region switch resource. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( arn='string', resourceTagKeys=[ 'string', ] ) Parameters: * **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) for a tag you remove a resource from. * **resourceTagKeys** (*list*) -- **[REQUIRED]** Tag keys that you remove from a resource. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.InternalServerException" ARCRegionswitch / Client / get_waiter get_waiter ********** ARCRegionswitch.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" ARCRegionswitch / Client / list_plan_execution_events list_plan_execution_events ************************** ARCRegionswitch.Client.list_plan_execution_events(**kwargs) Lists the events that occurred during a plan execution. These events provide a detailed timeline of the execution process. See also: AWS API Documentation **Request Syntax** response = client.list_plan_execution_events( planArn='string', executionId='string', maxResults=123, nextToken='string', name='string' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan. * **executionId** (*string*) -- **[REQUIRED]** The execution identifier of a plan execution. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. * **name** (*string*) -- The name of the plan execution event. Return type: dict Returns: **Response Syntax** { 'items': [ { 'timestamp': datetime(2015, 1, 1), 'type': 'unknown'|'executionPending'|'executionStarted'|'executionSucceeded'|'executionFailed'|'executionPausing'|'executionPaused'|'executionCanceling'|'executionCanceled'|'executionPendingApproval'|'executionBehaviorChangedToUngraceful'|'executionBehaviorChangedToGraceful'|'executionPendingChildPlanManualApproval'|'executionSuccessMonitoringApplicationHealth'|'stepStarted'|'stepUpdate'|'stepSucceeded'|'stepFailed'|'stepSkipped'|'stepPausedByError'|'stepPausedByOperator'|'stepCanceled'|'stepPendingApproval'|'stepExecutionBehaviorChangedToUngraceful'|'stepPendingApplicationHealthMonitor', 'stepName': 'string', 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck', 'resources': [ 'string', ], 'error': 'string', 'description': 'string', 'eventId': 'string', 'previousEventId': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the plan execution event. * *(dict) --* Represents an event that occurred during a plan execution. These events provide a detailed timeline of the execution process. * **timestamp** *(datetime) --* The timestamp for an execution event. * **type** *(string) --* The type of an execution event. * **stepName** *(string) --* The step name for an execution event. * **executionBlockType** *(string) --* The execution block type for an execution event. * **resources** *(list) --* The resources for an execution event. * *(string) --* * **error** *(string) --* Errors for an execution event. * **description** *(string) --* The description for an execution event. * **eventId** *(string) --* The event ID for an execution event. * **previousEventId** *(string) --* The event ID of the previous execution event. * **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** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / get_plan get_plan ******** ARCRegionswitch.Client.get_plan(**kwargs) Retrieves detailed information about a Region switch plan. You must specify the ARN of the plan. See also: AWS API Documentation **Request Syntax** response = client.get_plan( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan. Return type: dict Returns: **Response Syntax** { 'plan': { 'arn': 'string', 'description': 'string', 'workflows': [ { 'steps': [ { 'name': 'string', 'description': 'string', 'executionBlockConfiguration': { 'customActionLambdaConfig': { 'timeoutMinutes': 123, 'lambdas': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'retryIntervalMinutes': ..., 'regionToRun': 'activatingRegion'|'deactivatingRegion', 'ungraceful': { 'behavior': 'skip' } }, 'ec2AsgCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'asgs': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'autoscalingMaxInLast24Hours' }, 'executionApprovalConfig': { 'timeoutMinutes': 123, 'approvalRole': 'string' }, 'arcRoutingControlConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'regionAndRoutingControls': { 'string': [ { 'routingControlArn': 'string', 'state': 'On'|'Off' }, ] } }, 'globalAuroraConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'behavior': 'switchoverOnly'|'failover', 'ungraceful': { 'ungraceful': 'failover' }, 'globalClusterIdentifier': 'string', 'databaseClusterArns': [ 'string', ] }, 'parallelConfig': { 'steps': {'... recursive ...'} }, 'regionSwitchPlanConfig': { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, 'ecsCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'services': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string', 'serviceArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'containerInsightsMaxInLast24Hours' }, 'eksResourceScalingConfig': { 'timeoutMinutes': 123, 'kubernetesResourceType': { 'apiVersion': 'string', 'kind': 'string' }, 'scalingResources': [ { 'string': { 'string': { 'namespace': 'string', 'name': 'string', 'hpaName': 'string' } } }, ], 'eksClusters': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours' }, 'route53HealthCheckConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'hostedZoneId': 'string', 'recordName': 'string', 'recordSets': [ { 'recordSetIdentifier': 'string', 'region': 'string' }, ] } }, 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck' }, ], 'workflowTargetAction': 'activate'|'deactivate', 'workflowTargetRegion': 'string', 'workflowDescription': 'string' }, ], 'executionRole': 'string', 'recoveryTimeObjectiveMinutes': 123, 'associatedAlarms': { 'string': { 'crossAccountRole': 'string', 'externalId': 'string', 'resourceIdentifier': 'string', 'alarmType': 'applicationHealth'|'trigger' } }, 'triggers': [ { 'description': 'string', 'targetRegion': 'string', 'action': 'activate'|'deactivate', 'conditions': [ { 'associatedAlarmName': 'string', 'condition': 'red'|'green' }, ], 'minDelayMinutesBetweenExecutions': 123 }, ], 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'owner': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **plan** *(dict) --* The detailed information about the requested Region switch plan. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **description** *(string) --* The description for a plan. * **workflows** *(list) --* The workflows for a plan. * *(dict) --* Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch. * **steps** *(list) --* The steps that make up the workflow. * *(dict) --* Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process. * **name** *(string) --* The name of a step in a workflow. * **description** *(string) --* The description of a step in a workflow. * **executionBlockConfiguration** *(dict) --* The configuration for an execution block in a workflow. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "customActionLambdaConfig", "ec2AsgCapacityIncreaseConfig", "executionApprovalConfig", "arcRoutingControlConfig", "globalAuroraConfig", "parallelConfig", "regionSwitchPlanConfig", "ecsCapacityIncreaseConfig", "eksResourceScalingConfig", "route53HealthCheckConfig". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **customActionLambdaConfig** *(dict) --* An Amazon Web Services Lambda execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **lambdas** *(list) --* The Amazon Web Services Lambda functions for the execution block. * *(dict) --* Configuration for Amazon Web Services Lambda functions used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Lambda function. * **retryIntervalMinutes** *(float) --* The retry interval specified. * **regionToRun** *(string) --* The Amazon Web Services Region for the function to run in. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **behavior** *(string) --* The ungraceful behavior for a Lambda function, which must be set to "skip". * **ec2AsgCapacityIncreaseConfig** *(dict) --* An EC2 Auto Scaling group execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **asgs** *(list) --* The EC2 Auto Scaling groups for the configuration. * *(dict) --* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage that you specify for EC2 Auto Scaling groups. * **targetPercent** *(integer) --* The target percentage that you specify for EC2 Auto Scaling groups. * **capacityMonitoringApproach** *(string) --* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration. * **executionApprovalConfig** *(dict) --* A manual approval execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **approvalRole** *(string) --* The IAM approval role for the configuration. * **arcRoutingControlConfig** *(dict) --* An ARC routing control execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **regionAndRoutingControls** *(dict) --* The Region and ARC routing controls for the configuration. * *(string) --* * *(list) --* * *(dict) --* Represents the state of an ARC routing control. * **routingControlArn** *(string) --* The Amazon Resource Name (ARN) of a routing control. * **state** *(string) --* The state of an ARC routing control, On or Off. * **globalAuroraConfig** *(dict) --* An Aurora Global Database execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **behavior** *(string) --* The behavior for a global database, that is, only allow switchover or also allow failover. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **ungraceful** *(string) --* The settings for ungraceful execution. * **globalClusterIdentifier** *(string) --* The global cluster identifier for a global database. * **databaseClusterArns** *(list) --* The database cluster Amazon Resource Names (ARNs) for a global database. * *(string) --* * **parallelConfig** *(dict) --* A parallel configuration execution block. * **steps** *(list) --* The steps for a parallel execution block. * **regionSwitchPlanConfig** *(dict) --* A Region switch plan execution block. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan configuration. * **ecsCapacityIncreaseConfig** *(dict) --* The capacity increase specified for the configuration. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **services** *(list) --* The services specified for the configuration. * *(dict) --* The service for a cross account role. * **crossAccountRole** *(string) --* The cross account role for a service. * **externalId** *(string) --* The external ID (secret key) for the service. * **clusterArn** *(string) --* The cluster Amazon Resource Name (ARN) for a service. * **serviceArn** *(string) --* The Amazon Resource Name (ARN) for a service. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage specified for the configuration. * **targetPercent** *(integer) --* The target percentage specified for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach specified for the configuration, for example, "Most_Recent". * **eksResourceScalingConfig** *(dict) --* An Amazon Web Services EKS resource scaling execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **kubernetesResourceType** *(dict) --* The Kubernetes resource type for the configuration. * **apiVersion** *(string) --* The API version type for the Kubernetes resource. * **kind** *(string) --* The kind for the Kubernetes resource. * **scalingResources** *(list) --* The scaling resources for the configuration. * *(dict) --* * *(string) --* * *(dict) --* * *(string) --* * *(dict) --* Defines a Kubernetes resource to scale in an Amazon EKS cluster. * **namespace** *(string) --* The namespace for the Kubernetes resource. * **name** *(string) --* The name for the Kubernetes resource. * **hpaName** *(string) --* The hpaname for the Kubernetes resource. * **eksClusters** *(list) --* The clusters for the configuration. * *(dict) --* The Amazon Web Services EKS cluster execution block configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **clusterArn** *(string) --* The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage for the configuration. * **targetPercent** *(integer) --* The target percentage for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours. * **route53HealthCheckConfig** *(dict) --* The Amazon Route 53 health check configuration. * **timeoutMinutes** *(integer) --* The Amazon Route 53 health check configuration time out (in minutes). * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **hostedZoneId** *(string) --* The Amazon Route 53 health check configuration hosted zone ID. * **recordName** *(string) --* The Amazon Route 53 health check configuration record name. * **recordSets** *(list) --* The Amazon Route 53 health check configuration record sets. * *(dict) --* The Amazon Route 53 record set. * **recordSetIdentifier** *(string) --* The Amazon Route 53 record set identifier. * **region** *(string) --* The Amazon Route 53 record set Region. * **executionBlockType** *(string) --* The type of an execution block in a workflow. * **workflowTargetAction** *(string) --* The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE. * **workflowTargetRegion** *(string) --* The Amazon Web Services Region that the workflow targets. * **workflowDescription** *(string) --* The description of the workflow. * **executionRole** *(string) --* The execution role for a plan. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective for a plan. * **associatedAlarms** *(dict) --* The associated application health alarms for a plan. * *(string) --* * *(dict) --* An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **resourceIdentifier** *(string) --* The resource identifier for alarms that you associate with a plan. * **alarmType** *(string) --* The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm. * **triggers** *(list) --* The triggers for a plan. * *(dict) --* Defines a condition that can automatically trigger the execution of a Region switch plan. * **description** *(string) --* The description for a trigger. * **targetRegion** *(string) --* The Amazon Web Services Region for a trigger. * **action** *(string) --* The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE. * **conditions** *(list) --* The conditions that must be met for the trigger to fire. * *(dict) --* Defines a condition that must be met for a trigger to fire. * **associatedAlarmName** *(string) --* The name of the CloudWatch alarm associated with the condition. * **condition** *(string) --* The condition that must be met. Valid values include ALARM and OK. * **minDelayMinutesBetweenExecutions** *(integer) --* The minimum time, in minutes, that must elapse between automatic executions of the plan. * **name** *(string) --* The name for a plan. * **regions** *(list) --* The Amazon Web Services Regions for a plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **owner** *(string) --* The owner of a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan was last updated. **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" ARCRegionswitch / Client / update_plan_execution_step update_plan_execution_step ************************** ARCRegionswitch.Client.update_plan_execution_step(**kwargs) Updates a specific step in an in-progress plan execution. This operation allows you to modify the step's comment or action. See also: AWS API Documentation **Request Syntax** response = client.update_plan_execution_step( planArn='string', executionId='string', comment='string', stepName='string', actionToTake='switchToUngraceful'|'skip' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan containing the execution step to update. * **executionId** (*string*) -- **[REQUIRED]** The unique identifier of the plan execution containing the step to update. * **comment** (*string*) -- **[REQUIRED]** An optional comment about the plan execution. * **stepName** (*string*) -- **[REQUIRED]** The name of the execution step to update. * **actionToTake** (*string*) -- **[REQUIRED]** The updated action to take for the step. This can be used to skip or retry a step. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / list_route53_health_checks list_route53_health_checks ************************** ARCRegionswitch.Client.list_route53_health_checks(**kwargs) List the Amazon Route 53 health checks. See also: AWS API Documentation **Request Syntax** response = client.list_route53_health_checks( arn='string', hostedZoneId='string', recordName='string', maxResults=123, nextToken='string' ) Parameters: * **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the Amazon Route 53 health check request. * **hostedZoneId** (*string*) -- The hosted zone ID for the health checks. * **recordName** (*string*) -- The record name for the health checks. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. Return type: dict Returns: **Response Syntax** { 'healthChecks': [ { 'hostedZoneId': 'string', 'recordName': 'string', 'healthCheckId': 'string', 'region': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **healthChecks** *(list) --* List of the health checks requested. * *(dict) --* The Amazon Route 53 health check. * **hostedZoneId** *(string) --* The Amazon Route 53 health check hosted zone ID. * **recordName** *(string) --* The Amazon Route 53 record name. * **healthCheckId** *(string) --* The Amazon Route 53 health check ID. * **region** *(string) --* The Amazon Route 53 Region. * **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** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" * "ARCRegionswitch.Client.exceptions.InternalServerException" ARCRegionswitch / Client / update_plan update_plan *********** ARCRegionswitch.Client.update_plan(**kwargs) Updates an existing Region switch plan. You can modify the plan's description, workflows, execution role, recovery time objective, associated alarms, and triggers. See also: AWS API Documentation **Request Syntax** response = client.update_plan( arn='string', description='string', workflows=[ { 'steps': [ { 'name': 'string', 'description': 'string', 'executionBlockConfiguration': { 'customActionLambdaConfig': { 'timeoutMinutes': 123, 'lambdas': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'retryIntervalMinutes': ..., 'regionToRun': 'activatingRegion'|'deactivatingRegion', 'ungraceful': { 'behavior': 'skip' } }, 'ec2AsgCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'asgs': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'autoscalingMaxInLast24Hours' }, 'executionApprovalConfig': { 'timeoutMinutes': 123, 'approvalRole': 'string' }, 'arcRoutingControlConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'regionAndRoutingControls': { 'string': [ { 'routingControlArn': 'string', 'state': 'On'|'Off' }, ] } }, 'globalAuroraConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'behavior': 'switchoverOnly'|'failover', 'ungraceful': { 'ungraceful': 'failover' }, 'globalClusterIdentifier': 'string', 'databaseClusterArns': [ 'string', ] }, 'parallelConfig': { 'steps': {'... recursive ...'} }, 'regionSwitchPlanConfig': { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, 'ecsCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'services': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string', 'serviceArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'containerInsightsMaxInLast24Hours' }, 'eksResourceScalingConfig': { 'timeoutMinutes': 123, 'kubernetesResourceType': { 'apiVersion': 'string', 'kind': 'string' }, 'scalingResources': [ { 'string': { 'string': { 'namespace': 'string', 'name': 'string', 'hpaName': 'string' } } }, ], 'eksClusters': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours' }, 'route53HealthCheckConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'hostedZoneId': 'string', 'recordName': 'string', 'recordSets': [ { 'recordSetIdentifier': 'string', 'region': 'string' }, ] } }, 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck' }, ], 'workflowTargetAction': 'activate'|'deactivate', 'workflowTargetRegion': 'string', 'workflowDescription': 'string' }, ], executionRole='string', recoveryTimeObjectiveMinutes=123, associatedAlarms={ 'string': { 'crossAccountRole': 'string', 'externalId': 'string', 'resourceIdentifier': 'string', 'alarmType': 'applicationHealth'|'trigger' } }, triggers=[ { 'description': 'string', 'targetRegion': 'string', 'action': 'activate'|'deactivate', 'conditions': [ { 'associatedAlarmName': 'string', 'condition': 'red'|'green' }, ], 'minDelayMinutesBetweenExecutions': 123 }, ] ) Parameters: * **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan. * **description** (*string*) -- The updated description for the Region switch plan. * **workflows** (*list*) -- **[REQUIRED]** The updated workflows for the Region switch plan. * *(dict) --* Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch. * **steps** *(list) --* The steps that make up the workflow. * *(dict) --* Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process. * **name** *(string) --* **[REQUIRED]** The name of a step in a workflow. * **description** *(string) --* The description of a step in a workflow. * **executionBlockConfiguration** *(dict) --* **[REQUIRED]** The configuration for an execution block in a workflow. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "customActionLambdaConfig", "ec2AsgCapacityIncreaseConfig", "executionApprovalConfig", "arcRoutingControlConfig", "globalAuroraConfig", "parallelConfig", "regionSwitchPlanConfig", "ecsCapacityIncreaseConfig", "eksResourceScalingConfig", "route53HealthCheckConfig". * **customActionLambdaConfig** *(dict) --* An Amazon Web Services Lambda execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **lambdas** *(list) --* **[REQUIRED]** The Amazon Web Services Lambda functions for the execution block. * *(dict) --* Configuration for Amazon Web Services Lambda functions used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Lambda function. * **retryIntervalMinutes** *(float) --* **[REQUIRED]** The retry interval specified. * **regionToRun** *(string) --* **[REQUIRED]** The Amazon Web Services Region for the function to run in. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **behavior** *(string) --* The ungraceful behavior for a Lambda function, which must be set to "skip". * **ec2AsgCapacityIncreaseConfig** *(dict) --* An EC2 Auto Scaling group execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **asgs** *(list) --* **[REQUIRED]** The EC2 Auto Scaling groups for the configuration. * *(dict) --* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* **[REQUIRED]** The minimum success percentage that you specify for EC2 Auto Scaling groups. * **targetPercent** *(integer) --* The target percentage that you specify for EC2 Auto Scaling groups. * **capacityMonitoringApproach** *(string) --* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration. * **executionApprovalConfig** *(dict) --* A manual approval execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **approvalRole** *(string) --* **[REQUIRED]** The IAM approval role for the configuration. * **arcRoutingControlConfig** *(dict) --* An ARC routing control execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **regionAndRoutingControls** *(dict) --* **[REQUIRED]** The Region and ARC routing controls for the configuration. * *(string) --* * *(list) --* * *(dict) --* Represents the state of an ARC routing control. * **routingControlArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of a routing control. * **state** *(string) --* **[REQUIRED]** The state of an ARC routing control, On or Off. * **globalAuroraConfig** *(dict) --* An Aurora Global Database execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **behavior** *(string) --* **[REQUIRED]** The behavior for a global database, that is, only allow switchover or also allow failover. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **ungraceful** *(string) --* The settings for ungraceful execution. * **globalClusterIdentifier** *(string) --* **[REQUIRED]** The global cluster identifier for a global database. * **databaseClusterArns** *(list) --* **[REQUIRED]** The database cluster Amazon Resource Names (ARNs) for a global database. * *(string) --* * **parallelConfig** *(dict) --* A parallel configuration execution block. * **steps** *(list) --* The steps for a parallel execution block. * **regionSwitchPlanConfig** *(dict) --* A Region switch plan execution block. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the plan configuration. * **ecsCapacityIncreaseConfig** *(dict) --* The capacity increase specified for the configuration. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **services** *(list) --* **[REQUIRED]** The services specified for the configuration. * *(dict) --* The service for a cross account role. * **crossAccountRole** *(string) --* The cross account role for a service. * **externalId** *(string) --* The external ID (secret key) for the service. * **clusterArn** *(string) --* The cluster Amazon Resource Name (ARN) for a service. * **serviceArn** *(string) --* The Amazon Resource Name (ARN) for a service. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* **[REQUIRED]** The minimum success percentage specified for the configuration. * **targetPercent** *(integer) --* The target percentage specified for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach specified for the configuration, for example, "Most_Recent". * **eksResourceScalingConfig** *(dict) --* An Amazon Web Services EKS resource scaling execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **kubernetesResourceType** *(dict) --* **[REQUIRED]** The Kubernetes resource type for the configuration. * **apiVersion** *(string) --* **[REQUIRED]** The API version type for the Kubernetes resource. * **kind** *(string) --* **[REQUIRED]** The kind for the Kubernetes resource. * **scalingResources** *(list) --* The scaling resources for the configuration. * *(dict) --* * *(string) --* * *(dict) --* * *(string) --* * *(dict) --* Defines a Kubernetes resource to scale in an Amazon EKS cluster. * **namespace** *(string) --* **[REQUIRED]** The namespace for the Kubernetes resource. * **name** *(string) --* **[REQUIRED]** The name for the Kubernetes resource. * **hpaName** *(string) --* The hpaname for the Kubernetes resource. * **eksClusters** *(list) --* The clusters for the configuration. * *(dict) --* The Amazon Web Services EKS cluster execution block configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **clusterArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* **[REQUIRED]** The minimum success percentage for the configuration. * **targetPercent** *(integer) --* The target percentage for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours. * **route53HealthCheckConfig** *(dict) --* The Amazon Route 53 health check configuration. * **timeoutMinutes** *(integer) --* The Amazon Route 53 health check configuration time out (in minutes). * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **hostedZoneId** *(string) --* **[REQUIRED]** The Amazon Route 53 health check configuration hosted zone ID. * **recordName** *(string) --* **[REQUIRED]** The Amazon Route 53 health check configuration record name. * **recordSets** *(list) --* The Amazon Route 53 health check configuration record sets. * *(dict) --* The Amazon Route 53 record set. * **recordSetIdentifier** *(string) --* The Amazon Route 53 record set identifier. * **region** *(string) --* The Amazon Route 53 record set Region. * **executionBlockType** *(string) --* **[REQUIRED]** The type of an execution block in a workflow. * **workflowTargetAction** *(string) --* **[REQUIRED]** The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE. * **workflowTargetRegion** *(string) --* The Amazon Web Services Region that the workflow targets. * **workflowDescription** *(string) --* The description of the workflow. * **executionRole** (*string*) -- **[REQUIRED]** The updated IAM role ARN that grants Region switch the permissions needed to execute the plan steps. * **recoveryTimeObjectiveMinutes** (*integer*) -- The updated target recovery time objective (RTO) in minutes for the plan. * **associatedAlarms** (*dict*) -- The updated CloudWatch alarms associated with the plan. * *(string) --* * *(dict) --* An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **resourceIdentifier** *(string) --* **[REQUIRED]** The resource identifier for alarms that you associate with a plan. * **alarmType** *(string) --* **[REQUIRED]** The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm. * **triggers** (*list*) -- The updated conditions that can automatically trigger the execution of the plan. * *(dict) --* Defines a condition that can automatically trigger the execution of a Region switch plan. * **description** *(string) --* The description for a trigger. * **targetRegion** *(string) --* **[REQUIRED]** The Amazon Web Services Region for a trigger. * **action** *(string) --* **[REQUIRED]** The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE. * **conditions** *(list) --* **[REQUIRED]** The conditions that must be met for the trigger to fire. * *(dict) --* Defines a condition that must be met for a trigger to fire. * **associatedAlarmName** *(string) --* **[REQUIRED]** The name of the CloudWatch alarm associated with the condition. * **condition** *(string) --* **[REQUIRED]** The condition that must be met. Valid values include ALARM and OK. * **minDelayMinutesBetweenExecutions** *(integer) --* **[REQUIRED]** The minimum time, in minutes, that must elapse between automatic executions of the plan. Return type: dict Returns: **Response Syntax** { 'plan': { 'arn': 'string', 'description': 'string', 'workflows': [ { 'steps': [ { 'name': 'string', 'description': 'string', 'executionBlockConfiguration': { 'customActionLambdaConfig': { 'timeoutMinutes': 123, 'lambdas': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'retryIntervalMinutes': ..., 'regionToRun': 'activatingRegion'|'deactivatingRegion', 'ungraceful': { 'behavior': 'skip' } }, 'ec2AsgCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'asgs': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'autoscalingMaxInLast24Hours' }, 'executionApprovalConfig': { 'timeoutMinutes': 123, 'approvalRole': 'string' }, 'arcRoutingControlConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'regionAndRoutingControls': { 'string': [ { 'routingControlArn': 'string', 'state': 'On'|'Off' }, ] } }, 'globalAuroraConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'behavior': 'switchoverOnly'|'failover', 'ungraceful': { 'ungraceful': 'failover' }, 'globalClusterIdentifier': 'string', 'databaseClusterArns': [ 'string', ] }, 'parallelConfig': { 'steps': {'... recursive ...'} }, 'regionSwitchPlanConfig': { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, 'ecsCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'services': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string', 'serviceArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'containerInsightsMaxInLast24Hours' }, 'eksResourceScalingConfig': { 'timeoutMinutes': 123, 'kubernetesResourceType': { 'apiVersion': 'string', 'kind': 'string' }, 'scalingResources': [ { 'string': { 'string': { 'namespace': 'string', 'name': 'string', 'hpaName': 'string' } } }, ], 'eksClusters': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours' }, 'route53HealthCheckConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'hostedZoneId': 'string', 'recordName': 'string', 'recordSets': [ { 'recordSetIdentifier': 'string', 'region': 'string' }, ] } }, 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck' }, ], 'workflowTargetAction': 'activate'|'deactivate', 'workflowTargetRegion': 'string', 'workflowDescription': 'string' }, ], 'executionRole': 'string', 'recoveryTimeObjectiveMinutes': 123, 'associatedAlarms': { 'string': { 'crossAccountRole': 'string', 'externalId': 'string', 'resourceIdentifier': 'string', 'alarmType': 'applicationHealth'|'trigger' } }, 'triggers': [ { 'description': 'string', 'targetRegion': 'string', 'action': 'activate'|'deactivate', 'conditions': [ { 'associatedAlarmName': 'string', 'condition': 'red'|'green' }, ], 'minDelayMinutesBetweenExecutions': 123 }, ], 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'owner': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **plan** *(dict) --* The details of the updated Region switch plan. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **description** *(string) --* The description for a plan. * **workflows** *(list) --* The workflows for a plan. * *(dict) --* Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch. * **steps** *(list) --* The steps that make up the workflow. * *(dict) --* Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process. * **name** *(string) --* The name of a step in a workflow. * **description** *(string) --* The description of a step in a workflow. * **executionBlockConfiguration** *(dict) --* The configuration for an execution block in a workflow. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "customActionLambdaConfig", "ec2AsgCapacityIncreaseConfig", "executionApprovalConfig", "arcRoutingControlConfig", "globalAuroraConfig", "parallelConfig", "regionSwitchPlanConfig", "ecsCapacityIncreaseConfig", "eksResourceScalingConfig", "route53HealthCheckConfig". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **customActionLambdaConfig** *(dict) --* An Amazon Web Services Lambda execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **lambdas** *(list) --* The Amazon Web Services Lambda functions for the execution block. * *(dict) --* Configuration for Amazon Web Services Lambda functions used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Lambda function. * **retryIntervalMinutes** *(float) --* The retry interval specified. * **regionToRun** *(string) --* The Amazon Web Services Region for the function to run in. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **behavior** *(string) --* The ungraceful behavior for a Lambda function, which must be set to "skip". * **ec2AsgCapacityIncreaseConfig** *(dict) --* An EC2 Auto Scaling group execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **asgs** *(list) --* The EC2 Auto Scaling groups for the configuration. * *(dict) --* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage that you specify for EC2 Auto Scaling groups. * **targetPercent** *(integer) --* The target percentage that you specify for EC2 Auto Scaling groups. * **capacityMonitoringApproach** *(string) --* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration. * **executionApprovalConfig** *(dict) --* A manual approval execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **approvalRole** *(string) --* The IAM approval role for the configuration. * **arcRoutingControlConfig** *(dict) --* An ARC routing control execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **regionAndRoutingControls** *(dict) --* The Region and ARC routing controls for the configuration. * *(string) --* * *(list) --* * *(dict) --* Represents the state of an ARC routing control. * **routingControlArn** *(string) --* The Amazon Resource Name (ARN) of a routing control. * **state** *(string) --* The state of an ARC routing control, On or Off. * **globalAuroraConfig** *(dict) --* An Aurora Global Database execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **behavior** *(string) --* The behavior for a global database, that is, only allow switchover or also allow failover. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **ungraceful** *(string) --* The settings for ungraceful execution. * **globalClusterIdentifier** *(string) --* The global cluster identifier for a global database. * **databaseClusterArns** *(list) --* The database cluster Amazon Resource Names (ARNs) for a global database. * *(string) --* * **parallelConfig** *(dict) --* A parallel configuration execution block. * **steps** *(list) --* The steps for a parallel execution block. * **regionSwitchPlanConfig** *(dict) --* A Region switch plan execution block. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan configuration. * **ecsCapacityIncreaseConfig** *(dict) --* The capacity increase specified for the configuration. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **services** *(list) --* The services specified for the configuration. * *(dict) --* The service for a cross account role. * **crossAccountRole** *(string) --* The cross account role for a service. * **externalId** *(string) --* The external ID (secret key) for the service. * **clusterArn** *(string) --* The cluster Amazon Resource Name (ARN) for a service. * **serviceArn** *(string) --* The Amazon Resource Name (ARN) for a service. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage specified for the configuration. * **targetPercent** *(integer) --* The target percentage specified for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach specified for the configuration, for example, "Most_Recent". * **eksResourceScalingConfig** *(dict) --* An Amazon Web Services EKS resource scaling execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **kubernetesResourceType** *(dict) --* The Kubernetes resource type for the configuration. * **apiVersion** *(string) --* The API version type for the Kubernetes resource. * **kind** *(string) --* The kind for the Kubernetes resource. * **scalingResources** *(list) --* The scaling resources for the configuration. * *(dict) --* * *(string) --* * *(dict) --* * *(string) --* * *(dict) --* Defines a Kubernetes resource to scale in an Amazon EKS cluster. * **namespace** *(string) --* The namespace for the Kubernetes resource. * **name** *(string) --* The name for the Kubernetes resource. * **hpaName** *(string) --* The hpaname for the Kubernetes resource. * **eksClusters** *(list) --* The clusters for the configuration. * *(dict) --* The Amazon Web Services EKS cluster execution block configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **clusterArn** *(string) --* The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage for the configuration. * **targetPercent** *(integer) --* The target percentage for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours. * **route53HealthCheckConfig** *(dict) --* The Amazon Route 53 health check configuration. * **timeoutMinutes** *(integer) --* The Amazon Route 53 health check configuration time out (in minutes). * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **hostedZoneId** *(string) --* The Amazon Route 53 health check configuration hosted zone ID. * **recordName** *(string) --* The Amazon Route 53 health check configuration record name. * **recordSets** *(list) --* The Amazon Route 53 health check configuration record sets. * *(dict) --* The Amazon Route 53 record set. * **recordSetIdentifier** *(string) --* The Amazon Route 53 record set identifier. * **region** *(string) --* The Amazon Route 53 record set Region. * **executionBlockType** *(string) --* The type of an execution block in a workflow. * **workflowTargetAction** *(string) --* The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE. * **workflowTargetRegion** *(string) --* The Amazon Web Services Region that the workflow targets. * **workflowDescription** *(string) --* The description of the workflow. * **executionRole** *(string) --* The execution role for a plan. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective for a plan. * **associatedAlarms** *(dict) --* The associated application health alarms for a plan. * *(string) --* * *(dict) --* An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **resourceIdentifier** *(string) --* The resource identifier for alarms that you associate with a plan. * **alarmType** *(string) --* The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm. * **triggers** *(list) --* The triggers for a plan. * *(dict) --* Defines a condition that can automatically trigger the execution of a Region switch plan. * **description** *(string) --* The description for a trigger. * **targetRegion** *(string) --* The Amazon Web Services Region for a trigger. * **action** *(string) --* The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE. * **conditions** *(list) --* The conditions that must be met for the trigger to fire. * *(dict) --* Defines a condition that must be met for a trigger to fire. * **associatedAlarmName** *(string) --* The name of the CloudWatch alarm associated with the condition. * **condition** *(string) --* The condition that must be met. Valid values include ALARM and OK. * **minDelayMinutesBetweenExecutions** *(integer) --* The minimum time, in minutes, that must elapse between automatic executions of the plan. * **name** *(string) --* The name for a plan. * **regions** *(list) --* The Amazon Web Services Regions for a plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **owner** *(string) --* The owner of a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan was last updated. **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" ARCRegionswitch / Client / close close ***** ARCRegionswitch.Client.close() Closes underlying endpoint connections. ARCRegionswitch / Client / approve_plan_execution_step approve_plan_execution_step *************************** ARCRegionswitch.Client.approve_plan_execution_step(**kwargs) Approves a step in a plan execution that requires manual approval. When you create a plan, you can include approval steps that require manual intervention before the execution can proceed. This operation allows you to provide that approval. You must specify the plan ARN, execution ID, step name, and approval status. You can also provide an optional comment explaining the approval decision. See also: AWS API Documentation **Request Syntax** response = client.approve_plan_execution_step( planArn='string', executionId='string', stepName='string', approval='approve'|'decline', comment='string' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan. * **executionId** (*string*) -- **[REQUIRED]** The execution identifier of a plan execution. * **stepName** (*string*) -- **[REQUIRED]** The name of a step in a plan execution. * **approval** (*string*) -- **[REQUIRED]** The status of approval for a plan execution step. * **comment** (*string*) -- A comment that you can enter about a plan execution. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / cancel_plan_execution cancel_plan_execution ********************* ARCRegionswitch.Client.cancel_plan_execution(**kwargs) Cancels an in-progress plan execution. This operation stops the execution of the plan and prevents any further steps from being processed. You must specify the plan ARN and execution ID. You can also provide an optional comment explaining why the execution was canceled. See also: AWS API Documentation **Request Syntax** response = client.cancel_plan_execution( planArn='string', executionId='string', comment='string' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan. * **executionId** (*string*) -- **[REQUIRED]** The execution identifier of a plan execution. * **comment** (*string*) -- A comment that you can enter about canceling a plan execution step. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / create_plan create_plan *********** ARCRegionswitch.Client.create_plan(**kwargs) Creates a new Region switch plan. A plan defines the steps required to shift traffic from one Amazon Web Services Region to another. You must specify a name for the plan, the primary Region, and at least one additional Region. You can also provide a description, execution role, recovery time objective, associated alarms, triggers, and workflows that define the steps to execute during a Region switch. See also: AWS API Documentation **Request Syntax** response = client.create_plan( description='string', workflows=[ { 'steps': [ { 'name': 'string', 'description': 'string', 'executionBlockConfiguration': { 'customActionLambdaConfig': { 'timeoutMinutes': 123, 'lambdas': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'retryIntervalMinutes': ..., 'regionToRun': 'activatingRegion'|'deactivatingRegion', 'ungraceful': { 'behavior': 'skip' } }, 'ec2AsgCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'asgs': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'autoscalingMaxInLast24Hours' }, 'executionApprovalConfig': { 'timeoutMinutes': 123, 'approvalRole': 'string' }, 'arcRoutingControlConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'regionAndRoutingControls': { 'string': [ { 'routingControlArn': 'string', 'state': 'On'|'Off' }, ] } }, 'globalAuroraConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'behavior': 'switchoverOnly'|'failover', 'ungraceful': { 'ungraceful': 'failover' }, 'globalClusterIdentifier': 'string', 'databaseClusterArns': [ 'string', ] }, 'parallelConfig': { 'steps': {'... recursive ...'} }, 'regionSwitchPlanConfig': { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, 'ecsCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'services': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string', 'serviceArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'containerInsightsMaxInLast24Hours' }, 'eksResourceScalingConfig': { 'timeoutMinutes': 123, 'kubernetesResourceType': { 'apiVersion': 'string', 'kind': 'string' }, 'scalingResources': [ { 'string': { 'string': { 'namespace': 'string', 'name': 'string', 'hpaName': 'string' } } }, ], 'eksClusters': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours' }, 'route53HealthCheckConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'hostedZoneId': 'string', 'recordName': 'string', 'recordSets': [ { 'recordSetIdentifier': 'string', 'region': 'string' }, ] } }, 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck' }, ], 'workflowTargetAction': 'activate'|'deactivate', 'workflowTargetRegion': 'string', 'workflowDescription': 'string' }, ], executionRole='string', recoveryTimeObjectiveMinutes=123, associatedAlarms={ 'string': { 'crossAccountRole': 'string', 'externalId': 'string', 'resourceIdentifier': 'string', 'alarmType': 'applicationHealth'|'trigger' } }, triggers=[ { 'description': 'string', 'targetRegion': 'string', 'action': 'activate'|'deactivate', 'conditions': [ { 'associatedAlarmName': 'string', 'condition': 'red'|'green' }, ], 'minDelayMinutesBetweenExecutions': 123 }, ], name='string', regions=[ 'string', ], recoveryApproach='activeActive'|'activePassive', primaryRegion='string', tags={ 'string': 'string' } ) Parameters: * **description** (*string*) -- The description of a Region switch plan. * **workflows** (*list*) -- **[REQUIRED]** An array of workflows included in a Region switch plan. * *(dict) --* Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch. * **steps** *(list) --* The steps that make up the workflow. * *(dict) --* Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process. * **name** *(string) --* **[REQUIRED]** The name of a step in a workflow. * **description** *(string) --* The description of a step in a workflow. * **executionBlockConfiguration** *(dict) --* **[REQUIRED]** The configuration for an execution block in a workflow. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "customActionLambdaConfig", "ec2AsgCapacityIncreaseConfig", "executionApprovalConfig", "arcRoutingControlConfig", "globalAuroraConfig", "parallelConfig", "regionSwitchPlanConfig", "ecsCapacityIncreaseConfig", "eksResourceScalingConfig", "route53HealthCheckConfig". * **customActionLambdaConfig** *(dict) --* An Amazon Web Services Lambda execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **lambdas** *(list) --* **[REQUIRED]** The Amazon Web Services Lambda functions for the execution block. * *(dict) --* Configuration for Amazon Web Services Lambda functions used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Lambda function. * **retryIntervalMinutes** *(float) --* **[REQUIRED]** The retry interval specified. * **regionToRun** *(string) --* **[REQUIRED]** The Amazon Web Services Region for the function to run in. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **behavior** *(string) --* The ungraceful behavior for a Lambda function, which must be set to "skip". * **ec2AsgCapacityIncreaseConfig** *(dict) --* An EC2 Auto Scaling group execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **asgs** *(list) --* **[REQUIRED]** The EC2 Auto Scaling groups for the configuration. * *(dict) --* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* **[REQUIRED]** The minimum success percentage that you specify for EC2 Auto Scaling groups. * **targetPercent** *(integer) --* The target percentage that you specify for EC2 Auto Scaling groups. * **capacityMonitoringApproach** *(string) --* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration. * **executionApprovalConfig** *(dict) --* A manual approval execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **approvalRole** *(string) --* **[REQUIRED]** The IAM approval role for the configuration. * **arcRoutingControlConfig** *(dict) --* An ARC routing control execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **regionAndRoutingControls** *(dict) --* **[REQUIRED]** The Region and ARC routing controls for the configuration. * *(string) --* * *(list) --* * *(dict) --* Represents the state of an ARC routing control. * **routingControlArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of a routing control. * **state** *(string) --* **[REQUIRED]** The state of an ARC routing control, On or Off. * **globalAuroraConfig** *(dict) --* An Aurora Global Database execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **behavior** *(string) --* **[REQUIRED]** The behavior for a global database, that is, only allow switchover or also allow failover. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **ungraceful** *(string) --* The settings for ungraceful execution. * **globalClusterIdentifier** *(string) --* **[REQUIRED]** The global cluster identifier for a global database. * **databaseClusterArns** *(list) --* **[REQUIRED]** The database cluster Amazon Resource Names (ARNs) for a global database. * *(string) --* * **parallelConfig** *(dict) --* A parallel configuration execution block. * **steps** *(list) --* The steps for a parallel execution block. * **regionSwitchPlanConfig** *(dict) --* A Region switch plan execution block. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the plan configuration. * **ecsCapacityIncreaseConfig** *(dict) --* The capacity increase specified for the configuration. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **services** *(list) --* **[REQUIRED]** The services specified for the configuration. * *(dict) --* The service for a cross account role. * **crossAccountRole** *(string) --* The cross account role for a service. * **externalId** *(string) --* The external ID (secret key) for the service. * **clusterArn** *(string) --* The cluster Amazon Resource Name (ARN) for a service. * **serviceArn** *(string) --* The Amazon Resource Name (ARN) for a service. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* **[REQUIRED]** The minimum success percentage specified for the configuration. * **targetPercent** *(integer) --* The target percentage specified for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach specified for the configuration, for example, "Most_Recent". * **eksResourceScalingConfig** *(dict) --* An Amazon Web Services EKS resource scaling execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **kubernetesResourceType** *(dict) --* **[REQUIRED]** The Kubernetes resource type for the configuration. * **apiVersion** *(string) --* **[REQUIRED]** The API version type for the Kubernetes resource. * **kind** *(string) --* **[REQUIRED]** The kind for the Kubernetes resource. * **scalingResources** *(list) --* The scaling resources for the configuration. * *(dict) --* * *(string) --* * *(dict) --* * *(string) --* * *(dict) --* Defines a Kubernetes resource to scale in an Amazon EKS cluster. * **namespace** *(string) --* **[REQUIRED]** The namespace for the Kubernetes resource. * **name** *(string) --* **[REQUIRED]** The name for the Kubernetes resource. * **hpaName** *(string) --* The hpaname for the Kubernetes resource. * **eksClusters** *(list) --* The clusters for the configuration. * *(dict) --* The Amazon Web Services EKS cluster execution block configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **clusterArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* **[REQUIRED]** The minimum success percentage for the configuration. * **targetPercent** *(integer) --* The target percentage for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours. * **route53HealthCheckConfig** *(dict) --* The Amazon Route 53 health check configuration. * **timeoutMinutes** *(integer) --* The Amazon Route 53 health check configuration time out (in minutes). * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **hostedZoneId** *(string) --* **[REQUIRED]** The Amazon Route 53 health check configuration hosted zone ID. * **recordName** *(string) --* **[REQUIRED]** The Amazon Route 53 health check configuration record name. * **recordSets** *(list) --* The Amazon Route 53 health check configuration record sets. * *(dict) --* The Amazon Route 53 record set. * **recordSetIdentifier** *(string) --* The Amazon Route 53 record set identifier. * **region** *(string) --* The Amazon Route 53 record set Region. * **executionBlockType** *(string) --* **[REQUIRED]** The type of an execution block in a workflow. * **workflowTargetAction** *(string) --* **[REQUIRED]** The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE. * **workflowTargetRegion** *(string) --* The Amazon Web Services Region that the workflow targets. * **workflowDescription** *(string) --* The description of the workflow. * **executionRole** (*string*) -- **[REQUIRED]** An execution role is a way to categorize a Region switch plan. * **recoveryTimeObjectiveMinutes** (*integer*) -- Optionally, you can specify an recovery time objective for a Region switch plan, in minutes. * **associatedAlarms** (*dict*) -- The alarms associated with a Region switch plan. * *(string) --* * *(dict) --* An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **resourceIdentifier** *(string) --* **[REQUIRED]** The resource identifier for alarms that you associate with a plan. * **alarmType** *(string) --* **[REQUIRED]** The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm. * **triggers** (*list*) -- The triggers associated with a Region switch plan. * *(dict) --* Defines a condition that can automatically trigger the execution of a Region switch plan. * **description** *(string) --* The description for a trigger. * **targetRegion** *(string) --* **[REQUIRED]** The Amazon Web Services Region for a trigger. * **action** *(string) --* **[REQUIRED]** The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE. * **conditions** *(list) --* **[REQUIRED]** The conditions that must be met for the trigger to fire. * *(dict) --* Defines a condition that must be met for a trigger to fire. * **associatedAlarmName** *(string) --* **[REQUIRED]** The name of the CloudWatch alarm associated with the condition. * **condition** *(string) --* **[REQUIRED]** The condition that must be met. Valid values include ALARM and OK. * **minDelayMinutesBetweenExecutions** *(integer) --* **[REQUIRED]** The minimum time, in minutes, that must elapse between automatic executions of the plan. * **name** (*string*) -- **[REQUIRED]** The name of a Region switch plan. * **regions** (*list*) -- **[REQUIRED]** An array that specifies the Amazon Web Services Regions for a Region switch plan. Specify two Regions. * *(string) --* * **recoveryApproach** (*string*) -- **[REQUIRED]** The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** (*string*) -- The primary Amazon Web Services Region for the application. This is the Region where the application normally runs before any Region switch occurs. * **tags** (*dict*) -- The tags to apply to the Region switch plan. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'plan': { 'arn': 'string', 'description': 'string', 'workflows': [ { 'steps': [ { 'name': 'string', 'description': 'string', 'executionBlockConfiguration': { 'customActionLambdaConfig': { 'timeoutMinutes': 123, 'lambdas': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'retryIntervalMinutes': ..., 'regionToRun': 'activatingRegion'|'deactivatingRegion', 'ungraceful': { 'behavior': 'skip' } }, 'ec2AsgCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'asgs': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'autoscalingMaxInLast24Hours' }, 'executionApprovalConfig': { 'timeoutMinutes': 123, 'approvalRole': 'string' }, 'arcRoutingControlConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'regionAndRoutingControls': { 'string': [ { 'routingControlArn': 'string', 'state': 'On'|'Off' }, ] } }, 'globalAuroraConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'behavior': 'switchoverOnly'|'failover', 'ungraceful': { 'ungraceful': 'failover' }, 'globalClusterIdentifier': 'string', 'databaseClusterArns': [ 'string', ] }, 'parallelConfig': { 'steps': {'... recursive ...'} }, 'regionSwitchPlanConfig': { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, 'ecsCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'services': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string', 'serviceArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'containerInsightsMaxInLast24Hours' }, 'eksResourceScalingConfig': { 'timeoutMinutes': 123, 'kubernetesResourceType': { 'apiVersion': 'string', 'kind': 'string' }, 'scalingResources': [ { 'string': { 'string': { 'namespace': 'string', 'name': 'string', 'hpaName': 'string' } } }, ], 'eksClusters': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours' }, 'route53HealthCheckConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'hostedZoneId': 'string', 'recordName': 'string', 'recordSets': [ { 'recordSetIdentifier': 'string', 'region': 'string' }, ] } }, 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck' }, ], 'workflowTargetAction': 'activate'|'deactivate', 'workflowTargetRegion': 'string', 'workflowDescription': 'string' }, ], 'executionRole': 'string', 'recoveryTimeObjectiveMinutes': 123, 'associatedAlarms': { 'string': { 'crossAccountRole': 'string', 'externalId': 'string', 'resourceIdentifier': 'string', 'alarmType': 'applicationHealth'|'trigger' } }, 'triggers': [ { 'description': 'string', 'targetRegion': 'string', 'action': 'activate'|'deactivate', 'conditions': [ { 'associatedAlarmName': 'string', 'condition': 'red'|'green' }, ], 'minDelayMinutesBetweenExecutions': 123 }, ], 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'owner': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **plan** *(dict) --* The details of the created Region switch plan. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **description** *(string) --* The description for a plan. * **workflows** *(list) --* The workflows for a plan. * *(dict) --* Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch. * **steps** *(list) --* The steps that make up the workflow. * *(dict) --* Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process. * **name** *(string) --* The name of a step in a workflow. * **description** *(string) --* The description of a step in a workflow. * **executionBlockConfiguration** *(dict) --* The configuration for an execution block in a workflow. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "customActionLambdaConfig", "ec2AsgCapacityIncreaseConfig", "executionApprovalConfig", "arcRoutingControlConfig", "globalAuroraConfig", "parallelConfig", "regionSwitchPlanConfig", "ecsCapacityIncreaseConfig", "eksResourceScalingConfig", "route53HealthCheckConfig". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **customActionLambdaConfig** *(dict) --* An Amazon Web Services Lambda execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **lambdas** *(list) --* The Amazon Web Services Lambda functions for the execution block. * *(dict) --* Configuration for Amazon Web Services Lambda functions used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Lambda function. * **retryIntervalMinutes** *(float) --* The retry interval specified. * **regionToRun** *(string) --* The Amazon Web Services Region for the function to run in. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **behavior** *(string) --* The ungraceful behavior for a Lambda function, which must be set to "skip". * **ec2AsgCapacityIncreaseConfig** *(dict) --* An EC2 Auto Scaling group execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **asgs** *(list) --* The EC2 Auto Scaling groups for the configuration. * *(dict) --* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage that you specify for EC2 Auto Scaling groups. * **targetPercent** *(integer) --* The target percentage that you specify for EC2 Auto Scaling groups. * **capacityMonitoringApproach** *(string) --* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration. * **executionApprovalConfig** *(dict) --* A manual approval execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **approvalRole** *(string) --* The IAM approval role for the configuration. * **arcRoutingControlConfig** *(dict) --* An ARC routing control execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **regionAndRoutingControls** *(dict) --* The Region and ARC routing controls for the configuration. * *(string) --* * *(list) --* * *(dict) --* Represents the state of an ARC routing control. * **routingControlArn** *(string) --* The Amazon Resource Name (ARN) of a routing control. * **state** *(string) --* The state of an ARC routing control, On or Off. * **globalAuroraConfig** *(dict) --* An Aurora Global Database execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **behavior** *(string) --* The behavior for a global database, that is, only allow switchover or also allow failover. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **ungraceful** *(string) --* The settings for ungraceful execution. * **globalClusterIdentifier** *(string) --* The global cluster identifier for a global database. * **databaseClusterArns** *(list) --* The database cluster Amazon Resource Names (ARNs) for a global database. * *(string) --* * **parallelConfig** *(dict) --* A parallel configuration execution block. * **steps** *(list) --* The steps for a parallel execution block. * **regionSwitchPlanConfig** *(dict) --* A Region switch plan execution block. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan configuration. * **ecsCapacityIncreaseConfig** *(dict) --* The capacity increase specified for the configuration. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **services** *(list) --* The services specified for the configuration. * *(dict) --* The service for a cross account role. * **crossAccountRole** *(string) --* The cross account role for a service. * **externalId** *(string) --* The external ID (secret key) for the service. * **clusterArn** *(string) --* The cluster Amazon Resource Name (ARN) for a service. * **serviceArn** *(string) --* The Amazon Resource Name (ARN) for a service. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage specified for the configuration. * **targetPercent** *(integer) --* The target percentage specified for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach specified for the configuration, for example, "Most_Recent". * **eksResourceScalingConfig** *(dict) --* An Amazon Web Services EKS resource scaling execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **kubernetesResourceType** *(dict) --* The Kubernetes resource type for the configuration. * **apiVersion** *(string) --* The API version type for the Kubernetes resource. * **kind** *(string) --* The kind for the Kubernetes resource. * **scalingResources** *(list) --* The scaling resources for the configuration. * *(dict) --* * *(string) --* * *(dict) --* * *(string) --* * *(dict) --* Defines a Kubernetes resource to scale in an Amazon EKS cluster. * **namespace** *(string) --* The namespace for the Kubernetes resource. * **name** *(string) --* The name for the Kubernetes resource. * **hpaName** *(string) --* The hpaname for the Kubernetes resource. * **eksClusters** *(list) --* The clusters for the configuration. * *(dict) --* The Amazon Web Services EKS cluster execution block configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **clusterArn** *(string) --* The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage for the configuration. * **targetPercent** *(integer) --* The target percentage for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours. * **route53HealthCheckConfig** *(dict) --* The Amazon Route 53 health check configuration. * **timeoutMinutes** *(integer) --* The Amazon Route 53 health check configuration time out (in minutes). * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **hostedZoneId** *(string) --* The Amazon Route 53 health check configuration hosted zone ID. * **recordName** *(string) --* The Amazon Route 53 health check configuration record name. * **recordSets** *(list) --* The Amazon Route 53 health check configuration record sets. * *(dict) --* The Amazon Route 53 record set. * **recordSetIdentifier** *(string) --* The Amazon Route 53 record set identifier. * **region** *(string) --* The Amazon Route 53 record set Region. * **executionBlockType** *(string) --* The type of an execution block in a workflow. * **workflowTargetAction** *(string) --* The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE. * **workflowTargetRegion** *(string) --* The Amazon Web Services Region that the workflow targets. * **workflowDescription** *(string) --* The description of the workflow. * **executionRole** *(string) --* The execution role for a plan. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective for a plan. * **associatedAlarms** *(dict) --* The associated application health alarms for a plan. * *(string) --* * *(dict) --* An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **resourceIdentifier** *(string) --* The resource identifier for alarms that you associate with a plan. * **alarmType** *(string) --* The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm. * **triggers** *(list) --* The triggers for a plan. * *(dict) --* Defines a condition that can automatically trigger the execution of a Region switch plan. * **description** *(string) --* The description for a trigger. * **targetRegion** *(string) --* The Amazon Web Services Region for a trigger. * **action** *(string) --* The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE. * **conditions** *(list) --* The conditions that must be met for the trigger to fire. * *(dict) --* Defines a condition that must be met for a trigger to fire. * **associatedAlarmName** *(string) --* The name of the CloudWatch alarm associated with the condition. * **condition** *(string) --* The condition that must be met. Valid values include ALARM and OK. * **minDelayMinutesBetweenExecutions** *(integer) --* The minimum time, in minutes, that must elapse between automatic executions of the plan. * **name** *(string) --* The name for a plan. * **regions** *(list) --* The Amazon Web Services Regions for a plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **owner** *(string) --* The owner of a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan was last updated. ARCRegionswitch / Client / list_plans list_plans ********** ARCRegionswitch.Client.list_plans(**kwargs) Lists all Region switch plans in your Amazon Web Services account. See also: AWS API Documentation **Request Syntax** response = client.list_plans( maxResults=123, nextToken='string' ) Parameters: * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. Return type: dict Returns: **Response Syntax** { 'plans': [ { 'arn': 'string', 'owner': 'string', 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1), 'description': 'string', 'executionRole': 'string', 'activePlanExecution': 'string', 'recoveryTimeObjectiveMinutes': 123 }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **plans** *(list) --* The plans that were requested. * *(dict) --* A summarized representation of a Region switch plan. This structure contains key information about a plan without all the detailed workflow and step data. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Region switch plan. * **owner** *(string) --* The owner of a Region switch plan. * **name** *(string) --* The name of a Region switch plan. * **regions** *(list) --* The Amazon Web Services Region specified for a Region switch plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan execution was last updated. * **description** *(string) --* The description of a Region switch plan. * **executionRole** *(string) --* The execution role is a way to categorize a Region switch plan. * **activePlanExecution** *(string) --* Specifies if this is the active plan execution at this time. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective that you've specified. * **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. ARCRegionswitch / Client / get_plan_in_region get_plan_in_region ****************** ARCRegionswitch.Client.get_plan_in_region(**kwargs) Retrieves information about a Region switch plan in a specific Amazon Web Services Region. This operation is useful for getting Region-specific information about a plan. See also: AWS API Documentation **Request Syntax** response = client.get_plan_in_region( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan in Region. Return type: dict Returns: **Response Syntax** { 'plan': { 'arn': 'string', 'description': 'string', 'workflows': [ { 'steps': [ { 'name': 'string', 'description': 'string', 'executionBlockConfiguration': { 'customActionLambdaConfig': { 'timeoutMinutes': 123, 'lambdas': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'retryIntervalMinutes': ..., 'regionToRun': 'activatingRegion'|'deactivatingRegion', 'ungraceful': { 'behavior': 'skip' } }, 'ec2AsgCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'asgs': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'autoscalingMaxInLast24Hours' }, 'executionApprovalConfig': { 'timeoutMinutes': 123, 'approvalRole': 'string' }, 'arcRoutingControlConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'regionAndRoutingControls': { 'string': [ { 'routingControlArn': 'string', 'state': 'On'|'Off' }, ] } }, 'globalAuroraConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'behavior': 'switchoverOnly'|'failover', 'ungraceful': { 'ungraceful': 'failover' }, 'globalClusterIdentifier': 'string', 'databaseClusterArns': [ 'string', ] }, 'parallelConfig': { 'steps': {'... recursive ...'} }, 'regionSwitchPlanConfig': { 'crossAccountRole': 'string', 'externalId': 'string', 'arn': 'string' }, 'ecsCapacityIncreaseConfig': { 'timeoutMinutes': 123, 'services': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string', 'serviceArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours'|'containerInsightsMaxInLast24Hours' }, 'eksResourceScalingConfig': { 'timeoutMinutes': 123, 'kubernetesResourceType': { 'apiVersion': 'string', 'kind': 'string' }, 'scalingResources': [ { 'string': { 'string': { 'namespace': 'string', 'name': 'string', 'hpaName': 'string' } } }, ], 'eksClusters': [ { 'crossAccountRole': 'string', 'externalId': 'string', 'clusterArn': 'string' }, ], 'ungraceful': { 'minimumSuccessPercentage': 123 }, 'targetPercent': 123, 'capacityMonitoringApproach': 'sampledMaxInLast24Hours' }, 'route53HealthCheckConfig': { 'timeoutMinutes': 123, 'crossAccountRole': 'string', 'externalId': 'string', 'hostedZoneId': 'string', 'recordName': 'string', 'recordSets': [ { 'recordSetIdentifier': 'string', 'region': 'string' }, ] } }, 'executionBlockType': 'CustomActionLambda'|'ManualApproval'|'AuroraGlobalDatabase'|'EC2AutoScaling'|'ARCRoutingControl'|'ARCRegionSwitchPlan'|'Parallel'|'ECSServiceScaling'|'EKSResourceScaling'|'Route53HealthCheck' }, ], 'workflowTargetAction': 'activate'|'deactivate', 'workflowTargetRegion': 'string', 'workflowDescription': 'string' }, ], 'executionRole': 'string', 'recoveryTimeObjectiveMinutes': 123, 'associatedAlarms': { 'string': { 'crossAccountRole': 'string', 'externalId': 'string', 'resourceIdentifier': 'string', 'alarmType': 'applicationHealth'|'trigger' } }, 'triggers': [ { 'description': 'string', 'targetRegion': 'string', 'action': 'activate'|'deactivate', 'conditions': [ { 'associatedAlarmName': 'string', 'condition': 'red'|'green' }, ], 'minDelayMinutesBetweenExecutions': 123 }, ], 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'owner': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **plan** *(dict) --* The details of the Region switch plan. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **description** *(string) --* The description for a plan. * **workflows** *(list) --* The workflows for a plan. * *(dict) --* Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch. * **steps** *(list) --* The steps that make up the workflow. * *(dict) --* Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process. * **name** *(string) --* The name of a step in a workflow. * **description** *(string) --* The description of a step in a workflow. * **executionBlockConfiguration** *(dict) --* The configuration for an execution block in a workflow. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "customActionLambdaConfig", "ec2AsgCapacityIncreaseConfig", "executionApprovalConfig", "arcRoutingControlConfig", "globalAuroraConfig", "parallelConfig", "regionSwitchPlanConfig", "ecsCapacityIncreaseConfig", "eksResourceScalingConfig", "route53HealthCheckConfig". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **customActionLambdaConfig** *(dict) --* An Amazon Web Services Lambda execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **lambdas** *(list) --* The Amazon Web Services Lambda functions for the execution block. * *(dict) --* Configuration for Amazon Web Services Lambda functions used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Lambda function. * **retryIntervalMinutes** *(float) --* The retry interval specified. * **regionToRun** *(string) --* The Amazon Web Services Region for the function to run in. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **behavior** *(string) --* The ungraceful behavior for a Lambda function, which must be set to "skip". * **ec2AsgCapacityIncreaseConfig** *(dict) --* An EC2 Auto Scaling group execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **asgs** *(list) --* The EC2 Auto Scaling groups for the configuration. * *(dict) --* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage that you specify for EC2 Auto Scaling groups. * **targetPercent** *(integer) --* The target percentage that you specify for EC2 Auto Scaling groups. * **capacityMonitoringApproach** *(string) --* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration. * **executionApprovalConfig** *(dict) --* A manual approval execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **approvalRole** *(string) --* The IAM approval role for the configuration. * **arcRoutingControlConfig** *(dict) --* An ARC routing control execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **regionAndRoutingControls** *(dict) --* The Region and ARC routing controls for the configuration. * *(string) --* * *(list) --* * *(dict) --* Represents the state of an ARC routing control. * **routingControlArn** *(string) --* The Amazon Resource Name (ARN) of a routing control. * **state** *(string) --* The state of an ARC routing control, On or Off. * **globalAuroraConfig** *(dict) --* An Aurora Global Database execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **behavior** *(string) --* The behavior for a global database, that is, only allow switchover or also allow failover. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **ungraceful** *(string) --* The settings for ungraceful execution. * **globalClusterIdentifier** *(string) --* The global cluster identifier for a global database. * **databaseClusterArns** *(list) --* The database cluster Amazon Resource Names (ARNs) for a global database. * *(string) --* * **parallelConfig** *(dict) --* A parallel configuration execution block. * **steps** *(list) --* The steps for a parallel execution block. * **regionSwitchPlanConfig** *(dict) --* A Region switch plan execution block. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the plan configuration. * **ecsCapacityIncreaseConfig** *(dict) --* The capacity increase specified for the configuration. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **services** *(list) --* The services specified for the configuration. * *(dict) --* The service for a cross account role. * **crossAccountRole** *(string) --* The cross account role for a service. * **externalId** *(string) --* The external ID (secret key) for the service. * **clusterArn** *(string) --* The cluster Amazon Resource Name (ARN) for a service. * **serviceArn** *(string) --* The Amazon Resource Name (ARN) for a service. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage specified for the configuration. * **targetPercent** *(integer) --* The target percentage specified for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach specified for the configuration, for example, "Most_Recent". * **eksResourceScalingConfig** *(dict) --* An Amazon Web Services EKS resource scaling execution block. * **timeoutMinutes** *(integer) --* The timeout value specified for the configuration. * **kubernetesResourceType** *(dict) --* The Kubernetes resource type for the configuration. * **apiVersion** *(string) --* The API version type for the Kubernetes resource. * **kind** *(string) --* The kind for the Kubernetes resource. * **scalingResources** *(list) --* The scaling resources for the configuration. * *(dict) --* * *(string) --* * *(dict) --* * *(string) --* * *(dict) --* Defines a Kubernetes resource to scale in an Amazon EKS cluster. * **namespace** *(string) --* The namespace for the Kubernetes resource. * **name** *(string) --* The name for the Kubernetes resource. * **hpaName** *(string) --* The hpaname for the Kubernetes resource. * **eksClusters** *(list) --* The clusters for the configuration. * *(dict) --* The Amazon Web Services EKS cluster execution block configuration. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **clusterArn** *(string) --* The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster. * **ungraceful** *(dict) --* The settings for ungraceful execution. * **minimumSuccessPercentage** *(integer) --* The minimum success percentage for the configuration. * **targetPercent** *(integer) --* The target percentage for the configuration. * **capacityMonitoringApproach** *(string) --* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours. * **route53HealthCheckConfig** *(dict) --* The Amazon Route 53 health check configuration. * **timeoutMinutes** *(integer) --* The Amazon Route 53 health check configuration time out (in minutes). * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **hostedZoneId** *(string) --* The Amazon Route 53 health check configuration hosted zone ID. * **recordName** *(string) --* The Amazon Route 53 health check configuration record name. * **recordSets** *(list) --* The Amazon Route 53 health check configuration record sets. * *(dict) --* The Amazon Route 53 record set. * **recordSetIdentifier** *(string) --* The Amazon Route 53 record set identifier. * **region** *(string) --* The Amazon Route 53 record set Region. * **executionBlockType** *(string) --* The type of an execution block in a workflow. * **workflowTargetAction** *(string) --* The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE. * **workflowTargetRegion** *(string) --* The Amazon Web Services Region that the workflow targets. * **workflowDescription** *(string) --* The description of the workflow. * **executionRole** *(string) --* The execution role for a plan. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective for a plan. * **associatedAlarms** *(dict) --* The associated application health alarms for a plan. * *(string) --* * *(dict) --* An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan. * **crossAccountRole** *(string) --* The cross account role for the configuration. * **externalId** *(string) --* The external ID (secret key) for the configuration. * **resourceIdentifier** *(string) --* The resource identifier for alarms that you associate with a plan. * **alarmType** *(string) --* The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm. * **triggers** *(list) --* The triggers for a plan. * *(dict) --* Defines a condition that can automatically trigger the execution of a Region switch plan. * **description** *(string) --* The description for a trigger. * **targetRegion** *(string) --* The Amazon Web Services Region for a trigger. * **action** *(string) --* The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE. * **conditions** *(list) --* The conditions that must be met for the trigger to fire. * *(dict) --* Defines a condition that must be met for a trigger to fire. * **associatedAlarmName** *(string) --* The name of the CloudWatch alarm associated with the condition. * **condition** *(string) --* The condition that must be met. Valid values include ALARM and OK. * **minDelayMinutesBetweenExecutions** *(integer) --* The minimum time, in minutes, that must elapse between automatic executions of the plan. * **name** *(string) --* The name for a plan. * **regions** *(list) --* The Amazon Web Services Regions for a plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **owner** *(string) --* The owner of a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan was last updated. **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / list_plans_in_region list_plans_in_region ******************** ARCRegionswitch.Client.list_plans_in_region(**kwargs) Lists all Region switch plans in your Amazon Web Services account that are available in the current Amazon Web Services Region. See also: AWS API Documentation **Request Syntax** response = client.list_plans_in_region( maxResults=123, nextToken='string' ) Parameters: * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. Return type: dict Returns: **Response Syntax** { 'plans': [ { 'arn': 'string', 'owner': 'string', 'name': 'string', 'regions': [ 'string', ], 'recoveryApproach': 'activeActive'|'activePassive', 'primaryRegion': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1), 'description': 'string', 'executionRole': 'string', 'activePlanExecution': 'string', 'recoveryTimeObjectiveMinutes': 123 }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **plans** *(list) --* The plans that were requested. * *(dict) --* A summarized representation of a Region switch plan. This structure contains key information about a plan without all the detailed workflow and step data. * **arn** *(string) --* The Amazon Resource Name (ARN) of the Region switch plan. * **owner** *(string) --* The owner of a Region switch plan. * **name** *(string) --* The name of a Region switch plan. * **regions** *(list) --* The Amazon Web Services Region specified for a Region switch plan. * *(string) --* * **recoveryApproach** *(string) --* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). * **primaryRegion** *(string) --* The primary Region for a plan. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan execution was last updated. * **description** *(string) --* The description of a Region switch plan. * **executionRole** *(string) --* The execution role is a way to categorize a Region switch plan. * **activePlanExecution** *(string) --* Specifies if this is the active plan execution at this time. * **recoveryTimeObjectiveMinutes** *(integer) --* The recovery time objective that you've specified. * **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** * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / tag_resource tag_resource ************ ARCRegionswitch.Client.tag_resource(**kwargs) Adds or updates tags for a Region switch resource. You can assign metadata to your resources in the form of tags, which are key-value pairs. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( arn='string', tags={ 'string': 'string' } ) Parameters: * **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) for a tag that you add to a resource. * **tags** (*dict*) -- **[REQUIRED]** Tags that you add to a resource. You can add a maximum of 50 tags in Region switch. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.InternalServerException" ARCRegionswitch / Client / get_plan_evaluation_status get_plan_evaluation_status ************************** ARCRegionswitch.Client.get_plan_evaluation_status(**kwargs) Retrieves the evaluation status of a Region switch plan. The evaluation status provides information about the last time the plan was evaluated and any warnings or issues detected. See also: AWS API Documentation **Request Syntax** response = client.get_plan_evaluation_status( planArn='string', maxResults=123, nextToken='string' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the Region switch plan to retrieve evaluation status for. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. Return type: dict Returns: **Response Syntax** { 'planArn': 'string', 'lastEvaluationTime': datetime(2015, 1, 1), 'lastEvaluatedVersion': 'string', 'region': 'string', 'evaluationState': 'passed'|'actionRequired'|'pendingEvaluation'|'unknown', 'warnings': [ { 'workflow': { 'action': 'activate'|'deactivate', 'name': 'string' }, 'version': 'string', 'stepName': 'string', 'resourceArn': 'string', 'warningStatus': 'active'|'resolved', 'warningUpdatedTime': datetime(2015, 1, 1), 'warningMessage': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **planArn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **lastEvaluationTime** *(datetime) --* The time of the last time that Region switch ran an evaluation of the plan. * **lastEvaluatedVersion** *(string) --* The version of the last evaluation of the plan. * **region** *(string) --* The Amazon Web Services Region for the plan. * **evaluationState** *(string) --* The evaluation state for the plan. * **warnings** *(list) --* The current evaluation warnings for the plan. * *(dict) --* Represents a warning about a resource in a Region switch plan. * **workflow** *(dict) --* The workflow for the resource warning. * **action** *(string) --* The action for a minimal workflow, which can be Activate or Deactivate. * **name** *(string) --* The name for a minimal workflow * **version** *(string) --* The version for the resource warning. * **stepName** *(string) --* The name of the step for the resource warning. * **resourceArn** *(string) --* The Amazon Resource Name (ARN) of the resource. * **warningStatus** *(string) --* The status of the resource warning. * **warningUpdatedTime** *(datetime) --* The timestamp when the warning was last updated. * **warningMessage** *(string) --* The warning message about what needs to be corrected. * **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** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException" ARCRegionswitch / Client / delete_plan delete_plan *********** ARCRegionswitch.Client.delete_plan(**kwargs) Deletes a Region switch plan. You must specify the ARN of the plan to delete. You cannot delete a plan that has an active execution in progress. See also: AWS API Documentation **Request Syntax** response = client.delete_plan( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the plan. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.IllegalStateException" ARCRegionswitch / Client / list_plan_executions list_plan_executions ******************** ARCRegionswitch.Client.list_plan_executions(**kwargs) Lists the executions of a Region switch plan. This operation returns information about both current and historical executions. See also: AWS API Documentation **Request Syntax** response = client.list_plan_executions( planArn='string', maxResults=123, nextToken='string', state='inProgress'|'pausedByFailedStep'|'pausedByOperator'|'completed'|'completedWithExceptions'|'canceled'|'planExecutionTimedOut'|'pendingManualApproval'|'failed'|'pending'|'completedMonitoringApplicationHealth' ) Parameters: * **planArn** (*string*) -- **[REQUIRED]** The ARN for the plan. * **maxResults** (*integer*) -- The number of objects that you want to return with this call. * **nextToken** (*string*) -- Specifies that you want to receive the next page of results. Valid only if you received a "nextToken" response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's "nextToken" response to request the next page of results. * **state** (*string*) -- The state of the plan execution. For example, the plan execution might be In Progress. Return type: dict Returns: **Response Syntax** { 'items': [ { 'planArn': 'string', 'executionId': 'string', 'version': 'string', 'updatedAt': datetime(2015, 1, 1), 'comment': 'string', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'mode': 'graceful'|'ungraceful', 'executionState': 'inProgress'|'pausedByFailedStep'|'pausedByOperator'|'completed'|'completedWithExceptions'|'canceled'|'planExecutionTimedOut'|'pendingManualApproval'|'failed'|'pending'|'completedMonitoringApplicationHealth', 'executionAction': 'activate'|'deactivate', 'executionRegion': 'string', 'actualRecoveryTime': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* The items in the plan execution to return. * *(dict) --* A summarized representation of a plan execution. This structure contains key information about an execution without all the detailed step data. * **planArn** *(string) --* The Amazon Resource Name (ARN) of the plan. * **executionId** *(string) --* The execution identifier of a plan execution. * **version** *(string) --* The version for the plan. * **updatedAt** *(datetime) --* The timestamp when the plan execution was last updated. * **comment** *(string) --* An optional comment about the plan execution. * **startTime** *(datetime) --* The timestamp when the plan execution was started. * **endTime** *(datetime) --* The timestamp when the plan execution was ended. * **mode** *(string) --* The plan execution mode. Valid values are "Practice", for testing without making actual changes, or "Recovery", for actual traffic shifting and application recovery. * **executionState** *(string) --* The plan execution state. Provides the state of a plan execution, for example, In Progress or Paused by Operator. * **executionAction** *(string) --* The plan execution action. Valid values are "Activate", to activate an Amazon Web Services Region, or "Deactivate", to deactivate a Region. * **executionRegion** *(string) --* The Amazon Web Services Region for a plan execution. * **actualRecoveryTime** *(string) --* The actual recovery time that Region switch calculates for a plan execution. Actual recovery time includes the time for the plan to run added to the time elapsed until the application health alarms that you've specified are healthy again. * **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** * "ARCRegionswitch.Client.exceptions.ResourceNotFoundException" * "ARCRegionswitch.Client.exceptions.AccessDeniedException"