def tags(options = {})
      batches = Enumerator.new do |y|
        resp = @client.describe_tags(options)
        resp.each_page do |page|
          batch = []
          page.data.tags.each do |t|
            batch << Tag.new(
              key: t.key,
              resource_id: t.resource_id,
              resource_type: t.resource_type,
              data: t,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      Tag::Collection.new(batches)
    end
def tags(options = {})
      batches = Enumerator.new do |y|
        resp = @client.describe_tags(options)
        resp.each_page do |page|
          batch = []
          page.data.tags.each do |t|
            batch << Tag.new(
              key: t.key,
              resource_id: t.resource_id,
              resource_type: t.resource_type,
              data: t,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      Tag::Collection.new(batches)
    end
@example Request syntax with placeholder values

   tags = auto_scaling.tags({
     filters: [
       {
         name: "XmlString",
         values: ["XmlString"],
       },
     ],
   })
 @param [Hash] options ({})
 @option options [Array<Types::Filter>] :filters
   One or more filters to scope the tags to return. The maximum number of
   filters per filter type (for example, `auto-scaling-group`) is 1000.
 @return [Tag::Collection]