class Bosh::Cli::Command::Login

Public Instance Methods

login(username = nil, password = nil) click to toggle source
# File lib/cli/commands/login.rb, line 14
def login(username = nil, password = nil)
  target_required

  login_strategy(director).login(target, username.to_s, password.to_s)
end
logout() click to toggle source
# File lib/cli/commands/login.rb, line 23
def logout
  target_required
  config.set_credentials(target, nil)
  config.save
  say("You are no longer logged in to '#{target}'".make_yellow)
end

Private Instance Methods

login_strategy(director) click to toggle source
# File lib/cli/commands/login.rb, line 32
def login_strategy(director)
  terminal = Bosh::Cli::Terminal.new(HighLine.new, BoshExtensions)
  auth_info = Bosh::Cli::Client::Uaa::AuthInfo.new(director, ENV, config.ca_cert)

  if auth_info.uaa?
    uaa_client = Bosh::Cli::Client::Uaa::Client.new(target, auth_info, config)
    Bosh::Cli::UaaLoginStrategy.new(terminal, uaa_client, interactive?)
  else
    Bosh::Cli::BasicLoginStrategy.new(terminal, director, config, interactive?)
  end

  rescue Bosh::Cli::Client::Uaa::AuthInfo::ValidationError => e
    err("Failed to connect to UAA: #{e.message}")
end