def policies(options = {})
      batches = Enumerator.new do |y|
        resp = @client.list_policies(options)
        resp.each_page do |page|
          batch = []
          page.data.policies.each do |p|
            batch << Policy.new(
              arn: p.arn,
              data: p,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      Policy::Collection.new(batches)
    end
def policies(options = {})
      batches = Enumerator.new do |y|
        resp = @client.list_policies(options)
        resp.each_page do |page|
          batch = []
          page.data.policies.each do |p|
            batch << Policy.new(
              arn: p.arn,
              data: p,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      Policy::Collection.new(batches)
    end
@example Request syntax with placeholder values

   policies = iam.policies({
     scope: "All", # accepts All, AWS, Local
     only_attached: false,
     path_prefix: "policyPathType",
     policy_usage_filter: "PermissionsPolicy", # accepts PermissionsPolicy, PermissionsBoundary
   })
 @param [Hash] options ({})
 @option options [String] :scope
   The scope to use for filtering the results.

   To list only AWS managed policies, set `Scope` to `AWS`. To list only
   the customer managed policies in your AWS account, set `Scope` to
   `Local`.

   This parameter is optional. If it is not included, or if it is set to
   `All`, all policies are returned.
 @option options [Boolean] :only_attached
   A flag to filter the results to only the attached policies.

   When `OnlyAttached` is `true`, the returned list contains only the
   policies that are attached to an IAM user, group, or role. When
   `OnlyAttached` is `false`, or when the parameter is not included, all
   policies are returned.
 @option options [String] :path_prefix
   The path prefix for filtering the results. This parameter is optional.
   If it is not included, it defaults to a slash (/), listing all
   policies. 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
 @option options [String] :policy_usage_filter
   The policy usage method to use for filtering the results.

   To list only permissions policies,
   set `PolicyUsageFilter` to `PermissionsPolicy`. To list only the
   policies used to set permissions boundaries, set the value
   to `PermissionsBoundary`.

   This parameter is optional. If it is not included, all policies are
   returned.
 @return [Policy::Collection]