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

   groups = iam.groups({
     path_prefix: "pathPrefixType",
   })
 @param [Hash] options ({})
 @option options [String] :path_prefix
   The path prefix for filtering the results. For example, the prefix
   `/division_abc/subdivision_xyz/` gets all groups whose path starts
   with `/division_abc/subdivision_xyz/`.

   This parameter is optional. If it is not included, it defaults to a
   slash (/), listing all groups. This parameter allows (through its
   [regex pattern][1]) a string of characters consisting of either a
   forward slash (/) by itself or a string that must begin and end with
   forward slashes. In addition, it can contain any ASCII character from
   the ! (\\u0021) through the DEL character (\\u007F), including most
   punctuation characters, digits, and upper and lowercased letters.



   [1]: http://wikipedia.org/wiki/regex
 @return [Group::Collection]