Class: Aws::EMR::Types::InstanceGroupConfig
- Inherits:
-
Struct
- Object
- Struct
- Aws::EMR::Types::InstanceGroupConfig
- Includes:
- Structure
- Defined in:
- lib/aws-sdk-emr/types.rb
Overview
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
-
#auto_scaling_policy ⇒ Types::AutoScalingPolicy
An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster.
-
#bid_price ⇒ String
The maximum Spot price your are willing to pay for EC2 instances.
-
#configurations ⇒ Array<Types::Configuration>
<note markdown=“1”> Amazon EMR releases 4.x or later.
-
#ebs_configuration ⇒ Types::EbsConfiguration
EBS configurations that will be attached to each EC2 instance in the instance group.
-
#instance_count ⇒ Integer
Target number of instances for the instance group.
-
#instance_role ⇒ String
The role of the instance group in the cluster.
-
#instance_type ⇒ String
The EC2 instance type for all instances in the instance group.
-
#market ⇒ String
Market type of the EC2 instances used to create a cluster node.
-
#name ⇒ String
Friendly name given to the instance group.
Instance Attribute Details
#auto_scaling_policy ⇒ Types::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 '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_price ⇒ String
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.
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 |
# File '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 |
#configurations ⇒ Array<Types::Configuration>
<note markdown=“1”> Amazon EMR releases 4.x or later.
</note>
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).
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 |
# File '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_configuration ⇒ Types::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 '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_count ⇒ Integer
Target number of instances for the instance group.
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 |
# File '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_role ⇒ String
The role of the instance group in the cluster.
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 |
# File '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_type ⇒ String
The EC2 instance type for all instances in the instance group.
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 |
# File '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 |
#market ⇒ String
Market type of the EC2 instances used to create a cluster node.
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 |
# File '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 |
#name ⇒ String
Friendly name given to the instance group.
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 |
# File '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 |