class VagrantPlugins::Openstack::Command::FloatingIpList

Public Class Methods

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

Public Instance Methods

cmd(name, argv, env) click to toggle source
# File lib/vagrant-openstack-provider/command/floatingip_list.rb, line 11
def cmd(name, argv, env)
  fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0

  floating_ip_pools = env[:openstack_client].nova.get_floating_ip_pools(env)
  floating_ips = env[:openstack_client].nova.get_floating_ips(env)

  rows = []
  floating_ip_pools.each do |floating_ip_pool|
    rows << [floating_ip_pool['name']]
  end
  display_table(env, ['Floating IP pools'], rows)

  rows = []
  floating_ips.each do |floating_ip|
    rows << [floating_ip['id'], floating_ip['ip'], floating_ip['pool'], floating_ip['instance_id']]
  end
  display_table(env, ['ID', 'IP', 'Pool', 'Instance ID'], rows)
end