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

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

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb

Overview

Note:

When making an API call, you may pass InstanceGroupConfig data as a 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.



2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end

#bid_priceString

The maximum Spot price your are willing to pay for EC2 instances.

An optional, nullable field that applies if the MarketType for the instance group is specified as SPOT. Specify the maximum spot price in USD. If the value is NULL and SPOT is specified, the maximum Spot price is set equal to the On-Demand price.

Returns:

  • (String)


2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end

#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:



2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end

#ebs_configurationTypes::EbsConfiguration

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



2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end

#instance_countInteger

Target number of instances for the instance group.

Returns:

  • (Integer)


2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end

#instance_roleString

The role of the instance group in the cluster.

Returns:

  • (String)


2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end

#instance_typeString

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

Returns:

  • (String)


2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end

#marketString

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

Returns:

  • (String)


2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end

#nameString

Friendly name given to the instance group.

Returns:

  • (String)


2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2363

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  include Aws::Structure
end