class Construqt::Addresses
Constants
- DHCPV4
- DHCPV6
- IPV4
- IPV6
- LOOOPBACK
- UNREACHABLE
Public Class Methods
new(network)
click to toggle source
# File lib/construqt/addresses.rb, line 12 def initialize(network) @network = network @Addresses = [] end
Public Instance Methods
add_ip(ip, region = "")
click to toggle source
# File lib/construqt/addresses.rb, line 292 def add_ip(ip, region = "") create.add_ip(ip, region) end
add_route(dest, via = nil)
click to toggle source
# File lib/construqt/addresses.rb, line 296 def add_route(dest, via = nil) create.add_route(dest, via) end
all()
click to toggle source
# File lib/construqt/addresses.rb, line 304 def all @Addresses end
create()
click to toggle source
# File lib/construqt/addresses.rb, line 282 def create ret = Address.new() @Addresses << ret ret end
network()
click to toggle source
# File lib/construqt/addresses.rb, line 17 def network @network end
set_name(name)
click to toggle source
# File lib/construqt/addresses.rb, line 300 def set_name(name) create.set_name(name) end
tag(tag)
click to toggle source
# File lib/construqt/addresses.rb, line 288 def tag(tag) create.tag(tag) end
v4_default_route(tag = "")
click to toggle source
# File lib/construqt/addresses.rb, line 308 def v4_default_route(tag = "") nets = [(1..9),(11..126),(128..168),(170..171),(173..191),(193..223)].map do |range| range.to_a.map{|i| "#{i}.0.0.0/8"} end.flatten nets += (0..255).to_a.select{|i| i!=254}.map{|i| "169.#{i}.0.0/16" } nets += (0..255).to_a.select{|i| !(16<=i&&i<31)}.map{|i| "172.#{i}.0.0/16" } nets += (0..255).to_a.select{|i| i!=168}.map{|i| "192.#{i}.0.0/16" } v4_default_route = self.create v4_default_route.set_name(tag).tag(tag) if tag && !tag.empty? IPAddress::IPv4::summarize(*(nets.map{|i| IPAddress::IPv4.new(i) })).each do |i| v4_default_route.add_ip(i.to_string) end v4_default_route end