def groups(options = {})
      batches = Enumerator.new do |y|
        resp = @client.describe_auto_scaling_groups(options)
        resp.each_page do |page|
          batch = []
          page.data.auto_scaling_groups.each do |a|
            batch << AutoScalingGroup.new(
              name: a.auto_scaling_group_name,
              data: a,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      AutoScalingGroup::Collection.new(batches)
    end
def groups(options = {})
      batches = Enumerator.new do |y|
        resp = @client.describe_auto_scaling_groups(options)
        resp.each_page do |page|
          batch = []
          page.data.auto_scaling_groups.each do |a|
            batch << AutoScalingGroup.new(
              name: a.auto_scaling_group_name,
              data: a,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      AutoScalingGroup::Collection.new(batches)
    end
@example Request syntax with placeholder values

   groups = auto_scaling.groups({
     auto_scaling_group_names: ["ResourceName"],
   })
 @param [Hash] options ({})
 @option options [Array<String>] :auto_scaling_group_names
   The names of the Auto Scaling groups. Each name can be a maximum of
   1600 characters. By default, you can only specify up to 50 names. You
   can optionally increase this limit using the `MaxRecords` parameter.

   If you omit this parameter, all Auto Scaling groups are described.
 @return [AutoScalingGroup::Collection]