class Chef::Knife::Cloud::OvirtStorageList
Public Instance Methods
list(storages)
click to toggle source
# File lib/chef/knife/ovirt_storage_list.rb, line 35 def list(storages) storage_list = [ ui.color('ID', :bold), ui.color('Name', :bold), ui.color('Used', :bold), ui.color('Avail', :bold), ui.color('%Used', :bold), ui.color('Kind', :bold), ui.color('Role', :bold), ] begin storages.each do |storage| storage_list << storage.id storage_list << storage.name storage_list << humanize((storage.used || 0)) storage_list << humanize(storage.available) storage_list << format('%02.1f ', 100 * (storage.used || 0).to_i / (storage.available || 1).to_i) storage_list << storage.kind storage_list << storage.role # There is a description field too, but it doesent seem to be available through fog. end rescue Excon::Errors::BadRequest => e response = Chef::JSONCompat.from_json(e.response.body) ui.fatal("Unknown server error (#{response['badRequest']['code']}): #{response['badRequest']['message']}") raise e end puts ui.list(storage_list, :uneven_columns_across, 7) end
query_resource()
click to toggle source
# File lib/chef/knife/ovirt_storage_list.rb, line 20 def query_resource @service.connection.storage_domains rescue Excon::Errors::BadRequest => e response = Chef::JSONCompat.from_json(e.response.body) ui.fatal("Unknown server error (#{response['badRequest']['code']}): #{response['badRequest']['message']}") raise e end
storage_domain_name(id)
click to toggle source
# File lib/chef/knife/ovirt_storage_list.rb, line 28 def storage_domain_name(id) @storage_domains.select do |domain| puts domain domain.id == id end[0].name end