class Kontena::Machine::Packet::NodeDestroyer
Attributes
api_client[R]
client[R]
Public Class Methods
new(api_client, token)
click to toggle source
@param [Kontena::Client] api_client
Kontena
api client @param [String] token Packet
api token
# File lib/kontena/machine/packet/node_destroyer.rb, line 13 def initialize(api_client, token) @api_client = api_client @client = login(token) end
Public Instance Methods
run!(grid, project_id, name)
click to toggle source
# File lib/kontena/machine/packet/node_destroyer.rb, line 18 def run!(grid, project_id, name) device = client.list_devices(project_id).find{|d| d.hostname == name} abort("Device #{name.colorize(:cyan)} not found in Packet") unless device spinner "Terminating Packet device #{name.colorize(:cyan)} " do begin response = client.delete_device(device.id) raise unless response.success? rescue abort "Cannot delete device #{name.colorize(:cyan)} in Packet" end end node = api_client.get("grids/#{grid['id']}/nodes")['nodes'].find{|n| n['name'] == name} Kontena.run(['node', 'rm', '--force', '--grid', grid['name'], name]) if node end