Interface CfnClusterProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnClusterProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.101.0 (build b95fe5d)", date="2024-08-02T00:29:11.002Z") @Stability(Stable) public interface CfnClusterProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnCluster.

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.emr.*;
 Object additionalInfo;
 ConfigurationProperty configurationProperty_;
 CfnClusterProps cfnClusterProps = CfnClusterProps.builder()
         .instances(JobFlowInstancesConfigProperty.builder()
                 .additionalMasterSecurityGroups(List.of("additionalMasterSecurityGroups"))
                 .additionalSlaveSecurityGroups(List.of("additionalSlaveSecurityGroups"))
                 .coreInstanceFleet(InstanceFleetConfigProperty.builder()
                         .instanceTypeConfigs(List.of(InstanceTypeConfigProperty.builder()
                                 .instanceType("instanceType")
                                 // the properties below are optional
                                 .bidPrice("bidPrice")
                                 .bidPriceAsPercentageOfOnDemandPrice(123)
                                 .configurations(List.of(ConfigurationProperty.builder()
                                         .classification("classification")
                                         .configurationProperties(Map.of(
                                                 "configurationPropertiesKey", "configurationProperties"))
                                         .configurations(List.of(configurationProperty_))
                                         .build()))
                                 .customAmiId("customAmiId")
                                 .ebsConfiguration(EbsConfigurationProperty.builder()
                                         .ebsBlockDeviceConfigs(List.of(EbsBlockDeviceConfigProperty.builder()
                                                 .volumeSpecification(VolumeSpecificationProperty.builder()
                                                         .sizeInGb(123)
                                                         .volumeType("volumeType")
                                                         // the properties below are optional
                                                         .iops(123)
                                                         .throughput(123)
                                                         .build())
                                                 // the properties below are optional
                                                 .volumesPerInstance(123)
                                                 .build()))
                                         .ebsOptimized(false)
                                         .build())
                                 .weightedCapacity(123)
                                 .build()))
                         .launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
                                 .onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .build())
                                 .spotSpecification(SpotProvisioningSpecificationProperty.builder()
                                         .timeoutAction("timeoutAction")
                                         .timeoutDurationMinutes(123)
                                         // the properties below are optional
                                         .allocationStrategy("allocationStrategy")
                                         .blockDurationMinutes(123)
                                         .build())
                                 .build())
                         .name("name")
                         .targetOnDemandCapacity(123)
                         .targetSpotCapacity(123)
                         .build())
                 .coreInstanceGroup(InstanceGroupConfigProperty.builder()
                         .instanceCount(123)
                         .instanceType("instanceType")
                         // the properties below are optional
                         .autoScalingPolicy(AutoScalingPolicyProperty.builder()
                                 .constraints(ScalingConstraintsProperty.builder()
                                         .maxCapacity(123)
                                         .minCapacity(123)
                                         .build())
                                 .rules(List.of(ScalingRuleProperty.builder()
                                         .action(ScalingActionProperty.builder()
                                                 .simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
                                                         .scalingAdjustment(123)
                                                         // the properties below are optional
                                                         .adjustmentType("adjustmentType")
                                                         .coolDown(123)
                                                         .build())
                                                 // the properties below are optional
                                                 .market("market")
                                                 .build())
                                         .name("name")
                                         .trigger(ScalingTriggerProperty.builder()
                                                 .cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
                                                         .comparisonOperator("comparisonOperator")
                                                         .metricName("metricName")
                                                         .period(123)
                                                         .threshold(123)
                                                         // the properties below are optional
                                                         .dimensions(List.of(MetricDimensionProperty.builder()
                                                                 .key("key")
                                                                 .value("value")
                                                                 .build()))
                                                         .evaluationPeriods(123)
                                                         .namespace("namespace")
                                                         .statistic("statistic")
                                                         .unit("unit")
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .description("description")
                                         .build()))
                                 .build())
                         .bidPrice("bidPrice")
                         .configurations(List.of(ConfigurationProperty.builder()
                                 .classification("classification")
                                 .configurationProperties(Map.of(
                                         "configurationPropertiesKey", "configurationProperties"))
                                 .configurations(List.of(configurationProperty_))
                                 .build()))
                         .customAmiId("customAmiId")
                         .ebsConfiguration(EbsConfigurationProperty.builder()
                                 .ebsBlockDeviceConfigs(List.of(EbsBlockDeviceConfigProperty.builder()
                                         .volumeSpecification(VolumeSpecificationProperty.builder()
                                                 .sizeInGb(123)
                                                 .volumeType("volumeType")
                                                 // the properties below are optional
                                                 .iops(123)
                                                 .throughput(123)
                                                 .build())
                                         // the properties below are optional
                                         .volumesPerInstance(123)
                                         .build()))
                                 .ebsOptimized(false)
                                 .build())
                         .market("market")
                         .name("name")
                         .build())
                 .ec2KeyName("ec2KeyName")
                 .ec2SubnetId("ec2SubnetId")
                 .ec2SubnetIds(List.of("ec2SubnetIds"))
                 .emrManagedMasterSecurityGroup("emrManagedMasterSecurityGroup")
                 .emrManagedSlaveSecurityGroup("emrManagedSlaveSecurityGroup")
                 .hadoopVersion("hadoopVersion")
                 .keepJobFlowAliveWhenNoSteps(false)
                 .masterInstanceFleet(InstanceFleetConfigProperty.builder()
                         .instanceTypeConfigs(List.of(InstanceTypeConfigProperty.builder()
                                 .instanceType("instanceType")
                                 // the properties below are optional
                                 .bidPrice("bidPrice")
                                 .bidPriceAsPercentageOfOnDemandPrice(123)
                                 .configurations(List.of(ConfigurationProperty.builder()
                                         .classification("classification")
                                         .configurationProperties(Map.of(
                                                 "configurationPropertiesKey", "configurationProperties"))
                                         .configurations(List.of(configurationProperty_))
                                         .build()))
                                 .customAmiId("customAmiId")
                                 .ebsConfiguration(EbsConfigurationProperty.builder()
                                         .ebsBlockDeviceConfigs(List.of(EbsBlockDeviceConfigProperty.builder()
                                                 .volumeSpecification(VolumeSpecificationProperty.builder()
                                                         .sizeInGb(123)
                                                         .volumeType("volumeType")
                                                         // the properties below are optional
                                                         .iops(123)
                                                         .throughput(123)
                                                         .build())
                                                 // the properties below are optional
                                                 .volumesPerInstance(123)
                                                 .build()))
                                         .ebsOptimized(false)
                                         .build())
                                 .weightedCapacity(123)
                                 .build()))
                         .launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
                                 .onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .build())
                                 .spotSpecification(SpotProvisioningSpecificationProperty.builder()
                                         .timeoutAction("timeoutAction")
                                         .timeoutDurationMinutes(123)
                                         // the properties below are optional
                                         .allocationStrategy("allocationStrategy")
                                         .blockDurationMinutes(123)
                                         .build())
                                 .build())
                         .name("name")
                         .targetOnDemandCapacity(123)
                         .targetSpotCapacity(123)
                         .build())
                 .masterInstanceGroup(InstanceGroupConfigProperty.builder()
                         .instanceCount(123)
                         .instanceType("instanceType")
                         // the properties below are optional
                         .autoScalingPolicy(AutoScalingPolicyProperty.builder()
                                 .constraints(ScalingConstraintsProperty.builder()
                                         .maxCapacity(123)
                                         .minCapacity(123)
                                         .build())
                                 .rules(List.of(ScalingRuleProperty.builder()
                                         .action(ScalingActionProperty.builder()
                                                 .simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
                                                         .scalingAdjustment(123)
                                                         // the properties below are optional
                                                         .adjustmentType("adjustmentType")
                                                         .coolDown(123)
                                                         .build())
                                                 // the properties below are optional
                                                 .market("market")
                                                 .build())
                                         .name("name")
                                         .trigger(ScalingTriggerProperty.builder()
                                                 .cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
                                                         .comparisonOperator("comparisonOperator")
                                                         .metricName("metricName")
                                                         .period(123)
                                                         .threshold(123)
                                                         // the properties below are optional
                                                         .dimensions(List.of(MetricDimensionProperty.builder()
                                                                 .key("key")
                                                                 .value("value")
                                                                 .build()))
                                                         .evaluationPeriods(123)
                                                         .namespace("namespace")
                                                         .statistic("statistic")
                                                         .unit("unit")
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .description("description")
                                         .build()))
                                 .build())
                         .bidPrice("bidPrice")
                         .configurations(List.of(ConfigurationProperty.builder()
                                 .classification("classification")
                                 .configurationProperties(Map.of(
                                         "configurationPropertiesKey", "configurationProperties"))
                                 .configurations(List.of(configurationProperty_))
                                 .build()))
                         .customAmiId("customAmiId")
                         .ebsConfiguration(EbsConfigurationProperty.builder()
                                 .ebsBlockDeviceConfigs(List.of(EbsBlockDeviceConfigProperty.builder()
                                         .volumeSpecification(VolumeSpecificationProperty.builder()
                                                 .sizeInGb(123)
                                                 .volumeType("volumeType")
                                                 // the properties below are optional
                                                 .iops(123)
                                                 .throughput(123)
                                                 .build())
                                         // the properties below are optional
                                         .volumesPerInstance(123)
                                         .build()))
                                 .ebsOptimized(false)
                                 .build())
                         .market("market")
                         .name("name")
                         .build())
                 .placement(PlacementTypeProperty.builder()
                         .availabilityZone("availabilityZone")
                         .build())
                 .serviceAccessSecurityGroup("serviceAccessSecurityGroup")
                 .taskInstanceFleets(List.of(InstanceFleetConfigProperty.builder()
                         .instanceTypeConfigs(List.of(InstanceTypeConfigProperty.builder()
                                 .instanceType("instanceType")
                                 // the properties below are optional
                                 .bidPrice("bidPrice")
                                 .bidPriceAsPercentageOfOnDemandPrice(123)
                                 .configurations(List.of(ConfigurationProperty.builder()
                                         .classification("classification")
                                         .configurationProperties(Map.of(
                                                 "configurationPropertiesKey", "configurationProperties"))
                                         .configurations(List.of(configurationProperty_))
                                         .build()))
                                 .customAmiId("customAmiId")
                                 .ebsConfiguration(EbsConfigurationProperty.builder()
                                         .ebsBlockDeviceConfigs(List.of(EbsBlockDeviceConfigProperty.builder()
                                                 .volumeSpecification(VolumeSpecificationProperty.builder()
                                                         .sizeInGb(123)
                                                         .volumeType("volumeType")
                                                         // the properties below are optional
                                                         .iops(123)
                                                         .throughput(123)
                                                         .build())
                                                 // the properties below are optional
                                                 .volumesPerInstance(123)
                                                 .build()))
                                         .ebsOptimized(false)
                                         .build())
                                 .weightedCapacity(123)
                                 .build()))
                         .launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
                                 .onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .build())
                                 .spotSpecification(SpotProvisioningSpecificationProperty.builder()
                                         .timeoutAction("timeoutAction")
                                         .timeoutDurationMinutes(123)
                                         // the properties below are optional
                                         .allocationStrategy("allocationStrategy")
                                         .blockDurationMinutes(123)
                                         .build())
                                 .build())
                         .name("name")
                         .targetOnDemandCapacity(123)
                         .targetSpotCapacity(123)
                         .build()))
                 .taskInstanceGroups(List.of(InstanceGroupConfigProperty.builder()
                         .instanceCount(123)
                         .instanceType("instanceType")
                         // the properties below are optional
                         .autoScalingPolicy(AutoScalingPolicyProperty.builder()
                                 .constraints(ScalingConstraintsProperty.builder()
                                         .maxCapacity(123)
                                         .minCapacity(123)
                                         .build())
                                 .rules(List.of(ScalingRuleProperty.builder()
                                         .action(ScalingActionProperty.builder()
                                                 .simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
                                                         .scalingAdjustment(123)
                                                         // the properties below are optional
                                                         .adjustmentType("adjustmentType")
                                                         .coolDown(123)
                                                         .build())
                                                 // the properties below are optional
                                                 .market("market")
                                                 .build())
                                         .name("name")
                                         .trigger(ScalingTriggerProperty.builder()
                                                 .cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
                                                         .comparisonOperator("comparisonOperator")
                                                         .metricName("metricName")
                                                         .period(123)
                                                         .threshold(123)
                                                         // the properties below are optional
                                                         .dimensions(List.of(MetricDimensionProperty.builder()
                                                                 .key("key")
                                                                 .value("value")
                                                                 .build()))
                                                         .evaluationPeriods(123)
                                                         .namespace("namespace")
                                                         .statistic("statistic")
                                                         .unit("unit")
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .description("description")
                                         .build()))
                                 .build())
                         .bidPrice("bidPrice")
                         .configurations(List.of(ConfigurationProperty.builder()
                                 .classification("classification")
                                 .configurationProperties(Map.of(
                                         "configurationPropertiesKey", "configurationProperties"))
                                 .configurations(List.of(configurationProperty_))
                                 .build()))
                         .customAmiId("customAmiId")
                         .ebsConfiguration(EbsConfigurationProperty.builder()
                                 .ebsBlockDeviceConfigs(List.of(EbsBlockDeviceConfigProperty.builder()
                                         .volumeSpecification(VolumeSpecificationProperty.builder()
                                                 .sizeInGb(123)
                                                 .volumeType("volumeType")
                                                 // the properties below are optional
                                                 .iops(123)
                                                 .throughput(123)
                                                 .build())
                                         // the properties below are optional
                                         .volumesPerInstance(123)
                                         .build()))
                                 .ebsOptimized(false)
                                 .build())
                         .market("market")
                         .name("name")
                         .build()))
                 .terminationProtected(false)
                 .unhealthyNodeReplacement(false)
                 .build())
         .jobFlowRole("jobFlowRole")
         .name("name")
         .serviceRole("serviceRole")
         // the properties below are optional
         .additionalInfo(additionalInfo)
         .applications(List.of(ApplicationProperty.builder()
                 .additionalInfo(Map.of(
                         "additionalInfoKey", "additionalInfo"))
                 .args(List.of("args"))
                 .name("name")
                 .version("version")
                 .build()))
         .autoScalingRole("autoScalingRole")
         .autoTerminationPolicy(AutoTerminationPolicyProperty.builder()
                 .idleTimeout(123)
                 .build())
         .bootstrapActions(List.of(BootstrapActionConfigProperty.builder()
                 .name("name")
                 .scriptBootstrapAction(ScriptBootstrapActionConfigProperty.builder()
                         .path("path")
                         // the properties below are optional
                         .args(List.of("args"))
                         .build())
                 .build()))
         .configurations(List.of(ConfigurationProperty.builder()
                 .classification("classification")
                 .configurationProperties(Map.of(
                         "configurationPropertiesKey", "configurationProperties"))
                 .configurations(List.of(configurationProperty_))
                 .build()))
         .customAmiId("customAmiId")
         .ebsRootVolumeIops(123)
         .ebsRootVolumeSize(123)
         .ebsRootVolumeThroughput(123)
         .kerberosAttributes(KerberosAttributesProperty.builder()
                 .kdcAdminPassword("kdcAdminPassword")
                 .realm("realm")
                 // the properties below are optional
                 .adDomainJoinPassword("adDomainJoinPassword")
                 .adDomainJoinUser("adDomainJoinUser")
                 .crossRealmTrustPrincipalPassword("crossRealmTrustPrincipalPassword")
                 .build())
         .logEncryptionKmsKeyId("logEncryptionKmsKeyId")
         .logUri("logUri")
         .managedScalingPolicy(ManagedScalingPolicyProperty.builder()
                 .computeLimits(ComputeLimitsProperty.builder()
                         .maximumCapacityUnits(123)
                         .minimumCapacityUnits(123)
                         .unitType("unitType")
                         // the properties below are optional
                         .maximumCoreCapacityUnits(123)
                         .maximumOnDemandCapacityUnits(123)
                         .build())
                 .build())
         .osReleaseLabel("osReleaseLabel")
         .placementGroupConfigs(List.of(PlacementGroupConfigProperty.builder()
                 .instanceRole("instanceRole")
                 // the properties below are optional
                 .placementStrategy("placementStrategy")
                 .build()))
         .releaseLabel("releaseLabel")
         .scaleDownBehavior("scaleDownBehavior")
         .securityConfiguration("securityConfiguration")
         .stepConcurrencyLevel(123)
         .steps(List.of(StepConfigProperty.builder()
                 .hadoopJarStep(HadoopJarStepConfigProperty.builder()
                         .jar("jar")
                         // the properties below are optional
                         .args(List.of("args"))
                         .mainClass("mainClass")
                         .stepProperties(List.of(KeyValueProperty.builder()
                                 .key("key")
                                 .value("value")
                                 .build()))
                         .build())
                 .name("name")
                 // the properties below are optional
                 .actionOnFailure("actionOnFailure")
                 .build()))
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .visibleToAllUsers(false)
         .build();
 

See Also: