Sha256: e1084a8eb5309b26f10bcf5c636130d837994063c45deb8cb14df17e4e7f3b8c

Contents?: true

Size: 925 Bytes

Versions: 56

Compression:

Stored size: 925 Bytes

Contents

require 'fog/openstack/models/model'

module Fog
  module Identity
    class OpenStack
      class V2
        class Ec2Credential < Fog::OpenStack::Model
          identity :access, :aliases => 'access_key'

          attribute :secret, :aliases => 'secret_key'
          attribute :tenant_id
          attribute :user_id

          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
end

Version data entries

56 entries across 54 versions & 4 rubygems

Version Path
fog-openstack-0.1.27 lib/fog/identity/openstack/v2/models/ec2_credential.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-openstack-0.1.26/lib/fog/identity/openstack/v2/models/ec2_credential.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-openstack-0.1.26/lib/fog/identity/openstack/v2/models/ec2_credential.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-openstack-0.1.26/lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.26 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.25 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.24 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.23 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.22 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.21 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.20 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.19 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.18 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.17 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.15 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.14 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.13 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.12 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.11 lib/fog/identity/openstack/v2/models/ec2_credential.rb
fog-openstack-0.1.10 lib/fog/openstack/models/identity_v2/ec2_credential.rb