Class: Aws::EMR::Types::InstanceGroupConfig
- Inherits:
-
Struct
- Object
- Struct
- Aws::EMR::Types::InstanceGroupConfig
- Defined in:
- gems/aws-sdk-emr/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",
},
],
},
},
},
],
},
custom_ami_id: "XmlStringMaxLen256",
}
Configuration defining a new instance group.
Constant Summary collapse
- SENSITIVE =
[]
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
If specified, indicates that the instance group uses Spot Instances.
-
#configurations ⇒ Array<Types::Configuration>
Amazon EMR releases 4.x or later. -
#custom_ami_id ⇒ String
The custom AMI ID to use for the provisioned instance group.
-
#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.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#bid_price ⇒ String
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.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#configurations ⇒ Array<Types::Configuration>
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).
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#custom_ami_id ⇒ String
The custom AMI ID to use for the provisioned instance group.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#ebs_configuration ⇒ Types::EbsConfiguration
EBS configurations that will be attached to each EC2 instance in the instance group.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#instance_count ⇒ Integer
Target number of instances for the instance group.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#instance_role ⇒ String
The role of the instance group in the cluster.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#instance_type ⇒ String
The EC2 instance type for all instances in the instance group.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#market ⇒ String
Market type of the EC2 instances used to create a cluster node.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |
#name ⇒ String
Friendly name given to the instance group.
3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3355 class InstanceGroupConfig < Struct.new( :name, :market, :instance_role, :bid_price, :instance_type, :instance_count, :configurations, :ebs_configuration, :auto_scaling_policy, :custom_ami_id) SENSITIVE = [] include Aws::Structure end |