Sha256: 92568a51f30fb6581d001d3c6510046332118643ca6241ed4a8c6b6fe4fd1c2f

Contents?: true

Size: 1.71 KB

Versions: 21

Compression:

Stored size: 1.71 KB

Contents

module Fog
  module OpenStack
    class Identity
      class V2
        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    => Fog::JSON.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
end

Version data entries

21 entries across 21 versions & 3 rubygems

Version Path
fog-openstack-1.1.4 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.1.3 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.1.2 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-fork-99 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.1.0 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.1.0.pre lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-apibank-1.0.102 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.11 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-apibank-1.0.101 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.10 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.9 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.8 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.7 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.6 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.5 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.4 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.3 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.2 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.1 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb
fog-openstack-1.0.0 lib/fog/openstack/identity/v2/requests/create_ec2_credential.rb