Show / Hide Table of Contents

Class CfnPlan.ExecutionBlockConfigurationProperty

Execution block configurations for a workflow in a Region switch plan.

Inheritance
object
CfnPlan.ExecutionBlockConfigurationProperty
Implements
CfnPlan.IExecutionBlockConfigurationProperty
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
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.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html

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.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html

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

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-arcroutingcontrolconfig

Type union: either IResolvable or CfnPlan.IArcRoutingControlConfigurationProperty

CustomActionLambdaConfig

An AWS Lambda execution block.

public object? CustomActionLambdaConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-customactionlambdaconfig

Type union: either IResolvable or CfnPlan.ICustomActionLambdaConfigurationProperty

Ec2AsgCapacityIncreaseConfig

An EC2 Auto Scaling group execution block.

public object? Ec2AsgCapacityIncreaseConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-ec2asgcapacityincreaseconfig

Type union: either IResolvable or CfnPlan.IEc2AsgCapacityIncreaseConfigurationProperty

EcsCapacityIncreaseConfig

The capacity increase specified for the configuration.

public object? EcsCapacityIncreaseConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-ecscapacityincreaseconfig

Type union: either IResolvable or CfnPlan.IEcsCapacityIncreaseConfigurationProperty

EksResourceScalingConfig

An AWS EKS resource scaling execution block.

public object? EksResourceScalingConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-eksresourcescalingconfig

Type union: either IResolvable or CfnPlan.IEksResourceScalingConfigurationProperty

ExecutionApprovalConfig

A manual approval execution block.

public object? ExecutionApprovalConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-executionapprovalconfig

Type union: either IResolvable or CfnPlan.IExecutionApprovalConfigurationProperty

GlobalAuroraConfig

An Aurora Global Database execution block.

public object? GlobalAuroraConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-globalauroraconfig

Type union: either IResolvable or CfnPlan.IGlobalAuroraConfigurationProperty

ParallelConfig

A parallel configuration execution block.

public object? ParallelConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-parallelconfig

Type union: either IResolvable or CfnPlan.IParallelExecutionBlockConfigurationProperty

RegionSwitchPlanConfig

A Region switch plan execution block.

public object? RegionSwitchPlanConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-regionswitchplanconfig

Type union: either IResolvable or CfnPlan.IRegionSwitchPlanConfigurationProperty

Route53HealthCheckConfig

The Amazon Route 53 health check configuration.

public object? Route53HealthCheckConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-route53healthcheckconfig

Type union: either IResolvable or CfnPlan.IRoute53HealthCheckConfigurationProperty

Implements

CfnPlan.IExecutionBlockConfigurationProperty
Back to top Generated by DocFX