Interface CfnCluster.InstanceGroupConfigProperty

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

@Stability(Stable) public static interface CfnCluster.InstanceGroupConfigProperty extends software.amazon.jsii.JsiiSerializable
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 .

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.*;
 ConfigurationProperty configurationProperty_;
 InstanceGroupConfigProperty instanceGroupConfigProperty = 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();
 

See Also: