class Kontena::Machine::Vagrant::NodeDestroyer
Attributes
api_client[R]
client[R]
Public Class Methods
new(api_client)
click to toggle source
@param [Kontena::Client] api_client
Kontena
api client
# File lib/kontena/machine/vagrant/node_destroyer.rb, line 14 def initialize(api_client) @api_client = api_client end
Public Instance Methods
run!(grid, name)
click to toggle source
# File lib/kontena/machine/vagrant/node_destroyer.rb, line 18 def run!(grid, name) vagrant_path = "#{Dir.home}/.kontena/#{grid}/#{name}" Dir.chdir(vagrant_path) do spinner "Triggering termination of Vagrant machine #{name.colorize(:cyan)}" run_command('vagrant destroy -f') FileUtils.remove_entry_secure(vagrant_path) end node = api_client.get("grids/#{grid}/nodes")['nodes'].find{|n| n['name'] == name} if node spinner "Removing node #{name.colorize(:cyan)} from grid #{grid.colorize(:cyan)} " do api_client.delete("nodes/#{grid}/#{name}") end end end