Interface CfnPlan.StepProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnPlan.StepProperty.Jsii$Proxy
Enclosing class:
CfnPlan

@Stability(Stable) public static interface CfnPlan.StepProperty extends software.amazon.jsii.JsiiSerializable
Represents a step in a Region switch plan workflow.

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

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.arcregionswitch.*;
 StepProperty stepProperty_;
 StepProperty stepProperty = StepProperty.builder()
         .executionBlockConfiguration(ExecutionBlockConfigurationProperty.builder()
                 .arcRoutingControlConfig(ArcRoutingControlConfigurationProperty.builder()
                         .regionAndRoutingControls(Map.of(
                                 "regionAndRoutingControlsKey", List.of(ArcRoutingControlStateProperty.builder()
                                         .routingControlArn("routingControlArn")
                                         .state("state")
                                         .build())))
                         // the properties below are optional
                         .crossAccountRole("crossAccountRole")
                         .externalId("externalId")
                         .timeoutMinutes(123)
                         .build())
                 .customActionLambdaConfig(CustomActionLambdaConfigurationProperty.builder()
                         .lambdas(List.of(LambdasProperty.builder()
                                 .arn("arn")
                                 .crossAccountRole("crossAccountRole")
                                 .externalId("externalId")
                                 .build()))
                         .regionToRun("regionToRun")
                         .retryIntervalMinutes(123)
                         // the properties below are optional
                         .timeoutMinutes(123)
                         .ungraceful(LambdaUngracefulProperty.builder()
                                 .behavior("behavior")
                                 .build())
                         .build())
                 .ec2AsgCapacityIncreaseConfig(Ec2AsgCapacityIncreaseConfigurationProperty.builder()
                         .asgs(List.of(AsgProperty.builder()
                                 .arn("arn")
                                 .crossAccountRole("crossAccountRole")
                                 .externalId("externalId")
                                 .build()))
                         // the properties below are optional
                         .capacityMonitoringApproach("capacityMonitoringApproach")
                         .targetPercent(123)
                         .timeoutMinutes(123)
                         .ungraceful(Ec2UngracefulProperty.builder()
                                 .minimumSuccessPercentage(123)
                                 .build())
                         .build())
                 .ecsCapacityIncreaseConfig(EcsCapacityIncreaseConfigurationProperty.builder()
                         .services(List.of(ServiceProperty.builder()
                                 .clusterArn("clusterArn")
                                 .crossAccountRole("crossAccountRole")
                                 .externalId("externalId")
                                 .serviceArn("serviceArn")
                                 .build()))
                         // the properties below are optional
                         .capacityMonitoringApproach("capacityMonitoringApproach")
                         .targetPercent(123)
                         .timeoutMinutes(123)
                         .ungraceful(EcsUngracefulProperty.builder()
                                 .minimumSuccessPercentage(123)
                                 .build())
                         .build())
                 .eksResourceScalingConfig(EksResourceScalingConfigurationProperty.builder()
                         .kubernetesResourceType(KubernetesResourceTypeProperty.builder()
                                 .apiVersion("apiVersion")
                                 .kind("kind")
                                 .build())
                         // the properties below are optional
                         .capacityMonitoringApproach("capacityMonitoringApproach")
                         .eksClusters(List.of(EksClusterProperty.builder()
                                 .clusterArn("clusterArn")
                                 // the properties below are optional
                                 .crossAccountRole("crossAccountRole")
                                 .externalId("externalId")
                                 .build()))
                         .scalingResources(List.of(Map.of(
                                 "scalingResourcesKey", Map.of(
                                         "scalingResourcesKey", KubernetesScalingResourceProperty.builder()
                                                 .name("name")
                                                 .namespace("namespace")
                                                 // the properties below are optional
                                                 .hpaName("hpaName")
                                                 .build()))))
                         .targetPercent(123)
                         .timeoutMinutes(123)
                         .ungraceful(EksResourceScalingUngracefulProperty.builder()
                                 .minimumSuccessPercentage(123)
                                 .build())
                         .build())
                 .executionApprovalConfig(ExecutionApprovalConfigurationProperty.builder()
                         .approvalRole("approvalRole")
                         // the properties below are optional
                         .timeoutMinutes(123)
                         .build())
                 .globalAuroraConfig(GlobalAuroraConfigurationProperty.builder()
                         .behavior("behavior")
                         .databaseClusterArns(List.of("databaseClusterArns"))
                         .globalClusterIdentifier("globalClusterIdentifier")
                         // the properties below are optional
                         .crossAccountRole("crossAccountRole")
                         .externalId("externalId")
                         .timeoutMinutes(123)
                         .ungraceful(GlobalAuroraUngracefulProperty.builder()
                                 .ungraceful("ungraceful")
                                 .build())
                         .build())
                 .parallelConfig(ParallelExecutionBlockConfigurationProperty.builder()
                         .steps(List.of(stepProperty_))
                         .build())
                 .regionSwitchPlanConfig(RegionSwitchPlanConfigurationProperty.builder()
                         .arn("arn")
                         // the properties below are optional
                         .crossAccountRole("crossAccountRole")
                         .externalId("externalId")
                         .build())
                 .route53HealthCheckConfig(Route53HealthCheckConfigurationProperty.builder()
                         .hostedZoneId("hostedZoneId")
                         .recordName("recordName")
                         // the properties below are optional
                         .crossAccountRole("crossAccountRole")
                         .externalId("externalId")
                         .recordSets(List.of(Route53ResourceRecordSetProperty.builder()
                                 .recordSetIdentifier("recordSetIdentifier")
                                 .region("region")
                                 .build()))
                         .timeoutMinutes(123)
                         .build())
                 .build())
         .executionBlockType("executionBlockType")
         .name("name")
         // the properties below are optional
         .description("description")
         .build();
 

See Also: