class Fog::Proxmox::Auth::Token::UserToken

Constants

NAME

Attributes

token_id[R]

Public Instance Methods

auth_body(_params = {}) click to toggle source
# File lib/fog/proxmox/auth/token/user_token.rb, line 57
def auth_body(_params = {})
  ''
end
auth_method() click to toggle source
# File lib/fog/proxmox/auth/token/user_token.rb, line 38
def auth_method
  'GET'
end
auth_path(params = {}) click to toggle source
# File lib/fog/proxmox/auth/token/user_token.rb, line 42
def auth_path(params = {})
  raise URIError, 'URI params are required' if params.nil? || params.empty?

  if params[:proxmox_userid].nil? || params[:proxmox_userid].empty?
    raise URIError,
          'proxmox_userid is required'
  end
  if params[:proxmox_tokenid].nil? || params[:proxmox_tokenid].empty?
    raise URIError,
          'proxmox_tokenid is required'
  end

  "/access/users/#{URI.encode_www_form_component(params[:proxmox_userid])}/token/#{params[:proxmox_tokenid]}"
end
build_credentials(proxmox_options, data) click to toggle source
# File lib/fog/proxmox/auth/token/user_token.rb, line 86
def build_credentials(proxmox_options, data)
  @expires = data['expire']
  @token = proxmox_options[:proxmox_token]
  @token_id = proxmox_options[:proxmox_tokenid]
  @userid = proxmox_options[:proxmox_userid]
end
headers(_method = 'GET', params = {}, additional_headers = {}) click to toggle source
# File lib/fog/proxmox/auth/token/user_token.rb, line 75
def headers(_method = 'GET', params = {}, additional_headers = {})
  raise URIError, 'User token is required' if no_token?(params)

  credentials = set_credentials(params)
  headers_hash = {}
  headers_hash.store('Authorization',
                     "PVEAPIToken=#{credentials[:userid]}!#{credentials[:token_id]}=#{credentials[:token]}")
  headers_hash.merge! additional_headers
  headers_hash
end
missing_credentials(options) click to toggle source
# File lib/fog/proxmox/auth/token/user_token.rb, line 93
def missing_credentials(options)
  missing_credentials = []
  missing_credentials << :proxmox_userid unless options[:proxmox_userid]
  missing_credentials << :proxmox_tokenid unless options[:proxmox_tokenid]
  missing_credentials << :proxmox_token unless options[:proxmox_token]
  return if missing_credentials.empty?

  raise ArgumentError,
        "Missing required arguments: #{missing_credentials.join(', ')}"
end
no_token?(params) click to toggle source
# File lib/fog/proxmox/auth/token/user_token.rb, line 61
def no_token?(params)
  (params.respond_to?(:proxmox_token) || params[:proxmox_token].nil? || params[:proxmox_token].empty?) && (@token.nil? || @token.empty?)
end
set_credentials(params) click to toggle source
# File lib/fog/proxmox/auth/token/user_token.rb, line 65
def set_credentials(params)
  token = @token
  token = params[:proxmox_token] if token.empty?
  token_id = @token_id
  token_id = params[:proxmox_tokenid] if token_id.empty?
  userid = @userid
  userid = params[:proxmox_userid] if userid.empty?
  { userid: userid, token_id: token_id, token: token }
end