class CfnPlanPropsMixin
| Language | Type name |
|---|---|
.NET | Amazon.CDK.Mixins.Preview.AWS.ARCRegionSwitch.Mixins.CfnPlanPropsMixin |
Go | github.com/aws/aws-cdk-go/awscdkmixinspreview/v2/awsarcregionswitch/mixins#CfnPlanPropsMixin |
Java | software.amazon.awscdk.mixins.preview.services.arcregionswitch.mixins.CfnPlanPropsMixin |
Python | aws_cdk.mixins_preview.aws_arcregionswitch.mixins.CfnPlanPropsMixin |
TypeScript | @aws-cdk/mixins-preview » aws_arcregionswitch » mixins » CfnPlanPropsMixin |
Implements
IMixin
Extends
Mixin
Represents a Region switch plan.
A plan defines the steps required to shift traffic from one AWS Region to another.
See also: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { mixins } from '@aws-cdk/mixins-preview';
import { mixins as arcregionswitch_mixins } from '@aws-cdk/mixins-preview/aws-arcregionswitch';
declare const stepProperty_: arcregionswitch_mixins.CfnPlanPropsMixin.StepProperty;
const cfnPlanPropsMixin = new arcregionswitch_mixins.CfnPlanPropsMixin({
associatedAlarms: {
associatedAlarmsKey: {
alarmType: 'alarmType',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
resourceIdentifier: 'resourceIdentifier',
},
},
description: 'description',
executionRole: 'executionRole',
name: 'name',
primaryRegion: 'primaryRegion',
recoveryApproach: 'recoveryApproach',
recoveryTimeObjectiveMinutes: 123,
regions: ['regions'],
tags: {
tagsKey: 'tags',
},
triggers: [{
action: 'action',
conditions: [{
associatedAlarmName: 'associatedAlarmName',
condition: 'condition',
}],
description: 'description',
minDelayMinutesBetweenExecutions: 123,
targetRegion: 'targetRegion',
}],
workflows: [{
steps: [{
description: 'description',
executionBlockConfiguration: {
arcRoutingControlConfig: {
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
regionAndRoutingControls: {
regionAndRoutingControlsKey: [{
routingControlArn: 'routingControlArn',
state: 'state',
}],
},
timeoutMinutes: 123,
},
customActionLambdaConfig: {
lambdas: [{
arn: 'arn',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
}],
regionToRun: 'regionToRun',
retryIntervalMinutes: 123,
timeoutMinutes: 123,
ungraceful: {
behavior: 'behavior',
},
},
ec2AsgCapacityIncreaseConfig: {
asgs: [{
arn: 'arn',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
}],
capacityMonitoringApproach: 'capacityMonitoringApproach',
targetPercent: 123,
timeoutMinutes: 123,
ungraceful: {
minimumSuccessPercentage: 123,
},
},
ecsCapacityIncreaseConfig: {
capacityMonitoringApproach: 'capacityMonitoringApproach',
services: [{
clusterArn: 'clusterArn',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
serviceArn: 'serviceArn',
}],
targetPercent: 123,
timeoutMinutes: 123,
ungraceful: {
minimumSuccessPercentage: 123,
},
},
eksResourceScalingConfig: {
capacityMonitoringApproach: 'capacityMonitoringApproach',
eksClusters: [{
clusterArn: 'clusterArn',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
}],
kubernetesResourceType: {
apiVersion: 'apiVersion',
kind: 'kind',
},
scalingResources: [{
scalingResourcesKey: {
scalingResourcesKey: {
hpaName: 'hpaName',
name: 'name',
namespace: 'namespace',
},
},
}],
targetPercent: 123,
timeoutMinutes: 123,
ungraceful: {
minimumSuccessPercentage: 123,
},
},
executionApprovalConfig: {
approvalRole: 'approvalRole',
timeoutMinutes: 123,
},
globalAuroraConfig: {
behavior: 'behavior',
crossAccountRole: 'crossAccountRole',
databaseClusterArns: ['databaseClusterArns'],
externalId: 'externalId',
globalClusterIdentifier: 'globalClusterIdentifier',
timeoutMinutes: 123,
ungraceful: {
ungraceful: 'ungraceful',
},
},
parallelConfig: {
steps: [stepProperty_],
},
regionSwitchPlanConfig: {
arn: 'arn',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
},
route53HealthCheckConfig: {
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
hostedZoneId: 'hostedZoneId',
recordName: 'recordName',
recordSets: [{
recordSetIdentifier: 'recordSetIdentifier',
region: 'region',
}],
timeoutMinutes: 123,
},
},
executionBlockType: 'executionBlockType',
name: 'name',
}],
workflowDescription: 'workflowDescription',
workflowTargetAction: 'workflowTargetAction',
workflowTargetRegion: 'workflowTargetRegion',
}],
}, /* all optional props */ {
strategy: mixins.PropertyMergeStrategy.OVERRIDE,
});
Initializer
new CfnPlanPropsMixin(props: CfnPlanMixinProps, options?: CfnPropertyMixinOptions)
Parameters
- props
Cfn— L1 properties to apply.Plan Mixin Props - options
Cfn— Mixin options.Property Mixin Options
Create a mixin to apply properties to AWS::ARCRegionSwitch::Plan.
Properties
| Name | Type | Description |
|---|---|---|
| props | Cfn | |
| strategy | Property | |
| static CFN_PROPERTY_KEYS | string[] |
props
Type:
Cfn
strategy
Type:
Property
static CFN_PROPERTY_KEYS
Type:
string[]
Methods
| Name | Description |
|---|---|
| apply | Apply the mixin properties to the construct. |
| supports(construct) | Check if this mixin supports the given construct. |
applyTo(construct)
public applyTo(construct: IConstruct): IConstruct
Parameters
- construct
IConstruct
Returns
Apply the mixin properties to the construct.
supports(construct)
public supports(construct: IConstruct): boolean
Parameters
- construct
IConstruct
Returns
boolean
Check if this mixin supports the given construct.

.NET
Go
Java
Python
TypeScript