Class: Kontena::Plugin::Azure::Nodes::CreateCommand
- Inherits:
-
Command
- Object
- Command
- Kontena::Plugin::Azure::Nodes::CreateCommand
- Includes:
- Cli::Common, Cli::GridOptions, Common
- Defined in:
- lib/kontena/plugin/azure/nodes/create_command.rb
Constant Summary
Constants included from Common
Common::LOCATIONS, Common::SIZES
Instance Method Summary collapse
- #default_location ⇒ Object
- #default_size ⇒ Object
- #execute ⇒ Object
- #fetch_grid ⇒ Hash
- #provisioner(client, subscription_id, certificate) ⇒ Kontena::Machine::Azure::NodeProvisioner
Methods included from Common
Instance Method Details
#default_location ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/kontena/plugin/azure/nodes/create_command.rb', line 53 def default_location prompt.select("Choose location: ") do || locations.each do |l| .choice l end end end |
#default_size ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/kontena/plugin/azure/nodes/create_command.rb', line 61 def default_size size = prompt.select("Choose virtual machine size: ") do || .default 3 sizes.each do |s| .choice s end .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 ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# 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 ⇒ Hash
49 50 51 |
# 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) ⇒ Kontena::Machine::Azure::NodeProvisioner
44 45 46 |
# 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 |