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
Bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.
-
#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.
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 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
Bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 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).
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 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.
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 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.
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 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.
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 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.
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 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.
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 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.
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 |
# File 'lib/aws-sdk-emr/types.rb', line 2303 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy) include Aws::Structure end |