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.



2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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

Bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.

Returns:

  • (String)


2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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:



2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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.



2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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)


2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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)


2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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)


2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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)


2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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)


2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 2343

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