You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::EMR::Types::InstanceGroupConfig

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing InstanceGroupConfig as input to an Aws::Client method, you can use a vanilla Hash:

{
  name: "XmlStringMaxLen256",
  market: "ON_DEMAND", # accepts ON_DEMAND, SPOT
  instance_role: "MASTER", # required, accepts MASTER, CORE, TASK
  bid_price: "XmlStringMaxLen256",
  instance_type: "InstanceType", # required
  instance_count: 1, # required
  configurations: [
    {
      classification: "String",
      configurations: {
        # recursive ConfigurationList
      },
      properties: {
        "String" => "String",
      },
    },
  ],
  ebs_configuration: {
    ebs_block_device_configs: [
      {
        volume_specification: { # required
          volume_type: "String", # required
          iops: 1,
          size_in_gb: 1, # required
        },
        volumes_per_instance: 1,
      },
    ],
    ebs_optimized: false,
  },
  auto_scaling_policy: {
    constraints: { # required
      min_capacity: 1, # required
      max_capacity: 1, # required
    },
    rules: [ # required
      {
        name: "String", # required
        description: "String",
        action: { # required
          market: "ON_DEMAND", # accepts ON_DEMAND, SPOT
          simple_scaling_policy_configuration: { # required
            adjustment_type: "CHANGE_IN_CAPACITY", # accepts CHANGE_IN_CAPACITY, PERCENT_CHANGE_IN_CAPACITY, EXACT_CAPACITY
            scaling_adjustment: 1, # required
            cool_down: 1,
          },
        },
        trigger: { # required
          cloud_watch_alarm_definition: { # required
            comparison_operator: "GREATER_THAN_OR_EQUAL", # required, accepts GREATER_THAN_OR_EQUAL, GREATER_THAN, LESS_THAN, LESS_THAN_OR_EQUAL
            evaluation_periods: 1,
            metric_name: "String", # required
            namespace: "String",
            period: 1, # required
            statistic: "SAMPLE_COUNT", # accepts SAMPLE_COUNT, AVERAGE, SUM, MINIMUM, MAXIMUM
            threshold: 1.0, # required
            unit: "NONE", # accepts NONE, SECONDS, MICRO_SECONDS, MILLI_SECONDS, BYTES, KILO_BYTES, MEGA_BYTES, GIGA_BYTES, TERA_BYTES, BITS, KILO_BITS, MEGA_BITS, GIGA_BITS, TERA_BITS, PERCENT, COUNT, BYTES_PER_SECOND, KILO_BYTES_PER_SECOND, MEGA_BYTES_PER_SECOND, GIGA_BYTES_PER_SECOND, TERA_BYTES_PER_SECOND, BITS_PER_SECOND, KILO_BITS_PER_SECOND, MEGA_BITS_PER_SECOND, GIGA_BITS_PER_SECOND, TERA_BITS_PER_SECOND, COUNT_PER_SECOND
            dimensions: [
              {
                key: "String",
                value: "String",
              },
            ],
          },
        },
      },
    ],
  },
}

Configuration defining a new instance group.

Instance Attribute Summary collapse

Instance Attribute Details

#auto_scaling_policyTypes::AutoScalingPolicy

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

Returns:

  • (Types::AutoScalingPolicy)

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster.

#bid_priceString

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

Returns:

  • (String)

    The bid price for each EC2 Spot instance type as defined by InstanceType.

#configurationsArray<Types::Configuration>

Amazon EMR releases 4.x or later.

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

Returns:

#ebs_configurationTypes::EbsConfiguration

EBS configurations that will be attached to each EC2 instance in the instance group.

Returns:

  • (Types::EbsConfiguration)

    EBS configurations that will be attached to each EC2 instance in the instance group.

#instance_countInteger

Target number of instances for the instance group.

Returns:

  • (Integer)

    Target number of instances for the instance group.

#instance_roleString

The role of the instance group in the cluster.

Possible values:

  • MASTER
  • CORE
  • TASK

Returns:

  • (String)

    The role of the instance group in the cluster.

#instance_typeString

The EC2 instance type for all instances in the instance group.

Returns:

  • (String)

    The EC2 instance type for all instances in the instance group.

#marketString

Market type of the EC2 instances used to create a cluster node.

Possible values:

  • ON_DEMAND
  • SPOT

Returns:

  • (String)

    Market type of the EC2 instances used to create a cluster node.

#nameString

Friendly name given to the instance group.

Returns:

  • (String)

    Friendly name given to the instance group.