Class CfnClusterPropsMixin

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.emr.CfnClusterPropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-03-11T13:19:59.248Z") @Stability(Stable) public class CfnClusterPropsMixin extends Mixin implements software.constructs.IMixin
The AWS::EMR::Cluster resource specifies an Amazon EMR cluster.

This cluster is a collection of Amazon EC2 instances that run open source big data frameworks and applications to process and analyze vast amounts of data. For more information, see the Amazon EMR Management Guide .

Amazon EMR now supports launching task instance groups and task instance fleets as part of the AWS::EMR::Cluster resource. This can be done by using the JobFlowInstancesConfig property type's TaskInstanceGroups and TaskInstanceFleets subproperties. Using these subproperties reduces delays in provisioning task nodes compared to specifying task nodes with the AWS::EMR::InstanceGroupConfig and AWS::EMR::InstanceFleetConfig resources. Please refer to the examples at the bottom of this page to learn how to use these subproperties.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.emr.*;
 import software.amazon.awscdk.*;
 Object additionalInfo;
 ConfigurationProperty configurationProperty_;
 IMergeStrategy mergeStrategy;
 CfnClusterPropsMixin cfnClusterPropsMixin = CfnClusterPropsMixin.Builder.create(CfnClusterMixinProps.builder()
         .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()
                         .args(List.of("args"))
                         .path("path")
                         .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)
         .instances(JobFlowInstancesConfigProperty.builder()
                 .additionalMasterSecurityGroups(List.of("additionalMasterSecurityGroups"))
                 .additionalSlaveSecurityGroups(List.of("additionalSlaveSecurityGroups"))
                 .coreInstanceFleet(InstanceFleetConfigProperty.builder()
                         .instanceTypeConfigs(List.of(InstanceTypeConfigProperty.builder()
                                 .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()
                                                         .iops(123)
                                                         .sizeInGb(123)
                                                         .throughput(123)
                                                         .volumeType("volumeType")
                                                         .build())
                                                 .volumesPerInstance(123)
                                                 .build()))
                                         .ebsOptimized(false)
                                         .build())
                                 .instanceType("instanceType")
                                 .priority(123)
                                 .weightedCapacity(123)
                                 .build()))
                         .launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
                                 .onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
                                                 .capacityReservationPreference("capacityReservationPreference")
                                                 .capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
                                                 .usageStrategy("usageStrategy")
                                                 .build())
                                         .build())
                                 .spotSpecification(SpotProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .blockDurationMinutes(123)
                                         .timeoutAction("timeoutAction")
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .build())
                         .name("name")
                         .resizeSpecifications(InstanceFleetResizingSpecificationsProperty.builder()
                                 .onDemandResizeSpecification(OnDemandResizingSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
                                                 .capacityReservationPreference("capacityReservationPreference")
                                                 .capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
                                                 .usageStrategy("usageStrategy")
                                                 .build())
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .spotResizeSpecification(SpotResizingSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .build())
                         .targetOnDemandCapacity(123)
                         .targetSpotCapacity(123)
                         .build())
                 .coreInstanceGroup(InstanceGroupConfigProperty.builder()
                         .autoScalingPolicy(AutoScalingPolicyProperty.builder()
                                 .constraints(ScalingConstraintsProperty.builder()
                                         .maxCapacity(123)
                                         .minCapacity(123)
                                         .build())
                                 .rules(List.of(ScalingRuleProperty.builder()
                                         .action(ScalingActionProperty.builder()
                                                 .market("market")
                                                 .simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
                                                         .adjustmentType("adjustmentType")
                                                         .coolDown(123)
                                                         .scalingAdjustment(123)
                                                         .build())
                                                 .build())
                                         .description("description")
                                         .name("name")
                                         .trigger(ScalingTriggerProperty.builder()
                                                 .cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
                                                         .comparisonOperator("comparisonOperator")
                                                         .dimensions(List.of(MetricDimensionProperty.builder()
                                                                 .key("key")
                                                                 .value("value")
                                                                 .build()))
                                                         .evaluationPeriods(123)
                                                         .metricName("metricName")
                                                         .namespace("namespace")
                                                         .period(123)
                                                         .statistic("statistic")
                                                         .threshold(123)
                                                         .unit("unit")
                                                         .build())
                                                 .build())
                                         .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()
                                                 .iops(123)
                                                 .sizeInGb(123)
                                                 .throughput(123)
                                                 .volumeType("volumeType")
                                                 .build())
                                         .volumesPerInstance(123)
                                         .build()))
                                 .ebsOptimized(false)
                                 .build())
                         .instanceCount(123)
                         .instanceType("instanceType")
                         .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()
                                 .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()
                                                         .iops(123)
                                                         .sizeInGb(123)
                                                         .throughput(123)
                                                         .volumeType("volumeType")
                                                         .build())
                                                 .volumesPerInstance(123)
                                                 .build()))
                                         .ebsOptimized(false)
                                         .build())
                                 .instanceType("instanceType")
                                 .priority(123)
                                 .weightedCapacity(123)
                                 .build()))
                         .launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
                                 .onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
                                                 .capacityReservationPreference("capacityReservationPreference")
                                                 .capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
                                                 .usageStrategy("usageStrategy")
                                                 .build())
                                         .build())
                                 .spotSpecification(SpotProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .blockDurationMinutes(123)
                                         .timeoutAction("timeoutAction")
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .build())
                         .name("name")
                         .resizeSpecifications(InstanceFleetResizingSpecificationsProperty.builder()
                                 .onDemandResizeSpecification(OnDemandResizingSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
                                                 .capacityReservationPreference("capacityReservationPreference")
                                                 .capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
                                                 .usageStrategy("usageStrategy")
                                                 .build())
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .spotResizeSpecification(SpotResizingSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .build())
                         .targetOnDemandCapacity(123)
                         .targetSpotCapacity(123)
                         .build())
                 .masterInstanceGroup(InstanceGroupConfigProperty.builder()
                         .autoScalingPolicy(AutoScalingPolicyProperty.builder()
                                 .constraints(ScalingConstraintsProperty.builder()
                                         .maxCapacity(123)
                                         .minCapacity(123)
                                         .build())
                                 .rules(List.of(ScalingRuleProperty.builder()
                                         .action(ScalingActionProperty.builder()
                                                 .market("market")
                                                 .simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
                                                         .adjustmentType("adjustmentType")
                                                         .coolDown(123)
                                                         .scalingAdjustment(123)
                                                         .build())
                                                 .build())
                                         .description("description")
                                         .name("name")
                                         .trigger(ScalingTriggerProperty.builder()
                                                 .cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
                                                         .comparisonOperator("comparisonOperator")
                                                         .dimensions(List.of(MetricDimensionProperty.builder()
                                                                 .key("key")
                                                                 .value("value")
                                                                 .build()))
                                                         .evaluationPeriods(123)
                                                         .metricName("metricName")
                                                         .namespace("namespace")
                                                         .period(123)
                                                         .statistic("statistic")
                                                         .threshold(123)
                                                         .unit("unit")
                                                         .build())
                                                 .build())
                                         .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()
                                                 .iops(123)
                                                 .sizeInGb(123)
                                                 .throughput(123)
                                                 .volumeType("volumeType")
                                                 .build())
                                         .volumesPerInstance(123)
                                         .build()))
                                 .ebsOptimized(false)
                                 .build())
                         .instanceCount(123)
                         .instanceType("instanceType")
                         .market("market")
                         .name("name")
                         .build())
                 .placement(PlacementTypeProperty.builder()
                         .availabilityZone("availabilityZone")
                         .build())
                 .serviceAccessSecurityGroup("serviceAccessSecurityGroup")
                 .taskInstanceFleets(List.of(InstanceFleetConfigProperty.builder()
                         .instanceTypeConfigs(List.of(InstanceTypeConfigProperty.builder()
                                 .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()
                                                         .iops(123)
                                                         .sizeInGb(123)
                                                         .throughput(123)
                                                         .volumeType("volumeType")
                                                         .build())
                                                 .volumesPerInstance(123)
                                                 .build()))
                                         .ebsOptimized(false)
                                         .build())
                                 .instanceType("instanceType")
                                 .priority(123)
                                 .weightedCapacity(123)
                                 .build()))
                         .launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
                                 .onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
                                                 .capacityReservationPreference("capacityReservationPreference")
                                                 .capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
                                                 .usageStrategy("usageStrategy")
                                                 .build())
                                         .build())
                                 .spotSpecification(SpotProvisioningSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .blockDurationMinutes(123)
                                         .timeoutAction("timeoutAction")
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .build())
                         .name("name")
                         .resizeSpecifications(InstanceFleetResizingSpecificationsProperty.builder()
                                 .onDemandResizeSpecification(OnDemandResizingSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
                                                 .capacityReservationPreference("capacityReservationPreference")
                                                 .capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
                                                 .usageStrategy("usageStrategy")
                                                 .build())
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .spotResizeSpecification(SpotResizingSpecificationProperty.builder()
                                         .allocationStrategy("allocationStrategy")
                                         .timeoutDurationMinutes(123)
                                         .build())
                                 .build())
                         .targetOnDemandCapacity(123)
                         .targetSpotCapacity(123)
                         .build()))
                 .taskInstanceGroups(List.of(InstanceGroupConfigProperty.builder()
                         .autoScalingPolicy(AutoScalingPolicyProperty.builder()
                                 .constraints(ScalingConstraintsProperty.builder()
                                         .maxCapacity(123)
                                         .minCapacity(123)
                                         .build())
                                 .rules(List.of(ScalingRuleProperty.builder()
                                         .action(ScalingActionProperty.builder()
                                                 .market("market")
                                                 .simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
                                                         .adjustmentType("adjustmentType")
                                                         .coolDown(123)
                                                         .scalingAdjustment(123)
                                                         .build())
                                                 .build())
                                         .description("description")
                                         .name("name")
                                         .trigger(ScalingTriggerProperty.builder()
                                                 .cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
                                                         .comparisonOperator("comparisonOperator")
                                                         .dimensions(List.of(MetricDimensionProperty.builder()
                                                                 .key("key")
                                                                 .value("value")
                                                                 .build()))
                                                         .evaluationPeriods(123)
                                                         .metricName("metricName")
                                                         .namespace("namespace")
                                                         .period(123)
                                                         .statistic("statistic")
                                                         .threshold(123)
                                                         .unit("unit")
                                                         .build())
                                                 .build())
                                         .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()
                                                 .iops(123)
                                                 .sizeInGb(123)
                                                 .throughput(123)
                                                 .volumeType("volumeType")
                                                 .build())
                                         .volumesPerInstance(123)
                                         .build()))
                                 .ebsOptimized(false)
                                 .build())
                         .instanceCount(123)
                         .instanceType("instanceType")
                         .market("market")
                         .name("name")
                         .build()))
                 .terminationProtected(false)
                 .unhealthyNodeReplacement(false)
                 .build())
         .jobFlowRole("jobFlowRole")
         .kerberosAttributes(KerberosAttributesProperty.builder()
                 .adDomainJoinPassword("adDomainJoinPassword")
                 .adDomainJoinUser("adDomainJoinUser")
                 .crossRealmTrustPrincipalPassword("crossRealmTrustPrincipalPassword")
                 .kdcAdminPassword("kdcAdminPassword")
                 .realm("realm")
                 .build())
         .logEncryptionKmsKeyId("logEncryptionKmsKeyId")
         .logUri("logUri")
         .managedScalingPolicy(ManagedScalingPolicyProperty.builder()
                 .computeLimits(ComputeLimitsProperty.builder()
                         .maximumCapacityUnits(123)
                         .maximumCoreCapacityUnits(123)
                         .maximumOnDemandCapacityUnits(123)
                         .minimumCapacityUnits(123)
                         .unitType("unitType")
                         .build())
                 .scalingStrategy("scalingStrategy")
                 .utilizationPerformanceIndex(123)
                 .build())
         .name("name")
         .osReleaseLabel("osReleaseLabel")
         .placementGroupConfigs(List.of(PlacementGroupConfigProperty.builder()
                 .instanceRole("instanceRole")
                 .placementStrategy("placementStrategy")
                 .build()))
         .releaseLabel("releaseLabel")
         .scaleDownBehavior("scaleDownBehavior")
         .securityConfiguration("securityConfiguration")
         .serviceRole("serviceRole")
         .stepConcurrencyLevel(123)
         .steps(List.of(StepConfigProperty.builder()
                 .actionOnFailure("actionOnFailure")
                 .hadoopJarStep(HadoopJarStepConfigProperty.builder()
                         .args(List.of("args"))
                         .jar("jar")
                         .mainClass("mainClass")
                         .stepProperties(List.of(KeyValueProperty.builder()
                                 .key("key")
                                 .value("value")
                                 .build()))
                         .build())
                 .name("name")
                 .build()))
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .visibleToAllUsers(false)
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnClusterPropsMixin

      protected CfnClusterPropsMixin(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnClusterPropsMixin

      protected CfnClusterPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnClusterPropsMixin

      @Stability(Stable) public CfnClusterPropsMixin(@NotNull CfnClusterMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::EMR::Cluster.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnClusterPropsMixin

      @Stability(Stable) public CfnClusterPropsMixin(@NotNull CfnClusterMixinProps props)
      Create a mixin to apply properties to AWS::EMR::Cluster.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnClusterMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()