CfnPlan

class aws_cdk.aws_arcregionswitch.CfnPlan(scope, id, *, execution_role, name, recovery_approach, regions, workflows, associated_alarms=None, description=None, primary_region=None, recovery_time_objective_minutes=None, tags=None, triggers=None)

Bases: CfnResource

Represents a Region switch plan.

A plan defines the steps required to shift traffic from one AWS Region to another.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html

CloudformationResource:

AWS::ARCRegionSwitch::Plan

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

# step_property_: arcregionswitch.CfnPlan.StepProperty

cfn_plan = arcregionswitch.CfnPlan(self, "MyCfnPlan",
    execution_role="executionRole",
    name="name",
    recovery_approach="recoveryApproach",
    regions=["regions"],
    workflows=[arcregionswitch.CfnPlan.WorkflowProperty(
        workflow_target_action="workflowTargetAction",

        # the properties below are optional
        steps=[arcregionswitch.CfnPlan.StepProperty(
            execution_block_configuration=arcregionswitch.CfnPlan.ExecutionBlockConfigurationProperty(
                arc_routing_control_config=arcregionswitch.CfnPlan.ArcRoutingControlConfigurationProperty(
                    region_and_routing_controls={
                        "region_and_routing_controls_key": [arcregionswitch.CfnPlan.ArcRoutingControlStateProperty(
                            routing_control_arn="routingControlArn",
                            state="state"
                        )]
                    },

                    # the properties below are optional
                    cross_account_role="crossAccountRole",
                    external_id="externalId",
                    timeout_minutes=123
                ),
                custom_action_lambda_config=arcregionswitch.CfnPlan.CustomActionLambdaConfigurationProperty(
                    lambdas=[arcregionswitch.CfnPlan.LambdasProperty(
                        arn="arn",
                        cross_account_role="crossAccountRole",
                        external_id="externalId"
                    )],
                    region_to_run="regionToRun",
                    retry_interval_minutes=123,

                    # the properties below are optional
                    timeout_minutes=123,
                    ungraceful=arcregionswitch.CfnPlan.LambdaUngracefulProperty(
                        behavior="behavior"
                    )
                ),
                ec2_asg_capacity_increase_config=arcregionswitch.CfnPlan.Ec2AsgCapacityIncreaseConfigurationProperty(
                    asgs=[arcregionswitch.CfnPlan.AsgProperty(
                        arn="arn",
                        cross_account_role="crossAccountRole",
                        external_id="externalId"
                    )],

                    # the properties below are optional
                    capacity_monitoring_approach="capacityMonitoringApproach",
                    target_percent=123,
                    timeout_minutes=123,
                    ungraceful=arcregionswitch.CfnPlan.Ec2UngracefulProperty(
                        minimum_success_percentage=123
                    )
                ),
                ecs_capacity_increase_config=arcregionswitch.CfnPlan.EcsCapacityIncreaseConfigurationProperty(
                    services=[arcregionswitch.CfnPlan.ServiceProperty(
                        cluster_arn="clusterArn",
                        cross_account_role="crossAccountRole",
                        external_id="externalId",
                        service_arn="serviceArn"
                    )],

                    # the properties below are optional
                    capacity_monitoring_approach="capacityMonitoringApproach",
                    target_percent=123,
                    timeout_minutes=123,
                    ungraceful=arcregionswitch.CfnPlan.EcsUngracefulProperty(
                        minimum_success_percentage=123
                    )
                ),
                eks_resource_scaling_config=arcregionswitch.CfnPlan.EksResourceScalingConfigurationProperty(
                    kubernetes_resource_type=arcregionswitch.CfnPlan.KubernetesResourceTypeProperty(
                        api_version="apiVersion",
                        kind="kind"
                    ),

                    # the properties below are optional
                    capacity_monitoring_approach="capacityMonitoringApproach",
                    eks_clusters=[arcregionswitch.CfnPlan.EksClusterProperty(
                        cluster_arn="clusterArn",

                        # the properties below are optional
                        cross_account_role="crossAccountRole",
                        external_id="externalId"
                    )],
                    scaling_resources=[{
                        "scaling_resources_key": {
                            "scaling_resources_key": arcregionswitch.CfnPlan.KubernetesScalingResourceProperty(
                                name="name",
                                namespace="namespace",

                                # the properties below are optional
                                hpa_name="hpaName"
                            )
                        }
                    }],
                    target_percent=123,
                    timeout_minutes=123,
                    ungraceful=arcregionswitch.CfnPlan.EksResourceScalingUngracefulProperty(
                        minimum_success_percentage=123
                    )
                ),
                execution_approval_config=arcregionswitch.CfnPlan.ExecutionApprovalConfigurationProperty(
                    approval_role="approvalRole",

                    # the properties below are optional
                    timeout_minutes=123
                ),
                global_aurora_config=arcregionswitch.CfnPlan.GlobalAuroraConfigurationProperty(
                    behavior="behavior",
                    database_cluster_arns=["databaseClusterArns"],
                    global_cluster_identifier="globalClusterIdentifier",

                    # the properties below are optional
                    cross_account_role="crossAccountRole",
                    external_id="externalId",
                    timeout_minutes=123,
                    ungraceful=arcregionswitch.CfnPlan.GlobalAuroraUngracefulProperty(
                        ungraceful="ungraceful"
                    )
                ),
                parallel_config=arcregionswitch.CfnPlan.ParallelExecutionBlockConfigurationProperty(
                    steps=[step_property_]
                ),
                region_switch_plan_config=arcregionswitch.CfnPlan.RegionSwitchPlanConfigurationProperty(
                    arn="arn",

                    # the properties below are optional
                    cross_account_role="crossAccountRole",
                    external_id="externalId"
                ),
                route53_health_check_config=arcregionswitch.CfnPlan.Route53HealthCheckConfigurationProperty(
                    hosted_zone_id="hostedZoneId",
                    record_name="recordName",

                    # the properties below are optional
                    cross_account_role="crossAccountRole",
                    external_id="externalId",
                    record_sets=[arcregionswitch.CfnPlan.Route53ResourceRecordSetProperty(
                        record_set_identifier="recordSetIdentifier",
                        region="region"
                    )],
                    timeout_minutes=123
                )
            ),
            execution_block_type="executionBlockType",
            name="name",

            # the properties below are optional
            description="description"
        )],
        workflow_description="workflowDescription",
        workflow_target_region="workflowTargetRegion"
    )],

    # the properties below are optional
    associated_alarms={
        "associated_alarms_key": arcregionswitch.CfnPlan.AssociatedAlarmProperty(
            alarm_type="alarmType",
            resource_identifier="resourceIdentifier",

            # the properties below are optional
            cross_account_role="crossAccountRole",
            external_id="externalId"
        )
    },
    description="description",
    primary_region="primaryRegion",
    recovery_time_objective_minutes=123,
    tags={
        "tags_key": "tags"
    },
    triggers=[arcregionswitch.CfnPlan.TriggerProperty(
        action="action",
        conditions=[arcregionswitch.CfnPlan.TriggerConditionProperty(
            associated_alarm_name="associatedAlarmName",
            condition="condition"
        )],
        min_delay_minutes_between_executions=123,
        target_region="targetRegion",

        # the properties below are optional
        description="description"
    )]
)
Parameters:
  • scope (Construct) – Scope in which this resource is defined.

  • id (str) – Construct identifier for this resource (unique in its scope).

  • execution_role (str) – The execution role for a plan.

  • name (str) – The name for a plan.

  • recovery_approach (str) – The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).

  • regions (Sequence[str]) – The AWS Regions for a plan.

  • workflows (Union[IResolvable, Sequence[Union[IResolvable, WorkflowProperty, Dict[str, Any]]]]) – The workflows for a plan.

  • associated_alarms (Union[IResolvable, Mapping[str, Union[IResolvable, AssociatedAlarmProperty, Dict[str, Any]]], None]) – The associated application health alarms for a plan.

  • description (Optional[str]) – The description for a plan.

  • primary_region (Optional[str]) – The primary Region for a plan.

  • recovery_time_objective_minutes (Union[int, float, None]) – The recovery time objective for a plan.

  • tags (Optional[Mapping[str, str]])

  • triggers (Union[IResolvable, Sequence[Union[IResolvable, TriggerProperty, Dict[str, Any]]], None]) – The triggers for a plan.

Methods

add_deletion_override(path)

Syntactic sugar for addOverride(path, undefined).

Parameters:

path (str) – The path of the value to delete.

Return type:

None

add_dependency(target)

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:

