lib/kontena/plugin/azure/master/create_command.rb in kontena-plugin-azure-0.2.5 vs lib/kontena/plugin/azure/master/create_command.rb in kontena-plugin-azure-0.3.0
- old
+ new
@@ -1,26 +1,28 @@
require 'securerandom'
+require_relative '../common'
module Kontena::Plugin::Azure::Master
class CreateCommand < Kontena::Command
include Kontena::Cli::Common
+ include Kontena::Plugin::Azure::Common
option "--name", "[NAME]", "Set Master name"
option "--subscription-id", "SUBSCRIPTION ID", "Azure subscription id", required: true
option "--subscription-cert", "CERTIFICATE", "Path to Azure management certificate", attribute_name: :certificate, required: true
- option "--size", "SIZE", "SIZE", default: 'Small'
+ option "--size", "SIZE", "Virtual machine size, see https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes", required: true
option "--network", "NETWORK", "Virtual Network name"
option "--subnet", "SUBNET", "Subnet name"
option "--ssh-key", "SSH KEY", "SSH private key file", required: true
- option "--location", "LOCATION", "Location", default: 'West Europe'
+ option "--location", "LOCATION", "Location", required: true
option "--ssl-cert", "SSL CERT", "SSL certificate file"
option "--vault-secret", "VAULT_SECRET", "Secret key for Vault"
option "--vault-iv", "VAULT_IV", "Initialization vector for Vault"
option "--version", "VERSION", "Define installed Kontena version", default: 'latest'
def execute
- require 'kontena/machine/azure'
+ require_relative '../../../machine/azure'
provisioner = provisioner(subscription_id, certificate)
provisioner.run!(
name: name,
ssh_key: ssh_key,
ssl_cert: ssl_cert,
@@ -38,8 +40,30 @@
# @param [String] subscription_id
# @param [String] certificate
# @return [Kontena::Machine::Azure::MasterProvisioner]
def provisioner(subscription_id, certificate)
Kontena::Machine::Azure::MasterProvisioner.new subscription_id, certificate
+ end
+
+ def default_location
+ prompt.select("Choose location: ") do |menu|
+ locations.each do |l|
+ menu.choice l
+ end
+ end
+ end
+
+ def default_size
+ size = prompt.select("Choose virtual machine size: ") do |menu|
+ menu.default 2
+ 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
end
end