class Kontena::Machine::DigitalOcean::MasterDestroyer

Attributes

api_client[R]
client[R]

Public Class Methods

new(token) click to toggle source

@param [String] token Digital Ocean token

# File lib/kontena/machine/digital_ocean/master_destroyer.rb, line 10
def initialize(token)
  @client = DropletKit::Client.new(access_token: token)
end

Public Instance Methods

run!(name) click to toggle source
# File lib/kontena/machine/digital_ocean/master_destroyer.rb, line 14
def run!(name)
  droplet = client.droplets.all.find{|d| d.name == name}
  if droplet
    spinner "Terminating DigitalOcean droplet #{name.colorize(:cyan)} " do
      result = client.droplets.delete(id: droplet.id)
      if result.is_a?(String)
        abort "Cannot delete droplet #{name.colorize(:cyan)} in DigitalOcean"
      end
    end
  else
    abort "Cannot find droplet #{name.colorize(:cyan)} in DigitalOcean"
  end
end