Class CfnPlan.StepProperty
Represents a step in a Region switch plan workflow.
Implements
Inherited Members
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.
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.
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
Remarks
ExecutionBlockConfiguration
The configuration for an execution block in a workflow.
public object ExecutionBlockConfiguration { get; set; }
Property Value
Remarks
ExecutionBlockType
The type of an execution block in a workflow.
public string ExecutionBlockType { get; set; }
Property Value
Remarks
Name
The name of a step in a workflow.
public string Name { get; set; }