Sha256: 6274cb662c355df836c99c1a50631803f0f7f818f1f2c52c7043f6b97afe608c

Contents?: true

Size: 1.43 KB

Versions: 3

Compression:

Stored size: 1.43 KB

Contents

module Aviator

  define_request :create_token do

    meta :anonymous,     true
    meta :provider,      :openstack
    meta :service,       :identity
    meta :api_version,   :v2
    meta :endpoint_type, :public

    link 'documentation',
         'http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_authenticate_v2.0_tokens_.html'

    link 'documentation bug',
         'https://bugs.launchpad.net/keystone/+bug/1208607'


    param :username,   required: false
    param :password,   required: false
    param :tokenId,    required: false
    param :tenantName, required: false
    param :tenantId,   required: false


    def body
      p = if params[:tokenId]
            {
              auth: {
                token: {
                  id: params[:tokenId]
                }
              }
            }
          else
            {
              auth: {
                passwordCredentials: {
                  username: params[:username],
                  password: params[:password]
                }
              }
            }
          end

      p[:auth][:tenantName] = params[:tenantName] if params[:tenantName]
      p[:auth][:tenantId]   = params[:tenantId]   if params[:tenantId]

      p
    end


    def http_method
      :post
    end


    def url
      url  = session_data[:auth_service][:host_uri]
      url += '/v2.0' if (URI(url).path =~ /^\/?\w+/).nil?
      url += "/tokens"

      url
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aviator-0.0.5 lib/aviator/openstack/identity/v2/public/create_token.rb
aviator-0.0.4 lib/aviator/openstack/identity/v2/public/create_token.rb
aviator-0.0.3 lib/aviator/openstack/identity/v2/public/create_token.rb