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