class Chef::Knife::VcConfigure

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/vc_configure.rb, line 35
def run
  $stdout.sync = true

  # Load or generate a keypair to encrypt info
  pemfile = locate_config_value(:vcloud_pem)
  if pemfile
    ui.msg("Loading existing pem")
    keyfile = "#{pemfile}"
  else
    ui.msg("PEM file not existing. Creating one.")
    generate_key()
    keyfile = locate_config_value(:vcloud_pem)
  end

  value = ui.ask("vCloud URL (%s): " % locate_config_value(:vcloud_url))
  unless value.empty?
    store_config(:vcloud_url, value)
  end

  value = ui.ask("vCloud username (%s): " % locate_config_value(:vcloud_user_login))
  unless value.empty?
    store_config(:vcloud_user_login, value)
  end

  value = ui.ask("vCloud API version (%s): " % (locate_config_value(:vcloud_api_version) || "5.1"))
  unless value.empty?
    store_config(:vcloud_api_version, value)
  end

  if !locate_config_value(:vcloud_password) ||
          locate_config_value(:change_password)
    store_password(keyfile)
  end
end