Sha256: 33cb55fd56a7baa7de48f9124f3f8701cd7c42503df1747419d29aa763caf6b6

Contents?: true

Size: 985 Bytes

Versions: 9

Compression:

Stored size: 985 Bytes

Contents

class IpAddress < CloudstackCli::Base

  desc "release ID", "release public IP address"
  def release(id)
    say("OK", :green) if client.disassociate_ip_address(id)
  end

  desc "assign NETWORK", "assign a public IP address"
  option :project
  def assign(network)
  	project = find_project if options[:project]
  	unless network = client.get_network(network, project ? project["id"] : nil)
  		error "Network #{network} not found."
  		exit 1
  	end
  	ip = client.associate_ip_address(network["id"])
  	puts
  	say ip['ipaddress']
  end

  desc "list", "list public IP address"
  option :project
  option :account
  option :listall
  def list
  	table = [["Address", "Account", "Zone"]]
    addresses = client.list_public_ip_addresses(options)
    if addresses.size < 1
      say "No ip addresses found."
    else
      addresses.each do |address|
        table << [address["ipaddress"], address["account"], address["zonename"]]
      end
      print_table table
    end
  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
cloudstack-cli-0.3.10 lib/cloudstack-cli/commands/ip_address.rb
cloudstack-cli-0.3.9 lib/cloudstack-cli/commands/ip_address.rb
cloudstack-cli-0.3.8 lib/cloudstack-cli/commands/ip_address.rb
cloudstack-cli-0.3.7 lib/cloudstack-cli/commands/ip_address.rb
cloudstack-cli-0.3.6 lib/cloudstack-cli/commands/ip_address.rb
cloudstack-cli-0.3.5 lib/cloudstack-cli/commands/ip_address.rb
cloudstack-cli-0.3.4 lib/cloudstack-cli/commands/ip_address.rb
cloudstack-cli-0.3.3 lib/cloudstack-cli/commands/ip_address.rb
cloudstack-cli-0.3.2 lib/cloudstack-cli/commands/ip_address.rb