mirror of
				https://github.com/fog/fog.git
				synced 2022-11-09 13:51:43 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
module Fog
 | 
						|
  module AWS
 | 
						|
    class IAM
 | 
						|
      class Real
 | 
						|
 | 
						|
        require 'fog/aws/parsers/iam/list_users'
 | 
						|
 | 
						|
        # List users
 | 
						|
        # 
 | 
						|
        # ==== Parameters
 | 
						|
        # * options<~Hash>:
 | 
						|
        #   * 'Marker'<~String>: used to paginate subsequent requests
 | 
						|
        #   * 'MaxItems'<~Integer>: limit results to this number per page
 | 
						|
        #   * 'PathPrefix'<~String>: prefix for filtering results
 | 
						|
        #
 | 
						|
        # ==== Returns
 | 
						|
        # * response<~Excon::Response>:
 | 
						|
        #   * body<~Hash>:
 | 
						|
        #     * 'Users'<~Array> - Matching groups
 | 
						|
        #       * user<~Hash>:
 | 
						|
        #         * Arn<~String> -
 | 
						|
        #         * Path<~String> -
 | 
						|
        #         * UserId<~String> -
 | 
						|
        #         * UserName<~String> -
 | 
						|
        #     * 'IsTruncated<~Boolean> - Whether or not results were truncated
 | 
						|
        #     * 'Marker'<~String> - appears when IsTruncated is true as the next marker to use
 | 
						|
        #     * 'RequestId'<~String> - Id of the request
 | 
						|
        #
 | 
						|
        # ==== See Also
 | 
						|
        # http://docs.amazonwebservices.com/IAM/latest/APIReference/API_ListUsers.html
 | 
						|
        #
 | 
						|
        def list_users(options = {})
 | 
						|
          request({
 | 
						|
            'Action'  => 'ListUsers',
 | 
						|
            :parser   => Fog::Parsers::AWS::IAM::ListUsers.new
 | 
						|
          }.merge!(options))
 | 
						|
        end
 | 
						|
 | 
						|
      end
 | 
						|
 | 
						|
      class Mock
 | 
						|
        def list_users(options = {})
 | 
						|
          #FIXME: none of the options are currently supported
 | 
						|
          Excon::Response.new.tap do |response|
 | 
						|
            response.body = {'Users' => data[:users].map do |user, data|
 | 
						|
                                          { 'UserId'   => data[:user_id],
 | 
						|
                                            'Path'     => data[:path],
 | 
						|
                                            'UserName' => user,
 | 
						|
                                            'Arn'      => (data[:arn]).strip }
 | 
						|
                                        end,
 | 
						|
                             'IsTruncated' => false,
 | 
						|
                             'RequestId'   => Fog::AWS::Mock.request_id }
 | 
						|
            response.status = 200
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |