Class: Chef::Knife::RackspaceServerDelete

Inherits:
Chef::Knife
  • Object
show all
Includes:
RackspaceBase
Defined in:
lib/chef/knife/rackspace_server_delete.rb

Instance Method Summary collapse

Methods included from RackspaceBase

#connection, included, #locate_config_value, #public_dns_name

Instance Method Details

#msg(label, value) ⇒ Object



51
52
53
54
55
# File 'lib/chef/knife/rackspace_server_delete.rb', line 51

def msg(label, value)
  if value && !value.empty?
    puts "#{ui.color(label, :cyan)}: #{value}"
  end
end

#runObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/chef/knife/rackspace_server_delete.rb', line 29

def run
  @name_args.each do |instance_id|
    
    server = connection.servers.get(instance_id)

    msg("Instance ID", server.id.to_s)
    msg("Host ID", server.host_id)
    msg("Name", server.name)
    msg("Flavor", server.flavor.name)
    msg("Image", server.image.name)
    msg("Public DNS Name", server.addresses["public"][0])
    msg("Private IP Address", server.addresses["private"][0])

    puts "\n"
    confirm("Do you really want to delete this server")

    server.destroy

    ui.warn("Deleted server #{server.id} named #{server.name}")
  end
end