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 @private

# 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
add(role, instance_type, instance_count, options = {}) click to toggle source
Alias for: create
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