Class: Kontena::Plugin::DigitalOcean::Nodes::RestartCommand
- Inherits:
-
Command
- Object
- Command
- Kontena::Plugin::DigitalOcean::Nodes::RestartCommand
- Includes:
- Cli::Common, Cli::GridOptions, Prompts
- Defined in:
- lib/kontena/plugin/digital_ocean/nodes/restart_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
#execute ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/kontena/plugin/digital_ocean/nodes/restart_command.rb', line 12 def execute suppress_warnings # until DO merges resource_kit pr #32 require 'kontena/machine/digital_ocean' require_api_url require_current_grid do_token = ask_do_token node_name = ask_node(require_token) client = DropletKit::Client.new(access_token: do_token) droplet = client.droplets.all.find{|d| d.name == node_name} if droplet spinner "Restarting DigitalOcean droplet #{pastel.cyan(name)} " do client.droplet_actions.reboot(droplet_id: droplet.id) sleep 1 until client.droplets.find(id: droplet.id).status == 'active' end else exit_with_error "Cannot find droplet #{pastel.cyan(name)} in DigitalOcean" end ensure resume_warnings end |