Class: Chef::Knife::Cloud::OvirtStorageList
- Inherits:
-
ResourceListCommand
- Object
- ResourceListCommand
- Chef::Knife::Cloud::OvirtStorageList
- Includes:
- OvirtHelpers, OvirtServiceOptions
- Defined in:
- lib/chef/knife/ovirt_storage_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(storages) ⇒ Object
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 61 62 |
# 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 ⇒ Object
20 21 22 23 24 25 26 |
# 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) ⇒ Object
28 29 30 31 32 33 |
# 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 |