class VagrantPlugins::Openstack::Command::ImageList

Public Class Methods

synopsis() click to toggle source
# File lib/vagrant-openstack-provider/command/image_list.rb, line 7
def self.synopsis
  I18n.t('vagrant_openstack.command.image_list_synopsis')
end

Public Instance Methods

cmd(name, argv, env) click to toggle source
# File lib/vagrant-openstack-provider/command/image_list.rb, line 11
def cmd(name, argv, env)
  fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0
  rows = []
  headers = %w(ID Name)
  if env[:openstack_client].session.endpoints.key? :image
    images = env[:openstack_client].glance.get_all_images(env)
    images.each { |i| rows << [i.id, i.name, i.visibility, i.size.to_i / 1024 / 1024, i.min_ram, i.min_disk] }
    headers << ['Visibility', 'Size (Mo)', 'Min RAM (Go)', 'Min Disk (Go)']
    headers = headers.flatten
  else
    images = env[:openstack_client].nova.get_all_images(env)
    images.each { |image| rows << [image.id, image.name] }
  end
  display_table(env, headers, rows)
end