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",
},
],
},
},
},
],
},
}
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
The bid price for each EC2 Spot Instance type as defined by
InstanceType
. -
#configurations ⇒ Array<Types::Configuration>
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.
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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_price ⇒ String
The bid price for each EC2 Spot Instance type as defined by
InstanceType
. Expressed in USD. If neither BidPrice
nor
BidPriceAsPercentageOfOnDemandPrice
is provided,
BidPriceAsPercentageOfOnDemandPrice
defaults to 100%.
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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 |
#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).
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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_configuration ⇒ Types::EbsConfiguration
EBS configurations that will be attached to each EC2 instance in the instance group.
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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_count ⇒ Integer
Target number of instances for the instance group.
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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_role ⇒ String
The role of the instance group in the cluster.
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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_type ⇒ String
The EC2 instance type for all instances in the instance group.
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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 |
#market ⇒ String
Market type of the EC2 instances used to create a cluster node.
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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 |
#name ⇒ String
Friendly name given to the instance group.
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 |
# File 'gems/aws-sdk-emr/lib/aws-sdk-emr/types.rb', line 3152 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 |