Interface CfnPlan.ExecutionBlockConfigurationProperty

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

@Stability(Stable) public static interface CfnPlan.ExecutionBlockConfigurationProperty extends software.amazon.jsii.JsiiSerializable
Execution block configurations for a workflow in a Region switch plan.

An execution block represents a specific type of action to perform during a Region switch.

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.*;
 ExecutionBlockConfigurationProperty executionBlockConfigurationProperty_;
 ExecutionBlockConfigurationProperty executionBlockConfigurationProperty = 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.builder()
                         .executionBlockConfiguration(executionBlockConfigurationProperty_)
                         .executionBlockType("executionBlockType")
                         .name("name")
                         // the properties below are optional
                         .description("description")
                         .build()))
                 .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();
 

See Also: