Class: Kontena::Plugin::DigitalOcean::Nodes::TerminateCommand

Inherits:
Command
  • Object
show all
Includes:
Cli::Common, Cli::GridOptions, Prompts
Defined in:
lib/kontena/plugin/digital_ocean/nodes/terminate_command.rb

Instance Method Summary collapse

Methods included from Prompts

#ask_channel, #ask_do_token, #ask_droplet_region, #ask_droplet_size, #ask_node, #ask_ssh_key, #resume_warnings, #suppress_warnings

Instance Method Details

#destroyer(client, token) ⇒ Object

Parameters:

  • client (Kontena::Client)
  • token (String)


32
33
34
# File 'lib/kontena/plugin/digital_ocean/nodes/terminate_command.rb', line 32

def destroyer(client, token)
  Kontena::Machine::DigitalOcean::NodeDestroyer.new(client, token)
end

#executeObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/kontena/plugin/digital_ocean/nodes/terminate_command.rb', line 13

def execute
  suppress_warnings # until DO merges resource_kit pr #32
  require 'kontena/machine/digital_ocean'
  require_api_url
  require_current_grid
  token = require_token
  node_name = ask_node(token)
  do_token = ask_do_token
  confirm_command(node_name) unless forced?

  grid = client(require_token).get("grids/#{current_grid}")
  destroyer = destroyer(client(token), do_token)
  destroyer.run!(grid, node_name)
ensure
  resume_warnings
end