target (CfnResource)

Return type:

None

add_depends_on(target)

(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

Parameters:

target (CfnResource)

Deprecated:

use addDependency

Stability:

deprecated

Return type:

None

add_metadata(key, value)

Add a value to the CloudFormation Resource Metadata.

Parameters:
  • key (str)

  • value (Any)

See:

Return type:

None

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

add_override(path, value)

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with “Properties.” (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example:

cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides Example:

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:
  • path (str) –

    • The path of the property, you can use dot notation to override values in complex types. Any intermediate keys will be created as needed.

  • value (Any) –

    • The value. Could be primitive or complex.

Return type:

None

add_property_deletion_override(property_path)

Adds an override that deletes the value of a property from the resource definition.

Parameters:

property_path (str) – The path to the property.

Return type:

None

add_property_override(property_path, value)

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:
  • property_path (str) – The path of the property.

  • value (Any) – The value.

Return type:

None

apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:

Parameters:
  • policy (Optional[RemovalPolicy])

  • apply_to_update_replace_policy (Optional[bool]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: true

  • default (Optional[RemovalPolicy]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resource, please consult that specific resource’s documentation.

See:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options

Return type:

None

get_att(attribute_name, type_hint=None)

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:
  • attribute_name (str) – The name of the attribute.

  • type_hint (Optional[ResolutionTypeHint])

Return type:

Reference

get_metadata(key)

Retrieve a value value from the CloudFormation Resource Metadata.

Parameters:

key (str)

See:

Return type:

Any

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

inspect(inspector)

Examines the CloudFormation resource and discloses attributes.

Parameters:

inspector (TreeInspector) – tree inspector to collect and process attributes.

Return type:

None

obtain_dependencies()

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

Return type:

List[Union[Stack, CfnResource]]

obtain_resource_dependencies()

Get a shallow copy of dependencies between this resource and other resources in the same stack.

Return type:

List[CfnResource]

override_logical_id(new_logical_id)

Overrides the auto-generated logical ID with a specific ID.

Parameters:

new_logical_id (str) – The new logical ID to use for this stack element.

Return type:

None

remove_dependency(target)

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

Parameters:

target (CfnResource)

Return type:

None

replace_dependency(target, new_target)

Replaces one dependency with another.

Parameters:
Return type:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Returns:

a string representation of this resource

Attributes

CFN_RESOURCE_TYPE_NAME = 'AWS::ARCRegionSwitch::Plan'
associated_alarms

The associated application health alarms for a plan.

attr_arn

The Amazon Resource Name (ARN) of the plan.

CloudformationAttribute:

Arn

attr_health_checks_for_plan

Represents a Region switch plan.

A plan defines the steps required to shift traffic from one AWS Region to another.

CloudformationAttribute:

HealthChecksForPlan

attr_owner

The owner of a plan.

CloudformationAttribute:

Owner

attr_version

The version for the plan.

CloudformationAttribute:

Version

cdk_tag_manager

Tag Manager which manages the tags for this resource.

cfn_options

Options for this resource, such as condition, update policy etc.

cfn_resource_type

AWS resource type.

creation_stack

return:

the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.

description

The description for a plan.

execution_role

The execution role for a plan.

logical_id

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).

Returns:

the logical ID as a stringified token. This value will only get resolved during synthesis.

name

The name for a plan.

node

The tree node.

primary_region

The primary Region for a plan.

recovery_approach

The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).

recovery_time_objective_minutes

The recovery time objective for a plan.

ref

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

regions

The AWS Regions for a plan.

stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

tags
triggers

The triggers for a plan.

workflows

The workflows for a plan.

Static Methods

classmethod is_cfn_element(x)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

Parameters:

x (Any)

Return type:

bool

Returns:

The construct as a stack element or undefined if it is not a stack element.

classmethod is_cfn_resource(x)

Check whether the given object is a CfnResource.

Parameters:

x (Any)

Return type:

bool

classmethod is_construct(x)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Construct.

ArcRoutingControlConfigurationProperty

class CfnPlan.ArcRoutingControlConfigurationProperty(*, region_and_routing_controls, cross_account_role=None, external_id=None, timeout_minutes=None)

Bases: object

Configuration for ARC routing controls used in a Region switch plan.

Routing controls are simple on/off switches that you can use to shift traffic away from an impaired Region.

Parameters:
  • region_and_routing_controls (Union[IResolvable, Mapping[str, Union[IResolvable, Sequence[Union[IResolvable, ArcRoutingControlStateProperty, Dict[str, Any]]]]]]) – The Region and ARC routing controls for the configuration.

  • cross_account_role (Optional[str]) – The cross account role for the configuration.

  • external_id (Optional[str]) – The external ID (secret key) for the configuration.

  • timeout_minutes (Union[int, float, None]) – The timeout value specified for the configuration. Default: - 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

arc_routing_control_configuration_property = arcregionswitch.CfnPlan.ArcRoutingControlConfigurationProperty(
    region_and_routing_controls={
        "region_and_routing_controls_key": [arcregionswitch.CfnPlan.ArcRoutingControlStateProperty(
            routing_control_arn="routingControlArn",
            state="state"
        )]
    },

    # the properties below are optional
    cross_account_role="crossAccountRole",
    external_id="externalId",
    timeout_minutes=123
)

Attributes

cross_account_role

The cross account role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-crossaccountrole

external_id

The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-externalid

region_and_routing_controls

The Region and ARC routing controls for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-regionandroutingcontrols

timeout_minutes

The timeout value specified for the configuration.

Default:
  • 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-timeoutminutes

ArcRoutingControlStateProperty

class CfnPlan.ArcRoutingControlStateProperty(*, routing_control_arn, state)

Bases: object

Parameters:
  • routing_control_arn (str)

  • state (str)

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolstate.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

arc_routing_control_state_property = arcregionswitch.CfnPlan.ArcRoutingControlStateProperty(
    routing_control_arn="routingControlArn",
    state="state"
)

Attributes

routing_control_arn

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolstate.html#cfn-arcregionswitch-plan-arcroutingcontrolstate-routingcontrolarn

Type:

see

state

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolstate.html#cfn-arcregionswitch-plan-arcroutingcontrolstate-state

Type:

see

AsgProperty

class CfnPlan.AsgProperty(*, arn=None, cross_account_role=None, external_id=None)

Bases: object

Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan.

Parameters:
  • arn (Optional[str]) – The Amazon Resource Name (ARN) of the EC2 Auto Scaling group.

  • cross_account_role (Optional[str]) – The cross account role for the configuration.

  • external_id (Optional[str]) – The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-asg.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

asg_property = arcregionswitch.CfnPlan.AsgProperty(
    arn="arn",
    cross_account_role="crossAccountRole",
    external_id="externalId"
)

Attributes

arn

The Amazon Resource Name (ARN) of the EC2 Auto Scaling group.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-asg.html#cfn-arcregionswitch-plan-asg-arn

cross_account_role

The cross account role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-asg.html#cfn-arcregionswitch-plan-asg-crossaccountrole

external_id

The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-asg.html#cfn-arcregionswitch-plan-asg-externalid

AssociatedAlarmProperty

class CfnPlan.AssociatedAlarmProperty(*, alarm_type, resource_identifier, cross_account_role=None, external_id=None)

Bases: object

An Amazon CloudWatch alarm associated with a Region switch plan.

These alarms can be used to trigger automatic execution of the plan.

Parameters:
  • alarm_type (str) – The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm.

  • resource_identifier (str) – The resource identifier for alarms that you associate with a plan.

  • cross_account_role (Optional[str]) – The cross account role for the configuration.

  • external_id (Optional[str]) – The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

associated_alarm_property = arcregionswitch.CfnPlan.AssociatedAlarmProperty(
    alarm_type="alarmType",
    resource_identifier="resourceIdentifier",

    # the properties below are optional
    cross_account_role="crossAccountRole",
    external_id="externalId"
)

Attributes

alarm_type

The alarm type for an associated alarm.

An associated CloudWatch alarm can be an application health alarm or a trigger alarm.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html#cfn-arcregionswitch-plan-associatedalarm-alarmtype

cross_account_role

The cross account role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html#cfn-arcregionswitch-plan-associatedalarm-crossaccountrole

external_id

The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html#cfn-arcregionswitch-plan-associatedalarm-externalid

resource_identifier

The resource identifier for alarms that you associate with a plan.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html#cfn-arcregionswitch-plan-associatedalarm-resourceidentifier

CustomActionLambdaConfigurationProperty

class CfnPlan.CustomActionLambdaConfigurationProperty(*, lambdas, region_to_run, retry_interval_minutes, timeout_minutes=None, ungraceful=None)

Bases: object

Configuration for AWS Lambda functions that perform custom actions during a Region switch.

Parameters:
  • lambdas (Union[IResolvable, Sequence[Union[IResolvable, LambdasProperty, Dict[str, Any]]]]) – The AWS Lambda functions for the execution block.

  • region_to_run (str) – The AWS Region for the function to run in.

  • retry_interval_minutes (Union[int, float]) – The retry interval specified.

  • timeout_minutes (Union[int, float, None]) – The timeout value specified for the configuration. Default: - 60

  • ungraceful (Union[IResolvable, LambdaUngracefulProperty, Dict[str, Any], None]) – The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

custom_action_lambda_configuration_property = arcregionswitch.CfnPlan.CustomActionLambdaConfigurationProperty(
    lambdas=[arcregionswitch.CfnPlan.LambdasProperty(
        arn="arn",
        cross_account_role="crossAccountRole",
        external_id="externalId"
    )],
    region_to_run="regionToRun",
    retry_interval_minutes=123,

    # the properties below are optional
    timeout_minutes=123,
    ungraceful=arcregionswitch.CfnPlan.LambdaUngracefulProperty(
        behavior="behavior"
    )
)

Attributes

lambdas

The AWS Lambda functions for the execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-lambdas

region_to_run

The AWS Region for the function to run in.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-regiontorun

retry_interval_minutes

The retry interval specified.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-retryintervalminutes

timeout_minutes

The timeout value specified for the configuration.

Default:
  • 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-timeoutminutes

ungraceful

The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-ungraceful

Ec2AsgCapacityIncreaseConfigurationProperty

class CfnPlan.Ec2AsgCapacityIncreaseConfigurationProperty(*, asgs, capacity_monitoring_approach=None, target_percent=None, timeout_minutes=None, ungraceful=None)

Bases: object

Configuration for increasing the capacity of Amazon EC2 Auto Scaling groups during a Region switch.

Parameters:
  • asgs (Union[IResolvable, Sequence[Union[IResolvable, AsgProperty, Dict[str, Any]]]]) – The EC2 Auto Scaling groups for the configuration.

  • capacity_monitoring_approach (Optional[str]) – The monitoring approach that you specify EC2 Auto Scaling groups for the configuration.

  • target_percent (Union[int, float, None]) – The target percentage that you specify for EC2 Auto Scaling groups. Default: - 100

  • timeout_minutes (Union[int, float, None]) – The timeout value specified for the configuration. Default: - 60

  • ungraceful (Union[IResolvable, Ec2UngracefulProperty, Dict[str, Any], None]) – The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

ec2_asg_capacity_increase_configuration_property = arcregionswitch.CfnPlan.Ec2AsgCapacityIncreaseConfigurationProperty(
    asgs=[arcregionswitch.CfnPlan.AsgProperty(
        arn="arn",
        cross_account_role="crossAccountRole",
        external_id="externalId"
    )],

    # the properties below are optional
    capacity_monitoring_approach="capacityMonitoringApproach",
    target_percent=123,
    timeout_minutes=123,
    ungraceful=arcregionswitch.CfnPlan.Ec2UngracefulProperty(
        minimum_success_percentage=123
    )
)

Attributes

asgs

The EC2 Auto Scaling groups for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-asgs

capacity_monitoring_approach

The monitoring approach that you specify EC2 Auto Scaling groups for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-capacitymonitoringapproach

target_percent

The target percentage that you specify for EC2 Auto Scaling groups.

Default:
  • 100

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-targetpercent

timeout_minutes

The timeout value specified for the configuration.

Default:
  • 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-timeoutminutes

ungraceful

The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-ungraceful

Ec2UngracefulProperty

class CfnPlan.Ec2UngracefulProperty(*, minimum_success_percentage)

Bases: object

Configuration for handling failures when performing operations on EC2 resources.

Parameters:

minimum_success_percentage (Union[int, float]) – The minimum success percentage that you specify for EC2 Auto Scaling groups.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2ungraceful.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

ec2_ungraceful_property = arcregionswitch.CfnPlan.Ec2UngracefulProperty(
    minimum_success_percentage=123
)

Attributes

minimum_success_percentage

The minimum success percentage that you specify for EC2 Auto Scaling groups.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2ungraceful.html#cfn-arcregionswitch-plan-ec2ungraceful-minimumsuccesspercentage

EcsCapacityIncreaseConfigurationProperty

class CfnPlan.EcsCapacityIncreaseConfigurationProperty(*, services, capacity_monitoring_approach=None, target_percent=None, timeout_minutes=None, ungraceful=None)

Bases: object

The configuration for an AWS ECS capacity increase.

Parameters:
  • services (Union[IResolvable, Sequence[Union[IResolvable, ServiceProperty, Dict[str, Any]]]]) – The services specified for the configuration.

  • capacity_monitoring_approach (Optional[str]) – The monitoring approach specified for the configuration, for example, Most_Recent .

  • target_percent (Union[int, float, None]) – The target percentage specified for the configuration. Default: - 100

  • timeout_minutes (Union[int, float, None]) – The timeout value specified for the configuration. Default: - 60

  • ungraceful (Union[IResolvable, EcsUngracefulProperty, Dict[str, Any], None]) – The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

ecs_capacity_increase_configuration_property = arcregionswitch.CfnPlan.EcsCapacityIncreaseConfigurationProperty(
    services=[arcregionswitch.CfnPlan.ServiceProperty(
        cluster_arn="clusterArn",
        cross_account_role="crossAccountRole",
        external_id="externalId",
        service_arn="serviceArn"
    )],

    # the properties below are optional
    capacity_monitoring_approach="capacityMonitoringApproach",
    target_percent=123,
    timeout_minutes=123,
    ungraceful=arcregionswitch.CfnPlan.EcsUngracefulProperty(
        minimum_success_percentage=123
    )
)

Attributes

capacity_monitoring_approach

The monitoring approach specified for the configuration, for example, Most_Recent .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-capacitymonitoringapproach

services

The services specified for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-services

target_percent

The target percentage specified for the configuration.

Default:
  • 100

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-targetpercent

timeout_minutes

The timeout value specified for the configuration.

Default:
  • 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-timeoutminutes

ungraceful

The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-ungraceful

EcsUngracefulProperty

class CfnPlan.EcsUngracefulProperty(*, minimum_success_percentage)

Bases: object

The settings for ungraceful execution.

Parameters:

minimum_success_percentage (Union[int, float]) – The minimum success percentage specified for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecsungraceful.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

ecs_ungraceful_property = arcregionswitch.CfnPlan.EcsUngracefulProperty(
    minimum_success_percentage=123
)

Attributes

minimum_success_percentage

The minimum success percentage specified for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecsungraceful.html#cfn-arcregionswitch-plan-ecsungraceful-minimumsuccesspercentage

EksClusterProperty

class CfnPlan.EksClusterProperty(*, cluster_arn, cross_account_role=None, external_id=None)

Bases: object

The AWS EKS cluster execution block configuration.

Parameters:
  • cluster_arn (str) – The Amazon Resource Name (ARN) of an AWS EKS cluster.

  • cross_account_role (Optional[str]) – The cross account role for the configuration.

  • external_id (Optional[str]) – The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ekscluster.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

eks_cluster_property = arcregionswitch.CfnPlan.EksClusterProperty(
    cluster_arn="clusterArn",

    # the properties below are optional
    cross_account_role="crossAccountRole",
    external_id="externalId"
)

Attributes

cluster_arn

The Amazon Resource Name (ARN) of an AWS EKS cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ekscluster.html#cfn-arcregionswitch-plan-ekscluster-clusterarn

cross_account_role

The cross account role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ekscluster.html#cfn-arcregionswitch-plan-ekscluster-crossaccountrole

external_id

The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ekscluster.html#cfn-arcregionswitch-plan-ekscluster-externalid

EksResourceScalingConfigurationProperty

class CfnPlan.EksResourceScalingConfigurationProperty(*, kubernetes_resource_type, capacity_monitoring_approach=None, eks_clusters=None, scaling_resources=None, target_percent=None, timeout_minutes=None, ungraceful=None)

Bases: object

The AWS EKS resource scaling configuration.

Parameters:
  • kubernetes_resource_type (Union[IResolvable, KubernetesResourceTypeProperty, Dict[str, Any]]) – The Kubernetes resource type for the configuration.

  • capacity_monitoring_approach (Optional[str]) – The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours.

  • eks_clusters (Union[IResolvable, Sequence[Union[IResolvable, EksClusterProperty, Dict[str, Any]]], None]) – The clusters for the configuration.

  • scaling_resources (Union[IResolvable, Sequence[Union[IResolvable, Mapping[str, Union[IResolvable, Mapping[str, Union[IResolvable, KubernetesScalingResourceProperty, Dict[str, Any]]]]]]], None]) – The scaling resources for the configuration.

  • target_percent (Union[int, float, None]) – The target percentage for the configuration. Default: - 100

  • timeout_minutes (Union[int, float, None]) – The timeout value specified for the configuration. Default: - 60

  • ungraceful (Union[IResolvable, EksResourceScalingUngracefulProperty, Dict[str, Any], None]) – The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

eks_resource_scaling_configuration_property = arcregionswitch.CfnPlan.EksResourceScalingConfigurationProperty(
    kubernetes_resource_type=arcregionswitch.CfnPlan.KubernetesResourceTypeProperty(
        api_version="apiVersion",
        kind="kind"
    ),

    # the properties below are optional
    capacity_monitoring_approach="capacityMonitoringApproach",
    eks_clusters=[arcregionswitch.CfnPlan.EksClusterProperty(
        cluster_arn="clusterArn",

        # the properties below are optional
        cross_account_role="crossAccountRole",
        external_id="externalId"
    )],
    scaling_resources=[{
        "scaling_resources_key": {
            "scaling_resources_key": arcregionswitch.CfnPlan.KubernetesScalingResourceProperty(
                name="name",
                namespace="namespace",

                # the properties below are optional
                hpa_name="hpaName"
            )
        }
    }],
    target_percent=123,
    timeout_minutes=123,
    ungraceful=arcregionswitch.CfnPlan.EksResourceScalingUngracefulProperty(
        minimum_success_percentage=123
    )
)

Attributes

capacity_monitoring_approach

The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-capacitymonitoringapproach

eks_clusters

The clusters for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-eksclusters

kubernetes_resource_type

The Kubernetes resource type for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-kubernetesresourcetype

scaling_resources

The scaling resources for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-scalingresources

target_percent

The target percentage for the configuration.

Default:
  • 100

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-targetpercent

timeout_minutes

The timeout value specified for the configuration.

Default:
  • 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-timeoutminutes

ungraceful

The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-ungraceful

EksResourceScalingUngracefulProperty

class CfnPlan.EksResourceScalingUngracefulProperty(*, minimum_success_percentage)

Bases: object

The ungraceful settings for AWS EKS resource scaling.

Parameters:

minimum_success_percentage (Union[int, float]) – The minimum success percentage for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingungraceful.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

eks_resource_scaling_ungraceful_property = arcregionswitch.CfnPlan.EksResourceScalingUngracefulProperty(
    minimum_success_percentage=123
)

Attributes

minimum_success_percentage

The minimum success percentage for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingungraceful.html#cfn-arcregionswitch-plan-eksresourcescalingungraceful-minimumsuccesspercentage

ExecutionApprovalConfigurationProperty

class CfnPlan.ExecutionApprovalConfigurationProperty(*, approval_role, timeout_minutes=None)

Bases: object

Configuration for approval steps in a Region switch plan execution.

Approval steps require manual intervention before the execution can proceed.

Parameters:
  • approval_role (str) – The IAM approval role for the configuration.

  • timeout_minutes (Union[int, float, None]) – The timeout value specified for the configuration. Default: - 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionapprovalconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

execution_approval_configuration_property = arcregionswitch.CfnPlan.ExecutionApprovalConfigurationProperty(
    approval_role="approvalRole",

    # the properties below are optional
    timeout_minutes=123
)

Attributes

approval_role

The IAM approval role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionapprovalconfiguration.html#cfn-arcregionswitch-plan-executionapprovalconfiguration-approvalrole

timeout_minutes

The timeout value specified for the configuration.

Default:
  • 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionapprovalconfiguration.html#cfn-arcregionswitch-plan-executionapprovalconfiguration-timeoutminutes

ExecutionBlockConfigurationProperty

class CfnPlan.ExecutionBlockConfigurationProperty(*, arc_routing_control_config=None, custom_action_lambda_config=None, ec2_asg_capacity_increase_config=None, ecs_capacity_increase_config=None, eks_resource_scaling_config=None, execution_approval_config=None, global_aurora_config=None, parallel_config=None, region_switch_plan_config=None, route53_health_check_config=None)

Bases: object

Execution block configurations for a workflow in a Region switch plan.

An execution block represents a specific type of action to perform during a Region switch.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

# execution_block_configuration_property_: arcregionswitch.CfnPlan.ExecutionBlockConfigurationProperty

execution_block_configuration_property = arcregionswitch.CfnPlan.ExecutionBlockConfigurationProperty(
    arc_routing_control_config=arcregionswitch.CfnPlan.ArcRoutingControlConfigurationProperty(
        region_and_routing_controls={
            "region_and_routing_controls_key": [arcregionswitch.CfnPlan.ArcRoutingControlStateProperty(
                routing_control_arn="routingControlArn",
                state="state"
            )]
        },

        # the properties below are optional
        cross_account_role="crossAccountRole",
        external_id="externalId",
        timeout_minutes=123
    ),
    custom_action_lambda_config=arcregionswitch.CfnPlan.CustomActionLambdaConfigurationProperty(
        lambdas=[arcregionswitch.CfnPlan.LambdasProperty(
            arn="arn",
            cross_account_role="crossAccountRole",
            external_id="externalId"
        )],
        region_to_run="regionToRun",
        retry_interval_minutes=123,

        # the properties below are optional
        timeout_minutes=123,
        ungraceful=arcregionswitch.CfnPlan.LambdaUngracefulProperty(
            behavior="behavior"
        )
    ),
    ec2_asg_capacity_increase_config=arcregionswitch.CfnPlan.Ec2AsgCapacityIncreaseConfigurationProperty(
        asgs=[arcregionswitch.CfnPlan.AsgProperty(
            arn="arn",
            cross_account_role="crossAccountRole",
            external_id="externalId"
        )],

        # the properties below are optional
        capacity_monitoring_approach="capacityMonitoringApproach",
        target_percent=123,
        timeout_minutes=123,
        ungraceful=arcregionswitch.CfnPlan.Ec2UngracefulProperty(
            minimum_success_percentage=123
        )
    ),
    ecs_capacity_increase_config=arcregionswitch.CfnPlan.EcsCapacityIncreaseConfigurationProperty(
        services=[arcregionswitch.CfnPlan.ServiceProperty(
            cluster_arn="clusterArn",
            cross_account_role="crossAccountRole",
            external_id="externalId",
            service_arn="serviceArn"
        )],

        # the properties below are optional
        capacity_monitoring_approach="capacityMonitoringApproach",
        target_percent=123,
        timeout_minutes=123,
        ungraceful=arcregionswitch.CfnPlan.EcsUngracefulProperty(
            minimum_success_percentage=123
        )
    ),
    eks_resource_scaling_config=arcregionswitch.CfnPlan.EksResourceScalingConfigurationProperty(
        kubernetes_resource_type=arcregionswitch.CfnPlan.KubernetesResourceTypeProperty(
            api_version="apiVersion",
            kind="kind"
        ),

        # the properties below are optional
        capacity_monitoring_approach="capacityMonitoringApproach",
        eks_clusters=[arcregionswitch.CfnPlan.EksClusterProperty(
            cluster_arn="clusterArn",

            # the properties below are optional
            cross_account_role="crossAccountRole",
            external_id="externalId"
        )],
        scaling_resources=[{
            "scaling_resources_key": {
                "scaling_resources_key": arcregionswitch.CfnPlan.KubernetesScalingResourceProperty(
                    name="name",
                    namespace="namespace",

                    # the properties below are optional
                    hpa_name="hpaName"
                )
            }
        }],
        target_percent=123,
        timeout_minutes=123,
        ungraceful=arcregionswitch.CfnPlan.EksResourceScalingUngracefulProperty(
            minimum_success_percentage=123
        )
    ),
    execution_approval_config=arcregionswitch.CfnPlan.ExecutionApprovalConfigurationProperty(
        approval_role="approvalRole",

        # the properties below are optional
        timeout_minutes=123
    ),
    global_aurora_config=arcregionswitch.CfnPlan.GlobalAuroraConfigurationProperty(
        behavior="behavior",
        database_cluster_arns=["databaseClusterArns"],
        global_cluster_identifier="globalClusterIdentifier",

        # the properties below are optional
        cross_account_role="crossAccountRole",
        external_id="externalId",
        timeout_minutes=123,
        ungraceful=arcregionswitch.CfnPlan.GlobalAuroraUngracefulProperty(
            ungraceful="ungraceful"
        )
    ),
    parallel_config=arcregionswitch.CfnPlan.ParallelExecutionBlockConfigurationProperty(
        steps=[arcregionswitch.CfnPlan.StepProperty(
            execution_block_configuration=execution_block_configuration_property_,
            execution_block_type="executionBlockType",
            name="name",

            # the properties below are optional
            description="description"
        )]
    ),
    region_switch_plan_config=arcregionswitch.CfnPlan.RegionSwitchPlanConfigurationProperty(
        arn="arn",

        # the properties below are optional
        cross_account_role="crossAccountRole",
        external_id="externalId"
    ),
    route53_health_check_config=arcregionswitch.CfnPlan.Route53HealthCheckConfigurationProperty(
        hosted_zone_id="hostedZoneId",
        record_name="recordName",

        # the properties below are optional
        cross_account_role="crossAccountRole",
        external_id="externalId",
        record_sets=[arcregionswitch.CfnPlan.Route53ResourceRecordSetProperty(
            record_set_identifier="recordSetIdentifier",
            region="region"
        )],
        timeout_minutes=123
    )
)

Attributes

arc_routing_control_config

An ARC routing control execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-arcroutingcontrolconfig

custom_action_lambda_config

An AWS Lambda execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-customactionlambdaconfig

ec2_asg_capacity_increase_config

An EC2 Auto Scaling group execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-ec2asgcapacityincreaseconfig

ecs_capacity_increase_config

The capacity increase specified for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-ecscapacityincreaseconfig

eks_resource_scaling_config

An AWS EKS resource scaling execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-eksresourcescalingconfig

execution_approval_config

A manual approval execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-executionapprovalconfig

global_aurora_config

An Aurora Global Database execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-globalauroraconfig

parallel_config

A parallel configuration execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-parallelconfig

region_switch_plan_config

A Region switch plan execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-regionswitchplanconfig

route53_health_check_config

The Amazon Route 53 health check configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-route53healthcheckconfig

GlobalAuroraConfigurationProperty

class CfnPlan.GlobalAuroraConfigurationProperty(*, behavior, database_cluster_arns, global_cluster_identifier, cross_account_role=None, external_id=None, timeout_minutes=None, ungraceful=None)

Bases: object

Configuration for Amazon Aurora global databases used in a Region switch plan.

Parameters:
  • behavior (str) – The behavior for a global database, that is, only allow switchover or also allow failover.

  • database_cluster_arns (Sequence[str]) – The database cluster Amazon Resource Names (ARNs) for a global database.

  • global_cluster_identifier (str) – The global cluster identifier for a global database.

  • cross_account_role (Optional[str]) – The cross account role for the configuration.

  • external_id (Optional[str]) – The external ID (secret key) for the configuration.

  • timeout_minutes (Union[int, float, None]) – The timeout value specified for the configuration. Default: - 60

  • ungraceful (Union[IResolvable, GlobalAuroraUngracefulProperty, Dict[str, Any], None]) – The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

global_aurora_configuration_property = arcregionswitch.CfnPlan.GlobalAuroraConfigurationProperty(
    behavior="behavior",
    database_cluster_arns=["databaseClusterArns"],
    global_cluster_identifier="globalClusterIdentifier",

    # the properties below are optional
    cross_account_role="crossAccountRole",
    external_id="externalId",
    timeout_minutes=123,
    ungraceful=arcregionswitch.CfnPlan.GlobalAuroraUngracefulProperty(
        ungraceful="ungraceful"
    )
)

Attributes

behavior

The behavior for a global database, that is, only allow switchover or also allow failover.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-behavior

cross_account_role

The cross account role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-crossaccountrole

database_cluster_arns

The database cluster Amazon Resource Names (ARNs) for a global database.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-databaseclusterarns

external_id

The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-externalid

global_cluster_identifier

The global cluster identifier for a global database.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-globalclusteridentifier

timeout_minutes

The timeout value specified for the configuration.

Default:
  • 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-timeoutminutes

ungraceful

The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-ungraceful

GlobalAuroraUngracefulProperty

class CfnPlan.GlobalAuroraUngracefulProperty(*, ungraceful=None)

Bases: object

Configuration for handling failures when performing operations on Aurora global databases.

Parameters:

ungraceful (Optional[str]) – The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraungraceful.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

global_aurora_ungraceful_property = arcregionswitch.CfnPlan.GlobalAuroraUngracefulProperty(
    ungraceful="ungraceful"
)

Attributes

ungraceful

The settings for ungraceful execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraungraceful.html#cfn-arcregionswitch-plan-globalauroraungraceful-ungraceful

HealthCheckStateProperty

class CfnPlan.HealthCheckStateProperty(*, health_check_id=None, region=None)

Bases: object

Parameters:
  • health_check_id (Optional[str])

  • region (Optional[str])

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-healthcheckstate.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

health_check_state_property = arcregionswitch.CfnPlan.HealthCheckStateProperty(
    health_check_id="healthCheckId",
    region="region"
)

Attributes

health_check_id

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-healthcheckstate.html#cfn-arcregionswitch-plan-healthcheckstate-healthcheckid

Type:

see

region

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-healthcheckstate.html#cfn-arcregionswitch-plan-healthcheckstate-region

Type:

see

KubernetesResourceTypeProperty

class CfnPlan.KubernetesResourceTypeProperty(*, api_version, kind)

Bases: object

Defines the type of Kubernetes resource to scale in an Amazon EKS cluster.

Parameters:
  • api_version (str) – The API version type for the Kubernetes resource.

  • kind (str) – The kind for the Kubernetes resource.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

kubernetes_resource_type_property = arcregionswitch.CfnPlan.KubernetesResourceTypeProperty(
    api_version="apiVersion",
    kind="kind"
)

Attributes

api_version

The API version type for the Kubernetes resource.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html#cfn-arcregionswitch-plan-kubernetesresourcetype-apiversion

kind

The kind for the Kubernetes resource.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html#cfn-arcregionswitch-plan-kubernetesresourcetype-kind

KubernetesScalingResourceProperty

class CfnPlan.KubernetesScalingResourceProperty(*, name, namespace, hpa_name=None)

Bases: object

Defines a Kubernetes resource to scale in an Amazon EKS cluster.

Parameters:
  • name (str) – The name for the Kubernetes resource.

  • namespace (str) – The namespace for the Kubernetes resource.

  • hpa_name (Optional[str]) – The hpaname for the Kubernetes resource.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesscalingresource.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

kubernetes_scaling_resource_property = arcregionswitch.CfnPlan.KubernetesScalingResourceProperty(
    name="name",
    namespace="namespace",

    # the properties below are optional
    hpa_name="hpaName"
)

Attributes

hpa_name

The hpaname for the Kubernetes resource.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesscalingresource.html#cfn-arcregionswitch-plan-kubernetesscalingresource-hpaname

name

The name for the Kubernetes resource.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesscalingresource.html#cfn-arcregionswitch-plan-kubernetesscalingresource-name

namespace

The namespace for the Kubernetes resource.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesscalingresource.html#cfn-arcregionswitch-plan-kubernetesscalingresource-namespace

LambdaUngracefulProperty

class CfnPlan.LambdaUngracefulProperty(*, behavior=None)

Bases: object

Configuration for handling failures when invoking Lambda functions.

Parameters:

behavior (Optional[str]) – The ungraceful behavior for a Lambda function, which must be set to skip .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdaungraceful.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

lambda_ungraceful_property = arcregionswitch.CfnPlan.LambdaUngracefulProperty(
    behavior="behavior"
)

Attributes

behavior

The ungraceful behavior for a Lambda function, which must be set to skip .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdaungraceful.html#cfn-arcregionswitch-plan-lambdaungraceful-behavior

LambdasProperty

class CfnPlan.LambdasProperty(*, arn=None, cross_account_role=None, external_id=None)

Bases: object

Configuration for AWS Lambda functions used in a Region switch plan.

Parameters:
  • arn (Optional[str]) – The Amazon Resource Name (ARN) of the Lambda function.

  • cross_account_role (Optional[str]) – The cross account role for the configuration.

  • external_id (Optional[str]) – The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdas.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

lambdas_property = arcregionswitch.CfnPlan.LambdasProperty(
    arn="arn",
    cross_account_role="crossAccountRole",
    external_id="externalId"
)

Attributes

arn

The Amazon Resource Name (ARN) of the Lambda function.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdas.html#cfn-arcregionswitch-plan-lambdas-arn

cross_account_role

The cross account role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdas.html#cfn-arcregionswitch-plan-lambdas-crossaccountrole

external_id

The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdas.html#cfn-arcregionswitch-plan-lambdas-externalid

ParallelExecutionBlockConfigurationProperty

class CfnPlan.ParallelExecutionBlockConfigurationProperty(*, steps)

Bases: object

Configuration for steps that should be executed in parallel during a Region switch.

Parameters:

steps (Union[IResolvable, Sequence[Union[IResolvable, StepProperty, Dict[str, Any]]]]) – The steps for a parallel execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-parallelexecutionblockconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

# parallel_execution_block_configuration_property_: arcregionswitch.CfnPlan.ParallelExecutionBlockConfigurationProperty

parallel_execution_block_configuration_property = arcregionswitch.CfnPlan.ParallelExecutionBlockConfigurationProperty(
    steps=[arcregionswitch.CfnPlan.StepProperty(
        execution_block_configuration=arcregionswitch.CfnPlan.ExecutionBlockConfigurationProperty(
            arc_routing_control_config=arcregionswitch.CfnPlan.ArcRoutingControlConfigurationProperty(
                region_and_routing_controls={
                    "region_and_routing_controls_key": [arcregionswitch.CfnPlan.ArcRoutingControlStateProperty(
                        routing_control_arn="routingControlArn",
                        state="state"
                    )]
                },

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId",
                timeout_minutes=123
            ),
            custom_action_lambda_config=arcregionswitch.CfnPlan.CustomActionLambdaConfigurationProperty(
                lambdas=[arcregionswitch.CfnPlan.LambdasProperty(
                    arn="arn",
                    cross_account_role="crossAccountRole",
                    external_id="externalId"
                )],
                region_to_run="regionToRun",
                retry_interval_minutes=123,

                # the properties below are optional
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.LambdaUngracefulProperty(
                    behavior="behavior"
                )
            ),
            ec2_asg_capacity_increase_config=arcregionswitch.CfnPlan.Ec2AsgCapacityIncreaseConfigurationProperty(
                asgs=[arcregionswitch.CfnPlan.AsgProperty(
                    arn="arn",
                    cross_account_role="crossAccountRole",
                    external_id="externalId"
                )],

                # the properties below are optional
                capacity_monitoring_approach="capacityMonitoringApproach",
                target_percent=123,
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.Ec2UngracefulProperty(
                    minimum_success_percentage=123
                )
            ),
            ecs_capacity_increase_config=arcregionswitch.CfnPlan.EcsCapacityIncreaseConfigurationProperty(
                services=[arcregionswitch.CfnPlan.ServiceProperty(
                    cluster_arn="clusterArn",
                    cross_account_role="crossAccountRole",
                    external_id="externalId",
                    service_arn="serviceArn"
                )],

                # the properties below are optional
                capacity_monitoring_approach="capacityMonitoringApproach",
                target_percent=123,
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.EcsUngracefulProperty(
                    minimum_success_percentage=123
                )
            ),
            eks_resource_scaling_config=arcregionswitch.CfnPlan.EksResourceScalingConfigurationProperty(
                kubernetes_resource_type=arcregionswitch.CfnPlan.KubernetesResourceTypeProperty(
                    api_version="apiVersion",
                    kind="kind"
                ),

                # the properties below are optional
                capacity_monitoring_approach="capacityMonitoringApproach",
                eks_clusters=[arcregionswitch.CfnPlan.EksClusterProperty(
                    cluster_arn="clusterArn",

                    # the properties below are optional
                    cross_account_role="crossAccountRole",
                    external_id="externalId"
                )],
                scaling_resources=[{
                    "scaling_resources_key": {
                        "scaling_resources_key": arcregionswitch.CfnPlan.KubernetesScalingResourceProperty(
                            name="name",
                            namespace="namespace",

                            # the properties below are optional
                            hpa_name="hpaName"
                        )
                    }
                }],
                target_percent=123,
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.EksResourceScalingUngracefulProperty(
                    minimum_success_percentage=123
                )
            ),
            execution_approval_config=arcregionswitch.CfnPlan.ExecutionApprovalConfigurationProperty(
                approval_role="approvalRole",

                # the properties below are optional
                timeout_minutes=123
            ),
            global_aurora_config=arcregionswitch.CfnPlan.GlobalAuroraConfigurationProperty(
                behavior="behavior",
                database_cluster_arns=["databaseClusterArns"],
                global_cluster_identifier="globalClusterIdentifier",

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId",
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.GlobalAuroraUngracefulProperty(
                    ungraceful="ungraceful"
                )
            ),
            parallel_config=parallel_execution_block_configuration_property_,
            region_switch_plan_config=arcregionswitch.CfnPlan.RegionSwitchPlanConfigurationProperty(
                arn="arn",

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId"
            ),
            route53_health_check_config=arcregionswitch.CfnPlan.Route53HealthCheckConfigurationProperty(
                hosted_zone_id="hostedZoneId",
                record_name="recordName",

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId",
                record_sets=[arcregionswitch.CfnPlan.Route53ResourceRecordSetProperty(
                    record_set_identifier="recordSetIdentifier",
                    region="region"
                )],
                timeout_minutes=123
            )
        ),
        execution_block_type="executionBlockType",
        name="name",

        # the properties below are optional
        description="description"
    )]
)

Attributes

steps

The steps for a parallel execution block.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-parallelexecutionblockconfiguration.html#cfn-arcregionswitch-plan-parallelexecutionblockconfiguration-steps

RegionSwitchPlanConfigurationProperty

class CfnPlan.RegionSwitchPlanConfigurationProperty(*, arn, cross_account_role=None, external_id=None)

Bases: object

Configuration for nested Region switch plans.

This allows one Region switch plan to trigger another plan as part of its execution.

Parameters:
  • arn (str) – The Amazon Resource Name (ARN) of the plan configuration.

  • cross_account_role (Optional[str]) – The cross account role for the configuration.

  • external_id (Optional[str]) – The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-regionswitchplanconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

region_switch_plan_configuration_property = arcregionswitch.CfnPlan.RegionSwitchPlanConfigurationProperty(
    arn="arn",

    # the properties below are optional
    cross_account_role="crossAccountRole",
    external_id="externalId"
)

Attributes

arn

The Amazon Resource Name (ARN) of the plan configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-regionswitchplanconfiguration.html#cfn-arcregionswitch-plan-regionswitchplanconfiguration-arn

cross_account_role

The cross account role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-regionswitchplanconfiguration.html#cfn-arcregionswitch-plan-regionswitchplanconfiguration-crossaccountrole

external_id

The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-regionswitchplanconfiguration.html#cfn-arcregionswitch-plan-regionswitchplanconfiguration-externalid

Route53HealthCheckConfigurationProperty

class CfnPlan.Route53HealthCheckConfigurationProperty(*, hosted_zone_id, record_name, cross_account_role=None, external_id=None, record_sets=None, timeout_minutes=None)

Bases: object

The Amazon Route 53 health check configuration.

Parameters:
  • hosted_zone_id (str) – The Amazon Route 53 health check configuration hosted zone ID.

  • record_name (str) – The Amazon Route 53 health check configuration record name.

  • cross_account_role (Optional[str]) – The cross account role for the configuration.

  • external_id (Optional[str]) – The external ID (secret key) for the configuration.

  • record_sets (Union[IResolvable, Sequence[Union[IResolvable, Route53ResourceRecordSetProperty, Dict[str, Any]]], None]) – The Amazon Route 53 health check configuration record sets.

  • timeout_minutes (Union[int, float, None]) – The Amazon Route 53 health check configuration time out (in minutes). Default: - 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

route53_health_check_configuration_property = arcregionswitch.CfnPlan.Route53HealthCheckConfigurationProperty(
    hosted_zone_id="hostedZoneId",
    record_name="recordName",

    # the properties below are optional
    cross_account_role="crossAccountRole",
    external_id="externalId",
    record_sets=[arcregionswitch.CfnPlan.Route53ResourceRecordSetProperty(
        record_set_identifier="recordSetIdentifier",
        region="region"
    )],
    timeout_minutes=123
)

Attributes

cross_account_role

The cross account role for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-crossaccountrole

external_id

The external ID (secret key) for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-externalid

hosted_zone_id

The Amazon Route 53 health check configuration hosted zone ID.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-hostedzoneid

record_name

The Amazon Route 53 health check configuration record name.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-recordname

record_sets

The Amazon Route 53 health check configuration record sets.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-recordsets

timeout_minutes

The Amazon Route 53 health check configuration time out (in minutes).

Default:
  • 60

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-timeoutminutes

Route53ResourceRecordSetProperty

class CfnPlan.Route53ResourceRecordSetProperty(*, record_set_identifier=None, region=None)

Bases: object

The Amazon Route 53 record set.

Parameters:
  • record_set_identifier (Optional[str]) – The Amazon Route 53 record set identifier.

  • region (Optional[str]) – The Amazon Route 53 record set Region.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53resourcerecordset.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

route53_resource_record_set_property = arcregionswitch.CfnPlan.Route53ResourceRecordSetProperty(
    record_set_identifier="recordSetIdentifier",
    region="region"
)

Attributes

record_set_identifier

The Amazon Route 53 record set identifier.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53resourcerecordset.html#cfn-arcregionswitch-plan-route53resourcerecordset-recordsetidentifier

region

The Amazon Route 53 record set Region.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53resourcerecordset.html#cfn-arcregionswitch-plan-route53resourcerecordset-region

ServiceProperty

class CfnPlan.ServiceProperty(*, cluster_arn=None, cross_account_role=None, external_id=None, service_arn=None)

Bases: object

The service for a cross account role.

Parameters:
  • cluster_arn (Optional[str]) – The cluster Amazon Resource Name (ARN) for a service.

  • cross_account_role (Optional[str]) – The cross account role for a service.

  • external_id (Optional[str]) – The external ID (secret key) for the service.

  • service_arn (Optional[str]) – The Amazon Resource Name (ARN) for a service.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

service_property = arcregionswitch.CfnPlan.ServiceProperty(
    cluster_arn="clusterArn",
    cross_account_role="crossAccountRole",
    external_id="externalId",
    service_arn="serviceArn"
)

Attributes

cluster_arn

The cluster Amazon Resource Name (ARN) for a service.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html#cfn-arcregionswitch-plan-service-clusterarn

cross_account_role

The cross account role for a service.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html#cfn-arcregionswitch-plan-service-crossaccountrole

external_id

The external ID (secret key) for the service.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html#cfn-arcregionswitch-plan-service-externalid

service_arn

The Amazon Resource Name (ARN) for a service.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html#cfn-arcregionswitch-plan-service-servicearn

StepProperty

class CfnPlan.StepProperty(*, execution_block_configuration, execution_block_type, name, description=None)

Bases: object

Represents a step in a Region switch plan workflow.

Each step performs a specific action during the Region switch process.

Parameters:
  • execution_block_configuration (Union[IResolvable, ExecutionBlockConfigurationProperty, Dict[str, Any]]) – The configuration for an execution block in a workflow.

  • execution_block_type (str) – The type of an execution block in a workflow.

  • name (str) – The name of a step in a workflow.

  • description (Optional[str]) – The description of a step in a workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

# step_property_: arcregionswitch.CfnPlan.StepProperty

step_property = arcregionswitch.CfnPlan.StepProperty(
    execution_block_configuration=arcregionswitch.CfnPlan.ExecutionBlockConfigurationProperty(
        arc_routing_control_config=arcregionswitch.CfnPlan.ArcRoutingControlConfigurationProperty(
            region_and_routing_controls={
                "region_and_routing_controls_key": [arcregionswitch.CfnPlan.ArcRoutingControlStateProperty(
                    routing_control_arn="routingControlArn",
                    state="state"
                )]
            },

            # the properties below are optional
            cross_account_role="crossAccountRole",
            external_id="externalId",
            timeout_minutes=123
        ),
        custom_action_lambda_config=arcregionswitch.CfnPlan.CustomActionLambdaConfigurationProperty(
            lambdas=[arcregionswitch.CfnPlan.LambdasProperty(
                arn="arn",
                cross_account_role="crossAccountRole",
                external_id="externalId"
            )],
            region_to_run="regionToRun",
            retry_interval_minutes=123,

            # the properties below are optional
            timeout_minutes=123,
            ungraceful=arcregionswitch.CfnPlan.LambdaUngracefulProperty(
                behavior="behavior"
            )
        ),
        ec2_asg_capacity_increase_config=arcregionswitch.CfnPlan.Ec2AsgCapacityIncreaseConfigurationProperty(
            asgs=[arcregionswitch.CfnPlan.AsgProperty(
                arn="arn",
                cross_account_role="crossAccountRole",
                external_id="externalId"
            )],

            # the properties below are optional
            capacity_monitoring_approach="capacityMonitoringApproach",
            target_percent=123,
            timeout_minutes=123,
            ungraceful=arcregionswitch.CfnPlan.Ec2UngracefulProperty(
                minimum_success_percentage=123
            )
        ),
        ecs_capacity_increase_config=arcregionswitch.CfnPlan.EcsCapacityIncreaseConfigurationProperty(
            services=[arcregionswitch.CfnPlan.ServiceProperty(
                cluster_arn="clusterArn",
                cross_account_role="crossAccountRole",
                external_id="externalId",
                service_arn="serviceArn"
            )],

            # the properties below are optional
            capacity_monitoring_approach="capacityMonitoringApproach",
            target_percent=123,
            timeout_minutes=123,
            ungraceful=arcregionswitch.CfnPlan.EcsUngracefulProperty(
                minimum_success_percentage=123
            )
        ),
        eks_resource_scaling_config=arcregionswitch.CfnPlan.EksResourceScalingConfigurationProperty(
            kubernetes_resource_type=arcregionswitch.CfnPlan.KubernetesResourceTypeProperty(
                api_version="apiVersion",
                kind="kind"
            ),

            # the properties below are optional
            capacity_monitoring_approach="capacityMonitoringApproach",
            eks_clusters=[arcregionswitch.CfnPlan.EksClusterProperty(
                cluster_arn="clusterArn",

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId"
            )],
            scaling_resources=[{
                "scaling_resources_key": {
                    "scaling_resources_key": arcregionswitch.CfnPlan.KubernetesScalingResourceProperty(
                        name="name",
                        namespace="namespace",

                        # the properties below are optional
                        hpa_name="hpaName"
                    )
                }
            }],
            target_percent=123,
            timeout_minutes=123,
            ungraceful=arcregionswitch.CfnPlan.EksResourceScalingUngracefulProperty(
                minimum_success_percentage=123
            )
        ),
        execution_approval_config=arcregionswitch.CfnPlan.ExecutionApprovalConfigurationProperty(
            approval_role="approvalRole",

            # the properties below are optional
            timeout_minutes=123
        ),
        global_aurora_config=arcregionswitch.CfnPlan.GlobalAuroraConfigurationProperty(
            behavior="behavior",
            database_cluster_arns=["databaseClusterArns"],
            global_cluster_identifier="globalClusterIdentifier",

            # the properties below are optional
            cross_account_role="crossAccountRole",
            external_id="externalId",
            timeout_minutes=123,
            ungraceful=arcregionswitch.CfnPlan.GlobalAuroraUngracefulProperty(
                ungraceful="ungraceful"
            )
        ),
        parallel_config=arcregionswitch.CfnPlan.ParallelExecutionBlockConfigurationProperty(
            steps=[step_property_]
        ),
        region_switch_plan_config=arcregionswitch.CfnPlan.RegionSwitchPlanConfigurationProperty(
            arn="arn",

            # the properties below are optional
            cross_account_role="crossAccountRole",
            external_id="externalId"
        ),
        route53_health_check_config=arcregionswitch.CfnPlan.Route53HealthCheckConfigurationProperty(
            hosted_zone_id="hostedZoneId",
            record_name="recordName",

            # the properties below are optional
            cross_account_role="crossAccountRole",
            external_id="externalId",
            record_sets=[arcregionswitch.CfnPlan.Route53ResourceRecordSetProperty(
                record_set_identifier="recordSetIdentifier",
                region="region"
            )],
            timeout_minutes=123
        )
    ),
    execution_block_type="executionBlockType",
    name="name",

    # the properties below are optional
    description="description"
)

Attributes

description

The description of a step in a workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html#cfn-arcregionswitch-plan-step-description

execution_block_configuration

The configuration for an execution block in a workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html#cfn-arcregionswitch-plan-step-executionblockconfiguration

execution_block_type

The type of an execution block in a workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html#cfn-arcregionswitch-plan-step-executionblocktype

name

The name of a step in a workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html#cfn-arcregionswitch-plan-step-name

TriggerConditionProperty

class CfnPlan.TriggerConditionProperty(*, associated_alarm_name, condition)

Bases: object

Defines a condition that must be met for a trigger to fire.

Parameters:
  • associated_alarm_name (str) – The name of the CloudWatch alarm associated with the condition.

  • condition (str) – The condition that must be met. Valid values include ALARM and OK.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-triggercondition.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

trigger_condition_property = arcregionswitch.CfnPlan.TriggerConditionProperty(
    associated_alarm_name="associatedAlarmName",
    condition="condition"
)

Attributes

associated_alarm_name

The name of the CloudWatch alarm associated with the condition.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-triggercondition.html#cfn-arcregionswitch-plan-triggercondition-associatedalarmname

condition

The condition that must be met.

Valid values include ALARM and OK.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-triggercondition.html#cfn-arcregionswitch-plan-triggercondition-condition

TriggerProperty

class CfnPlan.TriggerProperty(*, action, conditions, min_delay_minutes_between_executions, target_region, description=None)

Bases: object

Defines a condition that can automatically trigger the execution of a Region switch plan.

Parameters:
  • action (str) – The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE.

  • conditions (Union[IResolvable, Sequence[Union[IResolvable, TriggerConditionProperty, Dict[str, Any]]]]) – The conditions that must be met for the trigger to fire.

  • min_delay_minutes_between_executions (Union[int, float]) – The minimum time, in minutes, that must elapse between automatic executions of the plan.

  • target_region (str) – The AWS Region for a trigger.

  • description (Optional[str]) – The description for a trigger.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

trigger_property = arcregionswitch.CfnPlan.TriggerProperty(
    action="action",
    conditions=[arcregionswitch.CfnPlan.TriggerConditionProperty(
        associated_alarm_name="associatedAlarmName",
        condition="condition"
    )],
    min_delay_minutes_between_executions=123,
    target_region="targetRegion",

    # the properties below are optional
    description="description"
)

Attributes

action

The action to perform when the trigger fires.

Valid values include ACTIVATE and DEACTIVATE.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-action

conditions

The conditions that must be met for the trigger to fire.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-conditions

description

The description for a trigger.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-description

min_delay_minutes_between_executions

The minimum time, in minutes, that must elapse between automatic executions of the plan.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-mindelayminutesbetweenexecutions

target_region

The AWS Region for a trigger.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-targetregion

WorkflowProperty

class CfnPlan.WorkflowProperty(*, workflow_target_action, steps=None, workflow_description=None, workflow_target_region=None)

Bases: object

Represents a workflow in a Region switch plan.

A workflow defines a sequence of steps to execute during a Region switch.

Parameters:
  • workflow_target_action (str) – The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE.

  • steps (Union[IResolvable, Sequence[Union[IResolvable, StepProperty, Dict[str, Any]]], None]) – The steps that make up the workflow.

  • workflow_description (Optional[str]) – The description of the workflow.

  • workflow_target_region (Optional[str]) – The AWS Region that the workflow targets.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_arcregionswitch as arcregionswitch

# step_property_: arcregionswitch.CfnPlan.StepProperty

workflow_property = arcregionswitch.CfnPlan.WorkflowProperty(
    workflow_target_action="workflowTargetAction",

    # the properties below are optional
    steps=[arcregionswitch.CfnPlan.StepProperty(
        execution_block_configuration=arcregionswitch.CfnPlan.ExecutionBlockConfigurationProperty(
            arc_routing_control_config=arcregionswitch.CfnPlan.ArcRoutingControlConfigurationProperty(
                region_and_routing_controls={
                    "region_and_routing_controls_key": [arcregionswitch.CfnPlan.ArcRoutingControlStateProperty(
                        routing_control_arn="routingControlArn",
                        state="state"
                    )]
                },

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId",
                timeout_minutes=123
            ),
            custom_action_lambda_config=arcregionswitch.CfnPlan.CustomActionLambdaConfigurationProperty(
                lambdas=[arcregionswitch.CfnPlan.LambdasProperty(
                    arn="arn",
                    cross_account_role="crossAccountRole",
                    external_id="externalId"
                )],
                region_to_run="regionToRun",
                retry_interval_minutes=123,

                # the properties below are optional
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.LambdaUngracefulProperty(
                    behavior="behavior"
                )
            ),
            ec2_asg_capacity_increase_config=arcregionswitch.CfnPlan.Ec2AsgCapacityIncreaseConfigurationProperty(
                asgs=[arcregionswitch.CfnPlan.AsgProperty(
                    arn="arn",
                    cross_account_role="crossAccountRole",
                    external_id="externalId"
                )],

                # the properties below are optional
                capacity_monitoring_approach="capacityMonitoringApproach",
                target_percent=123,
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.Ec2UngracefulProperty(
                    minimum_success_percentage=123
                )
            ),
            ecs_capacity_increase_config=arcregionswitch.CfnPlan.EcsCapacityIncreaseConfigurationProperty(
                services=[arcregionswitch.CfnPlan.ServiceProperty(
                    cluster_arn="clusterArn",
                    cross_account_role="crossAccountRole",
                    external_id="externalId",
                    service_arn="serviceArn"
                )],

                # the properties below are optional
                capacity_monitoring_approach="capacityMonitoringApproach",
                target_percent=123,
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.EcsUngracefulProperty(
                    minimum_success_percentage=123
                )
            ),
            eks_resource_scaling_config=arcregionswitch.CfnPlan.EksResourceScalingConfigurationProperty(
                kubernetes_resource_type=arcregionswitch.CfnPlan.KubernetesResourceTypeProperty(
                    api_version="apiVersion",
                    kind="kind"
                ),

                # the properties below are optional
                capacity_monitoring_approach="capacityMonitoringApproach",
                eks_clusters=[arcregionswitch.CfnPlan.EksClusterProperty(
                    cluster_arn="clusterArn",

                    # the properties below are optional
                    cross_account_role="crossAccountRole",
                    external_id="externalId"
                )],
                scaling_resources=[{
                    "scaling_resources_key": {
                        "scaling_resources_key": arcregionswitch.CfnPlan.KubernetesScalingResourceProperty(
                            name="name",
                            namespace="namespace",

                            # the properties below are optional
                            hpa_name="hpaName"
                        )
                    }
                }],
                target_percent=123,
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.EksResourceScalingUngracefulProperty(
                    minimum_success_percentage=123
                )
            ),
            execution_approval_config=arcregionswitch.CfnPlan.ExecutionApprovalConfigurationProperty(
                approval_role="approvalRole",

                # the properties below are optional
                timeout_minutes=123
            ),
            global_aurora_config=arcregionswitch.CfnPlan.GlobalAuroraConfigurationProperty(
                behavior="behavior",
                database_cluster_arns=["databaseClusterArns"],
                global_cluster_identifier="globalClusterIdentifier",

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId",
                timeout_minutes=123,
                ungraceful=arcregionswitch.CfnPlan.GlobalAuroraUngracefulProperty(
                    ungraceful="ungraceful"
                )
            ),
            parallel_config=arcregionswitch.CfnPlan.ParallelExecutionBlockConfigurationProperty(
                steps=[step_property_]
            ),
            region_switch_plan_config=arcregionswitch.CfnPlan.RegionSwitchPlanConfigurationProperty(
                arn="arn",

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId"
            ),
            route53_health_check_config=arcregionswitch.CfnPlan.Route53HealthCheckConfigurationProperty(
                hosted_zone_id="hostedZoneId",
                record_name="recordName",

                # the properties below are optional
                cross_account_role="crossAccountRole",
                external_id="externalId",
                record_sets=[arcregionswitch.CfnPlan.Route53ResourceRecordSetProperty(
                    record_set_identifier="recordSetIdentifier",
                    region="region"
                )],
                timeout_minutes=123
            )
        ),
        execution_block_type="executionBlockType",
        name="name",

        # the properties below are optional
        description="description"
    )],
    workflow_description="workflowDescription",
    workflow_target_region="workflowTargetRegion"
)

Attributes

steps

The steps that make up the workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html#cfn-arcregionswitch-plan-workflow-steps

workflow_description

The description of the workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html#cfn-arcregionswitch-plan-workflow-workflowdescription

workflow_target_action

The action that the workflow performs.

Valid values include ACTIVATE and DEACTIVATE.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html#cfn-arcregionswitch-plan-workflow-workflowtargetaction

workflow_target_region

The AWS Region that the workflow targets.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html#cfn-arcregionswitch-plan-workflow-workflowtargetregion