Class: Chef::Knife::CloudstackVolumeDelete

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

Instance Method Summary collapse

Methods included from CloudstackBase

#connection, included, #locate_config_value, #msg_pair, #validate!

Instance Method Details

#runObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 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