Class CfnPlan.ExecutionBlockConfigurationProperty
Execution block configurations for a workflow in a Region switch plan.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.ARCRegionSwitch
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnPlan.ExecutionBlockConfigurationProperty : CfnPlan.IExecutionBlockConfigurationProperty
Syntax (vb)
Public Class CfnPlan.ExecutionBlockConfigurationProperty Implements CfnPlan.IExecutionBlockConfigurationProperty
Remarks
An execution block represents a specific type of action to perform during a Region switch.
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ARCRegionSwitch;
ExecutionBlockConfigurationProperty executionBlockConfigurationProperty_;
var executionBlockConfigurationProperty = new ExecutionBlockConfigurationProperty {
ArcRoutingControlConfig = new ArcRoutingControlConfigurationProperty {
RegionAndRoutingControls = new Dictionary<string, object> {
{ "regionAndRoutingControlsKey", new [] { new ArcRoutingControlStateProperty {
RoutingControlArn = "routingControlArn",
State = "state"
} } }
},
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId",
TimeoutMinutes = 123
},
CustomActionLambdaConfig = new CustomActionLambdaConfigurationProperty {
Lambdas = new [] { new LambdasProperty {
Arn = "arn",
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId"
} },
RegionToRun = "regionToRun",
RetryIntervalMinutes = 123,
// the properties below are optional
TimeoutMinutes = 123,
Ungraceful = new LambdaUngracefulProperty {
Behavior = "behavior"
}
},
Ec2AsgCapacityIncreaseConfig = new Ec2AsgCapacityIncreaseConfigurationProperty {
Asgs = new [] { new AsgProperty {
Arn = "arn",
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId"
} },
// the properties below are optional
CapacityMonitoringApproach = "capacityMonitoringApproach",
TargetPercent = 123,
TimeoutMinutes = 123,
Ungraceful = new Ec2UngracefulProperty {
MinimumSuccessPercentage = 123
}
},
EcsCapacityIncreaseConfig = new EcsCapacityIncreaseConfigurationProperty {
Services = new [] { new ServiceProperty {
ClusterArn = "clusterArn",
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId",
ServiceArn = "serviceArn"
} },
// the properties below are optional
CapacityMonitoringApproach = "capacityMonitoringApproach",
TargetPercent = 123,
TimeoutMinutes = 123,
Ungraceful = new EcsUngracefulProperty {
MinimumSuccessPercentage = 123
}
},
EksResourceScalingConfig = new EksResourceScalingConfigurationProperty {
KubernetesResourceType = new KubernetesResourceTypeProperty {
ApiVersion = "apiVersion",
Kind = "kind"
},
// the properties below are optional
CapacityMonitoringApproach = "capacityMonitoringApproach",
EksClusters = new [] { new EksClusterProperty {
ClusterArn = "clusterArn",
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId"
} },
ScalingResources = new [] { new Dictionary<string, object> {
{ "scalingResourcesKey", new Dictionary<string, object> {
{ "scalingResourcesKey", new KubernetesScalingResourceProperty {
Name = "name",
Namespace = "namespace",
// the properties below are optional
HpaName = "hpaName"
} }
} }
} },
TargetPercent = 123,
TimeoutMinutes = 123,
Ungraceful = new EksResourceScalingUngracefulProperty {
MinimumSuccessPercentage = 123
}
},
ExecutionApprovalConfig = new ExecutionApprovalConfigurationProperty {
ApprovalRole = "approvalRole",
// the properties below are optional
TimeoutMinutes = 123
},
GlobalAuroraConfig = new GlobalAuroraConfigurationProperty {
Behavior = "behavior",
DatabaseClusterArns = new [] { "databaseClusterArns" },
GlobalClusterIdentifier = "globalClusterIdentifier",
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId",
TimeoutMinutes = 123,
Ungraceful = new GlobalAuroraUngracefulProperty {
Ungraceful = "ungraceful"
}
},
ParallelConfig = new ParallelExecutionBlockConfigurationProperty {
Steps = new [] { new StepProperty {
ExecutionBlockConfiguration = executionBlockConfigurationProperty_,
ExecutionBlockType = "executionBlockType",
Name = "name",
// the properties below are optional
Description = "description"
} }
},
RegionSwitchPlanConfig = new RegionSwitchPlanConfigurationProperty {
Arn = "arn",
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId"
},
Route53HealthCheckConfig = new Route53HealthCheckConfigurationProperty {
HostedZoneId = "hostedZoneId",
RecordName = "recordName",
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId",
RecordSets = new [] { new Route53ResourceRecordSetProperty {
RecordSetIdentifier = "recordSetIdentifier",
Region = "region"
} },
TimeoutMinutes = 123
}
};
Synopsis
Constructors
| ExecutionBlockConfigurationProperty() | Execution block configurations for a workflow in a Region switch plan. |
Properties
| ArcRoutingControlConfig | An ARC routing control execution block. |
| CustomActionLambdaConfig | An AWS Lambda execution block. |
| Ec2AsgCapacityIncreaseConfig | An EC2 Auto Scaling group execution block. |
| EcsCapacityIncreaseConfig | The capacity increase specified for the configuration. |
| EksResourceScalingConfig | An AWS EKS resource scaling execution block. |
| ExecutionApprovalConfig | A manual approval execution block. |
| GlobalAuroraConfig | An Aurora Global Database execution block. |
| ParallelConfig | A parallel configuration execution block. |
| RegionSwitchPlanConfig | A Region switch plan execution block. |
| Route53HealthCheckConfig | The Amazon Route 53 health check configuration. |
Constructors
ExecutionBlockConfigurationProperty()
Execution block configurations for a workflow in a Region switch plan.
public ExecutionBlockConfigurationProperty()
Remarks
An execution block represents a specific type of action to perform during a Region switch.
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ARCRegionSwitch;
ExecutionBlockConfigurationProperty executionBlockConfigurationProperty_;
var executionBlockConfigurationProperty = new ExecutionBlockConfigurationProperty {
ArcRoutingControlConfig = new ArcRoutingControlConfigurationProperty {
RegionAndRoutingControls = new Dictionary<string, object> {
{ "regionAndRoutingControlsKey", new [] { new ArcRoutingControlStateProperty {
RoutingControlArn = "routingControlArn",
State = "state"
} } }
},
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId",
TimeoutMinutes = 123
},
CustomActionLambdaConfig = new CustomActionLambdaConfigurationProperty {
Lambdas = new [] { new LambdasProperty {
Arn = "arn",
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId"
} },
RegionToRun = "regionToRun",
RetryIntervalMinutes = 123,
// the properties below are optional
TimeoutMinutes = 123,
Ungraceful = new LambdaUngracefulProperty {
Behavior = "behavior"
}
},
Ec2AsgCapacityIncreaseConfig = new Ec2AsgCapacityIncreaseConfigurationProperty {
Asgs = new [] { new AsgProperty {
Arn = "arn",
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId"
} },
// the properties below are optional
CapacityMonitoringApproach = "capacityMonitoringApproach",
TargetPercent = 123,
TimeoutMinutes = 123,
Ungraceful = new Ec2UngracefulProperty {
MinimumSuccessPercentage = 123
}
},
EcsCapacityIncreaseConfig = new EcsCapacityIncreaseConfigurationProperty {
Services = new [] { new ServiceProperty {
ClusterArn = "clusterArn",
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId",
ServiceArn = "serviceArn"
} },
// the properties below are optional
CapacityMonitoringApproach = "capacityMonitoringApproach",
TargetPercent = 123,
TimeoutMinutes = 123,
Ungraceful = new EcsUngracefulProperty {
MinimumSuccessPercentage = 123
}
},
EksResourceScalingConfig = new EksResourceScalingConfigurationProperty {
KubernetesResourceType = new KubernetesResourceTypeProperty {
ApiVersion = "apiVersion",
Kind = "kind"
},
// the properties below are optional
CapacityMonitoringApproach = "capacityMonitoringApproach",
EksClusters = new [] { new EksClusterProperty {
ClusterArn = "clusterArn",
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId"
} },
ScalingResources = new [] { new Dictionary<string, object> {
{ "scalingResourcesKey", new Dictionary<string, object> {
{ "scalingResourcesKey", new KubernetesScalingResourceProperty {
Name = "name",
Namespace = "namespace",
// the properties below are optional
HpaName = "hpaName"
} }
} }
} },
TargetPercent = 123,
TimeoutMinutes = 123,
Ungraceful = new EksResourceScalingUngracefulProperty {
MinimumSuccessPercentage = 123
}
},
ExecutionApprovalConfig = new ExecutionApprovalConfigurationProperty {
ApprovalRole = "approvalRole",
// the properties below are optional
TimeoutMinutes = 123
},
GlobalAuroraConfig = new GlobalAuroraConfigurationProperty {
Behavior = "behavior",
DatabaseClusterArns = new [] { "databaseClusterArns" },
GlobalClusterIdentifier = "globalClusterIdentifier",
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId",
TimeoutMinutes = 123,
Ungraceful = new GlobalAuroraUngracefulProperty {
Ungraceful = "ungraceful"
}
},
ParallelConfig = new ParallelExecutionBlockConfigurationProperty {
Steps = new [] { new StepProperty {
ExecutionBlockConfiguration = executionBlockConfigurationProperty_,
ExecutionBlockType = "executionBlockType",
Name = "name",
// the properties below are optional
Description = "description"
} }
},
RegionSwitchPlanConfig = new RegionSwitchPlanConfigurationProperty {
Arn = "arn",
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId"
},
Route53HealthCheckConfig = new Route53HealthCheckConfigurationProperty {
HostedZoneId = "hostedZoneId",
RecordName = "recordName",
// the properties below are optional
CrossAccountRole = "crossAccountRole",
ExternalId = "externalId",
RecordSets = new [] { new Route53ResourceRecordSetProperty {
RecordSetIdentifier = "recordSetIdentifier",
Region = "region"
} },
TimeoutMinutes = 123
}
};
Properties
ArcRoutingControlConfig
An ARC routing control execution block.
public object? ArcRoutingControlConfig { get; set; }
Property Value
Remarks
CustomActionLambdaConfig
An AWS Lambda execution block.
public object? CustomActionLambdaConfig { get; set; }
Property Value
Remarks
Ec2AsgCapacityIncreaseConfig
An EC2 Auto Scaling group execution block.
public object? Ec2AsgCapacityIncreaseConfig { get; set; }
Property Value
Remarks
Type union: either IResolvable or CfnPlan.IEc2AsgCapacityIncreaseConfigurationProperty
EcsCapacityIncreaseConfig
The capacity increase specified for the configuration.
public object? EcsCapacityIncreaseConfig { get; set; }
Property Value
Remarks
EksResourceScalingConfig
An AWS EKS resource scaling execution block.
public object? EksResourceScalingConfig { get; set; }
Property Value
Remarks
ExecutionApprovalConfig
A manual approval execution block.
public object? ExecutionApprovalConfig { get; set; }
Property Value
Remarks
GlobalAuroraConfig
An Aurora Global Database execution block.
public object? GlobalAuroraConfig { get; set; }
Property Value
Remarks
ParallelConfig
A parallel configuration execution block.
public object? ParallelConfig { get; set; }
Property Value
Remarks
RegionSwitchPlanConfig
A Region switch plan execution block.
public object? RegionSwitchPlanConfig { get; set; }
Property Value
Remarks
Route53HealthCheckConfig
The Amazon Route 53 health check configuration.
public object? Route53HealthCheckConfig { get; set; }