2012-10-29 17:47:14 -04:00
|
|
|
module Fog
|
|
|
|
module Identity
|
|
|
|
class OpenStack
|
|
|
|
class Real
|
2012-10-30 17:14:33 -04:00
|
|
|
|
|
|
|
##
|
|
|
|
# Retrieves an EC2 credential for a user. Requires administrator
|
|
|
|
# credentials.
|
|
|
|
#
|
|
|
|
# ==== Parameters
|
|
|
|
# * user_id<~String>: The id of the user to retrieve the credential
|
|
|
|
# for
|
|
|
|
# * access<~String>: The access key of the credential to retrieve
|
|
|
|
#
|
|
|
|
# ==== Returns
|
|
|
|
# * response<~Excon::Response>:
|
|
|
|
# * body<~Hash>:
|
|
|
|
# * 'credential'<~Hash>: The EC2 credential
|
|
|
|
# * 'access'<~String>: The access key
|
|
|
|
# * 'secret'<~String>: The secret key
|
|
|
|
# * 'user_id'<~String>: The user id
|
|
|
|
# * 'tenant_id'<~String>: The tenant id
|
|
|
|
|
2012-10-29 17:47:14 -04:00
|
|
|
def get_ec2_credential(user_id, access)
|
|
|
|
request(
|
|
|
|
:expects => [200, 202],
|
|
|
|
:method => 'GET',
|
2012-10-29 17:48:08 -04:00
|
|
|
:path => "users/#{user_id}/credentials/OS-EC2/#{access}",
|
2012-10-29 17:47:14 -04:00
|
|
|
)
|
2012-10-29 17:48:08 -04:00
|
|
|
rescue Excon::Errors::Unauthorized
|
|
|
|
raise Fog::Identity::OpenStack::NotFound
|
2012-10-29 17:47:14 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
class Mock
|
|
|
|
def get_ec2_credential(user_id, access)
|
|
|
|
ec2_credential = self.data[:ec2_credentials][user_id][access]
|
|
|
|
|
|
|
|
raise Fog::OpenStack::Identity::NotFound unless ec2_credential
|
|
|
|
|
|
|
|
response = Excon::Response.new
|
|
|
|
response.status = 200
|
|
|
|
response.body = { 'credential' => ec2_credential }
|
|
|
|
response
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|