class IpAddress

Public Instance Methods

assign(network) click to toggle source
   # File lib/cloudstack-cli/commands/ip_address.rb
12 def assign(network)
13   resolve_project
14   options[:name] = network
15   unless network = client.list_networks(options).first
16     error "Network #{network} not found."
17     exit 1
18   end
19 
20   if address = client.associate_ip_address(networkid: network["id"])
21     say " OK. Assigned IP address:", :green
22     table = [%w(ID Address Account Zone)]
23     table << [address["id"], address["ipaddress"], address["account"], address["zonename"]]
24     print_table table
25   end
26 end
list() click to toggle source
   # File lib/cloudstack-cli/commands/ip_address.rb
34 def list
35   resolve_account
36   resolve_project
37   addresses = client.list_public_ip_addresses(options)
38   if addresses.size < 1
39     say "No ip addresses found."
40   else
41     case options[:format].to_sym
42     when :yaml
43       puts({ip_addresses: addresses}.to_yaml)
44     when :json
45       puts JSON.pretty_generate(ip_addresses: addresses)
46     else
47       table = [%w(ID Address Account Zone)]
48       addresses.each do |address|
49         table << [address["id"], address["ipaddress"], address["account"], address["zonename"]]
50       end
51       print_table table
52       say "Total number of addresses: #{addresses.size}"
53     end
54   end
55 end
release(*ids) click to toggle source
  # File lib/cloudstack-cli/commands/ip_address.rb
4 def release(*ids)
5   ids.each do |id|
6     say(" OK, released address with ID #{id}", :green) if client.disassociate_ip_address(id: id)
7   end
8 end