def run
require 'fog'
require 'readline'
slicehost = Fog::Slicehost.new(
:slicehost_password => Chef::Config[:knife][:slicehost_password]
)
servers = slicehost.servers.inject({}) { |h,f| h[f.name] = f.id; h }
unless servers.has_key?(@name_args[0])
Chef::Log.warn("I can't find a slice named #{@name_args[0]}")
return false
end
confirm("Do you really want to delete server ID #{servers[@name_args[0]]} named #{@name_args[0]}")
begin
response = slicehost.delete_slice(servers[@name_args[0]])
if response.headers['status'] == "200 OK"
Chef::Log.warn("Deleted server #{servers[@name_args[0]]} named #{@name_args[0]}")
end
rescue Excon::Errors::UnprocessableEntity
Chef::Log.warn("There was a problem deleting #{@name_args[0]}, check your slice manager")
end
end