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/models/identity/ec2_credential.rb
2013-01-07 21:01:18 +00:00

44 lines
1 KiB
Ruby

require 'fog/core/model'
module Fog
module Identity
class OpenStack
class Ec2Credential < Fog::Model
identity :access, :aliases => 'access_key'
attribute :secret, :aliases => 'secret_key'
attribute :tenant_id
attribute :user_id
def initialize(attributes)
# Old 'connection' is renamed as service and should be used instead
prepare_service_value(attributes)
super
end
def destroy
requires :access
requires :user_id
service.delete_ec2_credential user_id, access
true
end
def save
raise Fog::Errors::Error, 'Existing credentials cannot be altered' if
access
self.user_id ||= user.id
self.tenant_id ||= user.tenant_id
requires :user_id, :tenant_id
data = service.create_ec2_credential user_id, tenant_id
merge_attributes(data.body['credential'])
true
end
end
end
end
end