Class: VagrantPlugins::Openstack::Command::VolumeList

Inherits:
AbstractCommand show all
Includes:
Utils
Defined in:
lib/vagrant-openstack-provider/command/volume_list.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Utils

#display_item_list, #display_table

Methods inherited from AbstractCommand

#execute, #initialize, #normalize_args

Constructor Details

This class inherits a constructor from VagrantPlugins::Openstack::Command::AbstractCommand

Class Method Details

.synopsisObject



10
11
12
# File 'lib/vagrant-openstack-provider/command/volume_list.rb', line 10

def self.synopsis
  I18n.t('vagrant_openstack.command.volume_list_synopsis')
end

Instance Method Details

#cmd(name, argv, env) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/vagrant-openstack-provider/command/volume_list.rb', line 13

def cmd(name, argv, env)
  fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0
  volumes = env[:openstack_client].cinder.get_all_volumes(env)

  rows = []
  volumes.each do |v|
    attachment = "#{v.instance_id} (#{v.device})" unless v.instance_id.nil?
    rows << [v.id, v.name, v.size, v.status, attachment]
  end
  display_table(env, ['Id', 'Name', 'Size (Go)', 'Status', 'Attachment (instance id and device)'], rows)
end