Class CfnInstanceGroupConfigPropsMixin

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.emr.CfnInstanceGroupConfigPropsMixin
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.290Z") @Stability(Stable) public class CfnInstanceGroupConfigPropsMixin extends Mixin implements software.constructs.IMixin
Use InstanceGroupConfig to define instance groups for an EMR cluster.

A cluster can not use both instance groups and instance fleets. For more information, see Create a Cluster with Instance Fleets or Uniform Instance Groups in the Amazon EMR Management Guide .

You can currently only add task instance groups to a cluster with this resource. If you use this resource, CloudFormation waits for the cluster launch to complete before adding the task instance group to the cluster. In order to add task instance groups to the cluster as part of the cluster launch and minimize delays in provisioning task nodes, use the TaskInstanceGroups subproperty for the AWS::EMR::Cluster JobFlowInstancesConfig property instead. To use this subproperty, see AWS::EMR::Cluster for examples.

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.*;
 ConfigurationProperty configurationProperty_;
 IMergeStrategy mergeStrategy;
 CfnInstanceGroupConfigPropsMixin cfnInstanceGroupConfigPropsMixin = CfnInstanceGroupConfigPropsMixin.Builder.create(CfnInstanceGroupConfigMixinProps.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)
         .instanceRole("instanceRole")
         .instanceType("instanceType")
         .jobFlowId("jobFlowId")
         .market("market")
         .name("name")
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

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

    • CfnInstanceGroupConfigPropsMixin

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

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

      @Stability(Stable) public CfnInstanceGroupConfigPropsMixin(@NotNull CfnInstanceGroupConfigMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::EMR::InstanceGroupConfig.

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

      @Stability(Stable) public CfnInstanceGroupConfigPropsMixin(@NotNull CfnInstanceGroupConfigMixinProps props)
      Create a mixin to apply properties to AWS::EMR::InstanceGroupConfig.

      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 CfnInstanceGroupConfigMixinProps getProps()
    • getStrategy

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