Interface CfnInstanceGroupConfigProps

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

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:56.653Z") @Stability(Stable) public interface CfnInstanceGroupConfigProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnInstanceGroupConfig.

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_;
 CfnInstanceGroupConfigProps cfnInstanceGroupConfigProps = CfnInstanceGroupConfigProps.builder()
         .instanceCount(123)
         .instanceRole("instanceRole")
         .instanceType("instanceType")
         .jobFlowId("jobFlowId")
         // 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)
                                 .build())
                         // the properties below are optional
                         .volumesPerInstance(123)
                         .build()))
                 .ebsOptimized(false)
                 .build())
         .market("market")
         .name("name")
         .build();
 
  • Method Details

    • getInstanceCount

      @Stability(Stable) @NotNull Number getInstanceCount()
      Target number of instances for the instance group.
    • getInstanceRole

      @Stability(Stable) @NotNull String getInstanceRole()
      The role of the instance group in the cluster.

      Allowed Values : TASK

    • getInstanceType

      @Stability(Stable) @NotNull String getInstanceType()
      The Amazon EC2 instance type for all instances in the instance group.
    • getJobFlowId

      @Stability(Stable) @NotNull String getJobFlowId()
      The ID of an Amazon EMR cluster that you want to associate this instance group with.
    • getAutoScalingPolicy

      @Stability(Stable) @Nullable default Object getAutoScalingPolicy()
      AutoScalingPolicy is a subproperty of InstanceGroupConfig .

      AutoScalingPolicy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. For more information, see Using Automatic Scaling in Amazon EMR in the Amazon EMR Management Guide .

    • getBidPrice

      @Stability(Stable) @Nullable default String getBidPrice()
      If specified, indicates that the instance group uses Spot Instances.

      This is the maximum price you are willing to pay for Spot Instances. Specify OnDemandPrice to set the amount equal to the On-Demand price, or specify an amount in USD.

    • getConfigurations

      @Stability(Stable) @Nullable default Object getConfigurations()

      Amazon EMR releases 4.x or later.

      The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

    • getCustomAmiId

      @Stability(Stable) @Nullable default String getCustomAmiId()
      The custom AMI ID to use for the provisioned instance group.
    • getEbsConfiguration

      @Stability(Stable) @Nullable default Object getEbsConfiguration()
      EbsConfiguration determines the EBS volumes to attach to EMR cluster instances.
    • getMarket

      @Stability(Stable) @Nullable default String getMarket()
      Market type of the Amazon EC2 instances used to create a cluster node.
    • getName

      @Stability(Stable) @Nullable default String getName()
      Friendly name given to the instance group.
    • builder

      @Stability(Stable) static CfnInstanceGroupConfigProps.Builder builder()
      Returns:
      a CfnInstanceGroupConfigProps.Builder of CfnInstanceGroupConfigProps