def instances(options = {})
      batches = Enumerator.new do |y|
        resp = @client.describe_auto_scaling_instances(options)
        resp.each_page do |page|
          batch = []
          page.data.auto_scaling_instances.each do |a|
            batch << Instance.new(
              group_name: a.auto_scaling_group_name,
              id: a.instance_id,
              data: a,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      Instance::Collection.new(batches)
    end
def instances(options = {})
      batches = Enumerator.new do |y|
        resp = @client.describe_auto_scaling_instances(options)
        resp.each_page do |page|
          batch = []
          page.data.auto_scaling_instances.each do |a|
            batch << Instance.new(
              group_name: a.auto_scaling_group_name,
              id: a.instance_id,
              data: a,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      Instance::Collection.new(batches)
    end
@example Request syntax with placeholder values

   instances = auto_scaling.instances({
     instance_ids: ["XmlStringMaxLen19"],
   })
 @param [Hash] options ({})
 @option options [Array<String>] :instance_ids
   The IDs of the instances. You can specify up to `MaxRecords` IDs. If
   you omit this parameter, all Auto Scaling instances are described. If
   you specify an ID that does not exist, it is ignored with no error.
 @return [Instance::Collection]