class Proxy::DHCP::Infoblox::Provider
Attributes
connection[R]
crud[R]
restart_grid[R]
unused_ips[R]
Public Class Methods
new(connection, crud, restart_grid, unused_ips, managed_subnets)
click to toggle source
Calls superclass method
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 12 def initialize(connection, crud, restart_grid, unused_ips, managed_subnets) @connection = connection @crud = crud @restart_grid = restart_grid @unused_ips = unused_ips super('infoblox', managed_subnets, nil) end
Public Instance Methods
add_record(options)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 50 def add_record(options) crud.add_record(options) logger.debug("Added DHCP reservation for #{options[:ip]}/#{options[:mac]}") restart_grid.try_restart end
all_hosts(network_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 30 def all_hosts(network_address) crud.all_hosts(full_network_address(network_address)) end
all_leases(network_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 34 def all_leases(network_address) crud.all_leases(full_network_address(network_address)) end
del_record(record)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 56 def del_record(record) crud.del_record(full_network_address(record.subnet_address), record) logger.debug("Removed DHCP reservation for #{record.ip} => #{record}") restart_grid.try_restart end
del_record_by_mac(_, mac_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 62 def del_record_by_mac(_, mac_address) crud.del_record_by_mac(mac_address) logger.debug("Removed DHCP reservation for #{mac_address}") restart_grid.try_restart end
del_records_by_ip(_, ip_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 68 def del_records_by_ip(_, ip_address) crud.del_records_by_ip(ip_address) logger.debug("Removed DHCP reservation(s) for #{ip_address}") restart_grid.try_restart end
find_network(network_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 78 def find_network(network_address) network = ::Infoblox::Network.find(connection, 'network~' => network_address, '_max_results' => 1).first raise "Subnet #{network_address} not found" if network.nil? network end
find_record(subnet_address, an_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 38 def find_record(subnet_address, an_address) crud.find_record(full_network_address(subnet_address), an_address) end
find_record_by_mac(subnet_address, mac_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 42 def find_record_by_mac(subnet_address, mac_address) crud.find_record_by_mac(full_network_address(subnet_address), mac_address) end
find_records_by_ip(subnet_address, ip_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 46 def find_records_by_ip(subnet_address, ip_address) crud.find_records_by_ip(full_network_address(subnet_address), ip_address) end
find_subnet(address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 20 def find_subnet(address);::Proxy::DHCP::Subnet.new(address, '255.255.255.0'); end
full_network_address(network_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 84 def full_network_address(network_address) find_network(network_address).network end
subnets()
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 22 def subnets ::Infoblox::Network.all(connection).map do |network| address, prefix_length = network.network.split("/") netmask = cidr_to_ip_mask(prefix_length.to_i) managed_subnet?("#{address}/#{netmask}") ? Proxy::DHCP::Subnet.new(address, netmask, {}) : nil end.compact end
unused_ip(subnet, _, from_ip_address, to_ip_address)
click to toggle source
# File lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb, line 74 def unused_ip(subnet, _, from_ip_address, to_ip_address) unused_ips.unused_ip(subnet, from_ip_address, to_ip_address) end