class Chef::Knife::CloudstackVolumeDelete

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/cloudstack_volume_delete.rb, line 28
def run

  if @name_args.nil? || @name_args.empty?
    puts "#{ui.color("Please provide an Volume ID.", :red)}"
  end

  @name_args.each do |volume_id|
    volume = connection.list_volumes('id' => volume_id)['listvolumesresponse']['volume'].first
    volume_id = volume['id'].to_s
    volume_name = volume['name'].to_s
    volume_size = (volume['size']/1024/1024/1024).to_s
    volume_type = volume['type']

    puts "#{ui.color("Id", :red)}: #{volume_id}"
    puts "#{ui.color("Name", :red)}: #{volume_name}"
    puts "#{ui.color("Size (in GB)", :red)}: #{volume_size}"
    puts "#{ui.color("Type", :red)}: #{volume_type}"
    puts "\n"
    confirm("#{ui.color("Do you really want to delete this volume", :red)}")
    connection.delete_volume('id' => volume_id)
    ui.warn("Deleted volume #{volume_name}")
  end
end