1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/openstack/requests/identity/create_ec2_credential.rb
Erik Michaels-Ober f2bd2404d1 Revert "Updated gem spec to require json rather than multi_json"
This reverts commits: 66638b25d7,
3f0314dbd1, and
18ce4b7eca.

Since google-api-client was added as a dependency in afa9b025e9,
multi_json is a de facto dependency of fog, so this is a needless layer.
If #1034 is still an issue, I'd be happy to ship a version of multi_json
that requires rubygems >= 1.3.5.
2013-05-06 04:05:36 -07:00

58 lines
1.6 KiB
Ruby

module Fog
module Identity
class OpenStack
class Real
##
# Create an EC2 credential for a user in a tenant. Requires
# administrator credentials.
#
# ==== Parameters
# * user_id<~String>: The id of the user to create an EC2 credential
# for
# * tenant_id<~String>: The id of the tenant to create the credential
# in
#
# ==== Returns
# * response<~Excon::Response>:
# * body<~Hash>:
# * 'credential'<~Hash>: Created EC2 credential
# * 'access'<~String>: The access key
# * 'secret'<~String>: The secret key
# * 'user_id'<~String>: The user id
# * 'tenant_id'<~String>: The tenant id
def create_ec2_credential(user_id, tenant_id)
data = { 'tenant_id' => tenant_id }
request(
:body => MultiJson.encode(data),
:expects => [200, 202],
:method => 'POST',
:path => "users/#{user_id}/credentials/OS-EC2"
)
end
end
class Mock
def create_ec2_credential(user_id, tenant_id)
response = Excon::Response.new
response.status = 200
data = {
'access' => Fog::Mock.random_hex(32),
'secret' => Fog::Mock.random_hex(32),
'tenant_id' => tenant_id,
'user_id' => user_id,
}
self.data[:ec2_credentials][user_id][data['access']] = data
response.body = { 'credential' => data }
response
end
end
end
end
end