CfnPlanProps

class aws_cdk.aws_arcregionswitch.CfnPlanProps(*, 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: object

Properties for defining a CfnPlan.

Parameters:
  • 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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.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

cfn_plan_props = arcregionswitch.CfnPlanProps(
    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"
    )]
)

Attributes

associated_alarms

The associated application health alarms for a plan.

See:

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

description

The description for a plan.

See:

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

execution_role

The execution role for a plan.

See:

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

name

The name for a plan.

See:

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

primary_region

The primary Region for a plan.

See:

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

recovery_approach

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

See:

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

recovery_time_objective_minutes

The recovery time objective for a plan.

See:

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

regions

The AWS Regions for a plan.

See:

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

tags

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

Type:

see

triggers

The triggers for a plan.

See:

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

workflows

The workflows for a plan.

See:

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