Sha256: cc6788c2e35e6927b4c59d586767faa806a8d647a584c2e7e32df37fba1e8a4c
Contents?: true
Size: 1013 Bytes
Versions: 4
Compression:
Stored size: 1013 Bytes
Contents
# Fact: dhcp_servers # # Purpose: # Return the DHCP server addresses for all interfaces as a hash. # If the interface that is the default gateway is dhcp assigned, there # will also be a 'system' entry in the hash. # # Resolution: # Parses the output of nmcli to find the DHCP server for the interface if available # # Caveats: # Requires nmcli to be available and the interface must use network-manager. # require 'facter' require 'facter/util/dhcp_servers' Facter.add(:dhcp_servers) do confine :kernel => :linux confine do Facter::Core::Execution.which('nmcli') end setcode do gwdev = Facter::Util::DHCPServers.gateway_device devices = Facter::Util::DHCPServers.devices dhcp_servers = {} devices.each do |device| if server = Facter::Util::DHCPServers.device_dhcp_server(device) dhcp_servers['system'] = server if device == gwdev dhcp_servers[device] = server end end dhcp_servers.keys.length > 0 ? dhcp_servers : nil end end
Version data entries
4 entries across 4 versions & 1 rubygems