interface CfnPlanProps
Language | Type name |
---|---|
![]() | Amazon.CDK.aws_arcregionswitch.CfnPlanProps |
![]() | github.com/aws/aws-cdk-go/awscdk/v2/awsarcregionswitch#CfnPlanProps |
![]() | software.amazon.awscdk.services.arcregionswitch.CfnPlanProps |
![]() | aws_cdk.aws_arcregionswitch.CfnPlanProps |
![]() | aws-cdk-lib » aws_arcregionswitch » CfnPlanProps |
Properties for defining a CfnPlan
.
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 { aws_arcregionswitch as arcregionswitch } from 'aws-cdk-lib';
declare const stepProperty_: arcregionswitch.CfnPlan.StepProperty;
const cfnPlanProps: arcregionswitch.CfnPlanProps = {
executionRole: 'executionRole',
name: 'name',
recoveryApproach: 'recoveryApproach',
regions: ['regions'],
workflows: [{
workflowTargetAction: 'workflowTargetAction',
// the properties below are optional
steps: [{
executionBlockConfiguration: {
arcRoutingControlConfig: {
regionAndRoutingControls: {
regionAndRoutingControlsKey: [{
routingControlArn: 'routingControlArn',
state: 'state',
}],
},
// the properties below are optional
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
timeoutMinutes: 123,
},
customActionLambdaConfig: {
lambdas: [{
arn: 'arn',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
}],
regionToRun: 'regionToRun',
retryIntervalMinutes: 123,
// the properties below are optional
timeoutMinutes: 123,
ungraceful: {
behavior: 'behavior',
},
},
ec2AsgCapacityIncreaseConfig: {
asgs: [{
arn: 'arn',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
}],
// the properties below are optional
capacityMonitoringApproach: 'capacityMonitoringApproach',
targetPercent: 123,
timeoutMinutes: 123,
ungraceful: {
minimumSuccessPercentage: 123,
},
},
ecsCapacityIncreaseConfig: {
services: [{
clusterArn: 'clusterArn',
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
serviceArn: 'serviceArn',
}],
// the properties below are optional
capacityMonitoringApproach: 'capacityMonitoringApproach',
targetPercent: 123,
timeoutMinutes: 123,
ungraceful: {
minimumSuccessPercentage: 123,
},
},
eksResourceScalingConfig: {
kubernetesResourceType: {
apiVersion: 'apiVersion',
kind: 'kind',
},
// the properties below are optional
capacityMonitoringApproach: 'capacityMonitoringApproach',
eksClusters: [{
clusterArn: 'clusterArn',
// the properties below are optional
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
}],
scalingResources: [{
scalingResourcesKey: {
scalingResourcesKey: {
name: 'name',
namespace: 'namespace',
// the properties below are optional
hpaName: 'hpaName',
},
},
}],
targetPercent: 123,
timeoutMinutes: 123,
ungraceful: {
minimumSuccessPercentage: 123,
},
},
executionApprovalConfig: {
approvalRole: 'approvalRole',
// the properties below are optional
timeoutMinutes: 123,
},
globalAuroraConfig: {
behavior: 'behavior',
databaseClusterArns: ['databaseClusterArns'],
globalClusterIdentifier: 'globalClusterIdentifier',
// the properties below are optional
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
timeoutMinutes: 123,
ungraceful: {
ungraceful: 'ungraceful',
},
},
parallelConfig: {
steps: [stepProperty_],
},
regionSwitchPlanConfig: {
arn: 'arn',
// the properties below are optional
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
},
route53HealthCheckConfig: {
hostedZoneId: 'hostedZoneId',
recordName: 'recordName',
// the properties below are optional
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
recordSets: [{
recordSetIdentifier: 'recordSetIdentifier',
region: 'region',
}],
timeoutMinutes: 123,
},
},
executionBlockType: 'executionBlockType',
name: 'name',
// the properties below are optional
description: 'description',
}],
workflowDescription: 'workflowDescription',
workflowTargetRegion: 'workflowTargetRegion',
}],
// the properties below are optional
associatedAlarms: {
associatedAlarmsKey: {
alarmType: 'alarmType',
resourceIdentifier: 'resourceIdentifier',
// the properties below are optional
crossAccountRole: 'crossAccountRole',
externalId: 'externalId',
},
},
description: 'description',
primaryRegion: 'primaryRegion',
recoveryTimeObjectiveMinutes: 123,
tags: {
tagsKey: 'tags',
},
triggers: [{
action: 'action',
conditions: [{
associatedAlarmName: 'associatedAlarmName',
condition: 'condition',
}],
minDelayMinutesBetweenExecutions: 123,
targetRegion: 'targetRegion',
// the properties below are optional
description: 'description',
}],
};
Properties
Name | Type | Description |
---|---|---|
execution | string | The execution role for a plan. |
name | string | The name for a plan. |
recovery | string | The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive). |
regions | string[] | The AWS Regions for a plan. |
workflows | IResolvable | IResolvable | Workflow [] | The workflows for a plan. |
associated | IResolvable | { [string]: IResolvable | Associated } | The associated application health alarms for a plan. |
description? | string | The description for a plan. |
primary | string | The primary Region for a plan. |
recovery | number | The recovery time objective for a plan. |
tags? | { [string]: string } | |
triggers? | IResolvable | IResolvable | Trigger [] | The triggers for a plan. |
executionRole
Type:
string
The execution role for a plan.
name
Type:
string
The name for a plan.
recoveryApproach
Type:
string
The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
regions
Type:
string[]
The AWS Regions for a plan.
workflows
Type:
IResolvable
|
IResolvable
|
Workflow
[]
The workflows for a plan.
associatedAlarms?
Type:
IResolvable
| { [string]:
IResolvable
|
Associated
}
(optional)
The associated application health alarms for a plan.
description?
Type:
string
(optional)
The description for a plan.
primaryRegion?
Type:
string
(optional)
The primary Region for a plan.
recoveryTimeObjectiveMinutes?
Type:
number
(optional)
The recovery time objective for a plan.
tags?
Type:
{ [string]: string }
(optional)
triggers?
Type:
IResolvable
|
IResolvable
|
Trigger
[]
(optional)
The triggers for a plan.