class Chef::Knife::Cloud::OvirtVolumeList
Public Instance Methods
list(volumes)
click to toggle source
# File lib/chef/knife/ovirt_volume_list.rb, line 33 def list(volumes) volume_list = [ ui.color('ID', :bold), ui.color('Name', :bold), ui.color('Size', :bold), ui.color('Status', :bold), ui.color('Sparse', :bold), ui.color('Format', :bold), ui.color('Domain', :bold), ] begin volumes.each do |volume| volume_list << volume[:id] volume_list << volume[:name] volume_list << humanize(volume[:size]) volume_list << volume[:status] volume_list << volume[:sparse] volume_list << volume[:format] volume_list << storage_domain_name(volume[:storage_domain]) # 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(volume_list, :uneven_columns_across, 7) end
query_resource()
click to toggle source
# File lib/chef/knife/ovirt_volume_list.rb, line 20 def query_resource @storage_domains = @service.connection.storage_domains @service.connection.list_volumes 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_volume_list.rb, line 29 def storage_domain_name(id) @storage_domains.select { |domain| domain.id == id }[0].name end