def add_instance_groups(jobflow_id, instance_group_configs)
      params = {
        :operation => 'AddInstanceGroups',
        :job_flow_id => jobflow_id,
        :instance_groups => instance_group_configs
      }
      aws_result = @aws_request.submit(params)
      yield aws_result if block_given?
      JSON.parse(aws_result)['InstanceGroupIds']
    end
def add_instance_groups(jobflow_id, instance_group_configs)
      params = {
        :operation => 'AddInstanceGroups',
        :job_flow_id => jobflow_id,
        :instance_groups => instance_group_configs
      }
      aws_result = @aws_request.submit(params)
      yield aws_result if block_given?
      JSON.parse(aws_result)['InstanceGroupIds']
    end
Adds a new group of instances to the specified jobflow.  Elasticity maps a
 more Ruby-like syntax to the Amazon options.  An exhaustive hash follows although
 not all of these options are required (or valid!) at once.  Please see the
 EMR docs for details although even then you're going to need to experiment :)

   instance_group_config = {
     :bid_price => 5,
     :market => "SPOT",
     :name => "Go Canucks Go!",
     :instance_count => 1,
     :instance_role => "TASK",
     :instance_type => "m1.small"
   }

 add_instance_groups takes an array of {}.  Returns an array of the instance IDs
 that were created by the specified configs.

   ["ig-2GOVEN6HVJZID", "ig-1DU9M2UQMM051", "ig-3DZRW4Y2X4S", ...]