Show / Hide Table of Contents

Class CfnPlan.StepProperty

Represents a step in a Region switch plan workflow.

Inheritance
object
CfnPlan.StepProperty
Implements
CfnPlan.IStepProperty
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.StepProperty : CfnPlan.IStepProperty
Syntax (vb)
Public Class CfnPlan.StepProperty Implements CfnPlan.IStepProperty
Remarks

Each step performs a specific action during the Region switch process.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.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;

             StepProperty stepProperty_;

             var stepProperty = new StepProperty {
                 ExecutionBlockConfiguration = 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 [] { stepProperty_ }
                     },
                     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
                     }
                 },
                 ExecutionBlockType = "executionBlockType",
                 Name = "name",

                 // the properties below are optional
                 Description = "description"
             };

Synopsis

Constructors

StepProperty()

Represents a step in a Region switch plan workflow.

Properties

Description

The description of a step in a workflow.

ExecutionBlockConfiguration

The configuration for an execution block in a workflow.

ExecutionBlockType

The type of an execution block in a workflow.

Name

The name of a step in a workflow.

Constructors

StepProperty()

Represents a step in a Region switch plan workflow.

public StepProperty()
Remarks

Each step performs a specific action during the Region switch process.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.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;

             StepProperty stepProperty_;

             var stepProperty = new StepProperty {
                 ExecutionBlockConfiguration = 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 [] { stepProperty_ }
                     },
                     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
                     }
                 },
                 ExecutionBlockType = "executionBlockType",
                 Name = "name",

                 // the properties below are optional
                 Description = "description"
             };

Properties

Description

The description of a step in a workflow.

public string? Description { get; set; }
Property Value

string

Remarks

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

ExecutionBlockConfiguration

The configuration for an execution block in a workflow.

public object ExecutionBlockConfiguration { get; set; }
Property Value

object

Remarks

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

Type union: either IResolvable or CfnPlan.IExecutionBlockConfigurationProperty

ExecutionBlockType

The type of an execution block in a workflow.

public string ExecutionBlockType { get; set; }
Property Value

string

Remarks

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

Name

The name of a step in a workflow.

public string Name { get; set; }
Property Value

string

Remarks

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

Implements

CfnPlan.IStepProperty
Back to top Generated by DocFX