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.

Constant Summary collapse

SENSITIVE =
[]

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.



3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

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

#bid_priceString

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.

Returns:

  • (String)


3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

class InstanceGroupConfig < Struct.new(
  :name,
  :market,
  :instance_role,
  :bid_price,
  :instance_type,
  :instance_count,
  :configurations,
  :ebs_configuration,
  :auto_scaling_policy)
  SENSITIVE = []
  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:



3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

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

#ebs_configurationTypes::EbsConfiguration

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



3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

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

#instance_countInteger

Target number of instances for the instance group.

Returns:

  • (Integer)


3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

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

#instance_roleString

The role of the instance group in the cluster.

Returns:

  • (String)


3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

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

#instance_typeString

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

Returns:

  • (String)


3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

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

#marketString

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

Returns:

  • (String)


3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

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

#nameString

Friendly name given to the instance group.

Returns:

  • (String)


3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3167

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