class Kontena::Plugin::Aws::Nodes::CreateCommand

Public Instance Methods

default_count() click to toggle source
# File lib/kontena/plugin/aws/nodes/create_command.rb, line 60
def default_count
  prompt.ask('How many instances?: ', default: 1)
end
execute() click to toggle source
# File lib/kontena/plugin/aws/nodes/create_command.rb, line 18
def execute
  require_current_grid
  require_relative '../../../machine/aws'

  grid = fetch_grid(current_grid)
  provisioner.run!(
    master_uri: api_url,
    grid_token: grid['token'],
    grid: current_grid,
    name: name,
    type: type,
    vpc: vpc_id,
    zone: zone,
    subnet: subnet_id,
    storage: storage,
    version: version,
    key_pair: key_pair,
    count: count,
    associate_public_ip: associate_public_ip?,
    security_groups: security_groups,
    ami: ami
  )
rescue Seahorse::Client::NetworkingError => ex
  raise ex unless ex.message.match(/certificate verify failed/)
  exit_with_error Kontena::Machine::Aws.ssl_fail_message(aws_bundled_cert?)
end
fetch_grid(id) click to toggle source

@param [String] id @return [Hash]

# File lib/kontena/plugin/aws/nodes/create_command.rb, line 47
def fetch_grid(id)
  client.get("grids/#{id}")
end
provisioner() click to toggle source

@param [Kontena::Client] client @param [String] access_key @param [String] secret_key @param [String] region @return [Kontena::Machine::Aws::NodeProvisioner]

# File lib/kontena/plugin/aws/nodes/create_command.rb, line 56
def provisioner
  Kontena::Machine::Aws::NodeProvisioner.new(client, access_key, secret_key, region)
end