Class: Chef::Knife::Cloud::OvirtVolumeList
- Inherits:
-
ResourceListCommand
- Object
- ResourceListCommand
- Chef::Knife::Cloud::OvirtVolumeList
- Includes:
- OvirtHelpers, OvirtServiceOptions
- Defined in:
- lib/chef/knife/ovirt_volume_list.rb
Instance Method Summary collapse
Methods included from OvirtServiceOptions
Methods included from OvirtHelpers
#create_service_instance, #humanize, #validate!, #volume_ready
Instance Method Details
#list(volumes) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# 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 ⇒ Object
20 21 22 23 24 25 26 27 |
# 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) ⇒ Object
29 30 31 |
# 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 |