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
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 prefixpath
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 toaddOverride
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: truedefault (
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:
- 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:
- get_metadata(key)
Retrieve a value value from the CloudFormation Resource Metadata.
- Parameters:
key (
str
)- See:
- Return type:
Any
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:
target (
CfnResource
) – The dependency to replace.new_target (
CfnResource
) – The new dependency to add.
- 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 detectConstruct
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 classConstruct
in each copy of theconstructs
library is seen as a different class, and an instance of one class will not test asinstanceof
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 theconstructs
library can be accidentally installed, andinstanceof
will behave unpredictably. It is safest to avoid usinginstanceof
, 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 extendsConstruct
.
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:
- 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.
- external_id
The external ID (secret key) for the configuration.
- region_and_routing_controls
The Region and ARC routing controls for the configuration.
- timeout_minutes
The timeout value specified for the configuration.
ArcRoutingControlStateProperty
- class CfnPlan.ArcRoutingControlStateProperty(*, routing_control_arn, state)
Bases:
object
- Parameters:
routing_control_arn (
str
)state (
str
)
- See:
- 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
-
- 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:
- 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.
- cross_account_role
The cross account role for the configuration.
- external_id
The external ID (secret key) for the configuration.
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:
- 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.
- cross_account_role
The cross account role for the configuration.
- external_id
The external ID (secret key) for the configuration.
- resource_identifier
The resource identifier for alarms that you associate with a plan.
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: - 60ungraceful (
Union
[IResolvable
,LambdaUngracefulProperty
,Dict
[str
,Any
],None
]) – The settings for ungraceful execution.
- See:
- 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.
- region_to_run
The AWS Region for the function to run in.
- retry_interval_minutes
The retry interval specified.
- timeout_minutes
The timeout value specified for the configuration.
- ungraceful
The settings for ungraceful execution.
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: - 100timeout_minutes (
Union
[int
,float
,None
]) – The timeout value specified for the configuration. Default: - 60ungraceful (
Union
[IResolvable
,Ec2UngracefulProperty
,Dict
[str
,Any
],None
]) – The settings for ungraceful execution.
- See:
- 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.
- capacity_monitoring_approach
The monitoring approach that you specify EC2 Auto Scaling groups for the configuration.
- target_percent
The target percentage that you specify for EC2 Auto Scaling groups.
- timeout_minutes
The timeout value specified for the configuration.
- ungraceful
The settings for ungraceful execution.
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:
- 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.
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: - 100timeout_minutes (
Union
[int
,float
,None
]) – The timeout value specified for the configuration. Default: - 60ungraceful (
Union
[IResolvable
,EcsUngracefulProperty
,Dict
[str
,Any
],None
]) – The settings for ungraceful execution.
- See:
- 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
.
- services
The services specified for the configuration.
- target_percent
The target percentage specified for the configuration.
- timeout_minutes
The timeout value specified for the configuration.
- ungraceful
The settings for ungraceful execution.
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:
- 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.
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:
- 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.
- cross_account_role
The cross account role for the configuration.
- external_id
The external ID (secret key) for the configuration.
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: - 100timeout_minutes (
Union
[int
,float
,None
]) – The timeout value specified for the configuration. Default: - 60ungraceful (
Union
[IResolvable
,EksResourceScalingUngracefulProperty
,Dict
[str
,Any
],None
]) – The settings for ungraceful execution.
- See:
- 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.
- eks_clusters
The clusters for the configuration.
- kubernetes_resource_type
The Kubernetes resource type for the configuration.
- scaling_resources
The scaling resources for the configuration.
- target_percent
The target percentage for the configuration.
- timeout_minutes
The timeout value specified for the configuration.
- ungraceful
The settings for ungraceful execution.
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:
- 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.
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:
- 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.
- timeout_minutes
The timeout value specified for the configuration.
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:
arc_routing_control_config (
Union
[IResolvable
,ArcRoutingControlConfigurationProperty
,Dict
[str
,Any
],None
]) – An ARC routing control execution block.custom_action_lambda_config (
Union
[IResolvable
,CustomActionLambdaConfigurationProperty
,Dict
[str
,Any
],None
]) – An AWS Lambda execution block.ec2_asg_capacity_increase_config (
Union
[IResolvable
,Ec2AsgCapacityIncreaseConfigurationProperty
,Dict
[str
,Any
],None
]) – An EC2 Auto Scaling group execution block.ecs_capacity_increase_config (
Union
[IResolvable
,EcsCapacityIncreaseConfigurationProperty
,Dict
[str
,Any
],None
]) – The capacity increase specified for the configuration.eks_resource_scaling_config (
Union
[IResolvable
,EksResourceScalingConfigurationProperty
,Dict
[str
,Any
],None
]) – An AWS EKS resource scaling execution block.execution_approval_config (
Union
[IResolvable
,ExecutionApprovalConfigurationProperty
,Dict
[str
,Any
],None
]) – A manual approval execution block.global_aurora_config (
Union
[IResolvable
,GlobalAuroraConfigurationProperty
,Dict
[str
,Any
],None
]) – An Aurora Global Database execution block.parallel_config (
Union
[IResolvable
,ParallelExecutionBlockConfigurationProperty
,Dict
[str
,Any
],None
]) – A parallel configuration execution block.region_switch_plan_config (
Union
[IResolvable
,RegionSwitchPlanConfigurationProperty
,Dict
[str
,Any
],None
]) – A Region switch plan execution block.route53_health_check_config (
Union
[IResolvable
,Route53HealthCheckConfigurationProperty
,Dict
[str
,Any
],None
]) – The Amazon Route 53 health check configuration.
- See:
- 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.
- custom_action_lambda_config
An AWS Lambda execution block.
- ec2_asg_capacity_increase_config
An EC2 Auto Scaling group execution block.
- ecs_capacity_increase_config
The capacity increase specified for the configuration.
- eks_resource_scaling_config
An AWS EKS resource scaling execution block.
- execution_approval_config
A manual approval execution block.
- global_aurora_config
An Aurora Global Database execution block.
- parallel_config
A parallel configuration execution block.
- region_switch_plan_config
A Region switch plan execution block.
- route53_health_check_config
The Amazon Route 53 health check configuration.
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: - 60ungraceful (
Union
[IResolvable
,GlobalAuroraUngracefulProperty
,Dict
[str
,Any
],None
]) – The settings for ungraceful execution.
- See:
- 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.
- cross_account_role
The cross account role for the configuration.
- database_cluster_arns
The database cluster Amazon Resource Names (ARNs) for a global database.
- external_id
The external ID (secret key) for the configuration.
- global_cluster_identifier
The global cluster identifier for a global database.
- timeout_minutes
The timeout value specified for the configuration.
- ungraceful
The settings for ungraceful execution.
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:
- 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.
HealthCheckStateProperty
- class CfnPlan.HealthCheckStateProperty(*, health_check_id=None, region=None)
Bases:
object
- Parameters:
health_check_id (
Optional
[str
])region (
Optional
[str
])
- See:
- 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
-
- 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:
- 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.
- kind
The kind for the Kubernetes resource.
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:
- 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.
- name
The name for the Kubernetes resource.
- namespace
The namespace for the Kubernetes resource.
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 toskip
.- See:
- 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
.
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:
- 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.
- cross_account_role
The cross account role for the configuration.
- external_id
The external ID (secret key) for the configuration.
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:
- 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.
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:
- 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.
- cross_account_role
The cross account role for the configuration.
- external_id
The external ID (secret key) for the configuration.
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:
- 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.
- external_id
The external ID (secret key) for the configuration.
- hosted_zone_id
The Amazon Route 53 health check configuration hosted zone ID.
- record_name
The Amazon Route 53 health check configuration record name.
- record_sets
The Amazon Route 53 health check configuration record sets.
- timeout_minutes
The Amazon Route 53 health check configuration time out (in minutes).
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:
- 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.
- region
The Amazon Route 53 record set 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:
- 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.
- cross_account_role
The cross account role for a service.
- external_id
The external ID (secret key) for the service.
- service_arn
The Amazon Resource Name (ARN) for a service.
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:
- 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.
- execution_block_configuration
The configuration for an execution block in a workflow.
- execution_block_type
The type of an execution block in a workflow.
- name
The name of a step in a workflow.
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:
- 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.
- condition
The condition that must be met.
Valid values include ALARM and OK.
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:
- 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.
- conditions
The conditions that must be met for the trigger to fire.
- description
The description for a trigger.
- min_delay_minutes_between_executions
The minimum time, in minutes, that must elapse between automatic executions of the plan.
- target_region
The AWS Region for a trigger.
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:
- 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.
- workflow_description
The description of the workflow.
- workflow_target_action
The action that the workflow performs.
Valid values include ACTIVATE and DEACTIVATE.
- workflow_target_region
The AWS Region that the workflow targets.