class Chef::Knife::CloudstackVolumeList
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/cloudstack_volumes_list.rb, line 29 def run $stdout.sync = true validate! volume_list = [ ui.color('ID', :bold), ui.color('Name', :bold), ui.color('Size (in GB)', :bold), ui.color('Type', :bold), ui.color('Virtual Machine', :bold), ui.color('State', :bold) ] response = connection.list_volumes['listvolumesresponse'] if volumes = response['volume'] volumes.each do |volume| volume_list << volume['id'].to_s volume_list << volume['name'].to_s volume_size = volume['size'] volume_size = (volume_size/1024/1024/1024) volume_list << volume_size.to_s volume_list << volume['type'] if (volume['vmdisplayname'].nil?) volume_list << ' ' else volume_list << volume['vmdisplayname'] end volume_list << begin state = volume['state'].to_s.downcase case state when 'allocated' ui.color(state, :red) when 'pending' ui.color(state, :yellow) else ui.color(state, :green) end end end puts ui.list(volume_list, :uneven_columns_across, 6) end end