class Kontena::Plugin::Upcloud::Nodes::TerminateCommand
Public Instance Methods
default_name()
click to toggle source
# File lib/kontena/plugin/upcloud/nodes/terminate_command.rb, line 33 def default_name nodes = client.get("grids/#{current_grid}/nodes") nodes = nodes['nodes'].select{ |n| n['labels'] && n['labels'].include?('provider=upcloud'.freeze) } raise "Did not find any nodes with label provider=upcloud" if nodes.size == 0 prompt.select("Select node: ") do |menu| nodes.sort_by{|n| n['node_number'] }.reverse.each do |node| initial = node['initial_member'] ? '(initial) ' : '' menu.choice "#{node['name']} #{initial}", node['name'] end end end
default_password()
click to toggle source
# File lib/kontena/plugin/upcloud/nodes/terminate_command.rb, line 29 def default_password prompt.mask('UpCloud password:') end
default_username()
click to toggle source
# File lib/kontena/plugin/upcloud/nodes/terminate_command.rb, line 25 def default_username prompt.ask('UpCloud username:', echo: true) end
execute()
click to toggle source
# File lib/kontena/plugin/upcloud/nodes/terminate_command.rb, line 15 def execute abort_unless_api_access require 'kontena/machine/upcloud' confirm_command(name) unless forced? grid = client.get("grids/#{current_grid}") destroyer = Kontena::Machine::Upcloud::NodeDestroyer.new(client, username, password) destroyer.run!(grid, name) end