module Construqt::Flavour::Mikrotik
Public Class Methods
bgp()
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 374 def self.bgp Bgp end
clazz(name)
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 394 def self.clazz(name) ret = self.clazzes[name] throw "class not found #{name}" unless ret ret end
clazzes()
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 378 def self.clazzes { "opvn" => Ovpn, "gre" => Gre, "host" => Host, "device"=> Device, "vrrp" => Vrrp, "bridge" => Bridge, "bond" => Bond, "vlan" => Vlan, #"result" => Result, "template" => Template, #"bgp" => Ipsec, #"ipsec" => Bgp } end
compress_address(val)
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 350 def self.compress_address(val) return val.compressed if val.ipv4? found = 0 val.groups.map do |i| if found > 0 && i != 0 found = -1 end if found == 0 && i == 0 found += 1 "" elsif found > 0 && i == 0 found += 1 nil else i.to_s 16 end end.compact.join(":").sub(/:+$/, '::') end
create_bgp(cfg)
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 413 def self.create_bgp(cfg) Bgp.new(cfg) end
create_host(name, cfg)
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 400 def self.create_host(name, cfg) cfg['name'] = name cfg['result'] = nil host = Host.new(cfg) host.result = Result.new(host) host end
create_interface(name, cfg)
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 408 def self.create_interface(name, cfg) cfg['name'] = name clazz(cfg['clazz']).new(cfg) end
create_ipsec(cfg)
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 417 def self.create_ipsec(cfg) Ipsec.new(cfg) end
ipsec()
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 370 def self.ipsec Ipsec end
name()
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 13 def self.name 'mikrotik' end
Public Instance Methods
set_ipv6_address(host, cfg)
click to toggle source
# File lib/construqt/flavour/mikrotik/flavour_mikrotik.rb, line 329 def set_ipv6_address(host, cfg) default = { "address"=>Schema.network.required, "interface"=>Schema.identifier.required, "comment" => Schema.string.required.key, "advertise"=>Schema.boolean.default(false) } cfg['comment'] = "#{cfg['interface']}-#{cfg['address']}" host.result.render_mikrotik(default, cfg, "ipv6", "address") end