Class: VagrantPlugins::Deltacloud::Command::VolumeList

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

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Utils

#display_item_list, #display_table, #get_ip_address

Methods inherited from AbstractCommand

#execute, #initialize, #normalize_args

Constructor Details

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

Class Method Details

.synopsisObject



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

def self.synopsis
  I18n.t('vagrant_deltacloud.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-deltacloud-provider/command/volume_list.rb', line 13

def cmd(name, argv, env)
  fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0
  volumes = env[:deltacloud_client].list_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