class Kontena::Plugin::Azure::Nodes::CreateCommand

Public Instance Methods

default_location() click to toggle source
# File lib/kontena/plugin/azure/nodes/create_command.rb, line 53
def default_location
  prompt.select("Choose location: ") do |menu|
    locations.each do |l|
      menu.choice l
    end
  end
end
default_size() click to toggle source
# File lib/kontena/plugin/azure/nodes/create_command.rb, line 61
def default_size
  size = prompt.select("Choose virtual machine size: ") do |menu|
    menu.default 3
    sizes.each do |s|
      menu.choice s
    end
    menu.choice 'Other'
  end
  if size == 'Other'
    size = prompt.ask("Virtual machine size? (see https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes#size-tables)")
  end

  size
end
execute() click to toggle source
# File lib/kontena/plugin/azure/nodes/create_command.rb, line 19
def execute
  require_api_url
  require_current_grid

  require_relative '../../../machine/azure'
  grid = fetch_grid
  provisioner = provisioner(client(require_token), subscription_id, certificate)
  provisioner.run!(
    master_uri: api_url,
    grid_token: grid['token'],
    grid: current_grid,
    ssh_key: ssh_key,
    name: name,
    size: size,
    virtual_network: network,
    subnet: subnet,
    location: location,
    version: version
  )
end
fetch_grid() click to toggle source

@return [Hash]

# File lib/kontena/plugin/azure/nodes/create_command.rb, line 49
def fetch_grid
  client(require_token).get("grids/#{current_grid}")
end
provisioner(client, subscription_id, certificate) click to toggle source

@param [Kontena::Client] client @param [String] subscription_id @param [String] certificate @return [Kontena::Machine::Azure::NodeProvisioner]

# File lib/kontena/plugin/azure/nodes/create_command.rb, line 44
def provisioner(client, subscription_id, certificate)
  Kontena::Machine::Azure::NodeProvisioner.new client, subscription_id, certificate
end