class AWS::EMR::InstanceGroupCollection
Attributes
job_flow[R]
@return [JobFlow]
Public Class Methods
new(job_flow, options = {})
click to toggle source
@param [JobFlow] job_flow
@api private
Calls superclass method
# File lib/aws/emr/instance_group_collection.rb, line 22 def initialize job_flow, options = {} @job_flow = job_flow super end
Public Instance Methods
[](instance_group_id)
click to toggle source
@param [String] instance_group_id @return [InstanceGroup] Returns an instance group with the given ID.
# File lib/aws/emr/instance_group_collection.rb, line 32 def [] instance_group_id InstanceGroup.new(job_flow, instance_group_id) end
create(role, instance_type, instance_count, options = {})
click to toggle source
Adds an instance group to the job flow. @param [String] role The role of the instance group in the cluster. @param [String] instance_type The Amazon EC2
instance type to use. @param [Integer] instance_count Target size of instances for the group. @param [Hash] options @option options [String] :name Friendly name given to the group. @option options [String] :market Market type of the Amazon EC2
instances used to create a cluster node.
@option opitons [Float,String] :bid_price Bid price for each Amazon
EC2 instance in the instance group when launching nodes as spot instances, expressed in USD.
@return [InstanceGroup]
# File lib/aws/emr/instance_group_collection.rb, line 48 def create role, instance_type, instance_count, options = {} options[:instance_role] = role options[:instance_type] = instance_type options[:instance_count] = instance_count options[:bid_price] = options[:bid_price].to_s if options[:bid_price] client_opts = {} client_opts[:job_flow_id] = job_flow.job_flow_id client_opts[:instance_groups] = [options] resp = client.add_instance_groups(client_opts) self[resp.data[:instance_group_ids].first] end
Also aliased as: add
Protected Instance Methods
_each_item(options = {}) { |group| ... }
click to toggle source
# File lib/aws/emr/instance_group_collection.rb, line 68 def _each_item options = {} job_flow.instance_group_details.each do |details| group = InstanceGroup.new_from( :describe_job_flows, details, job_flow, details[:instance_group_id]) yield(group) end end