Sha256: 2a0ba6332637d1ccd7ea3a0946ddb12457acc55a6b8433525711bd5d78b4f5b2

Contents?: true

Size: 789 Bytes

Versions: 34

Compression:

Stored size: 789 Bytes

Contents

# frozen_string_literal: true

module Facts
  module Linux
    class DhcpServers
      FACT_NAME = 'dhcp_servers'
      TYPE = :legacy

      def call_the_resolver
        fact_value = construct_addresses_hash
        fact_value = !fact_value || fact_value.empty? ? nil : fact_value
        Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
      end

      private

      def construct_addresses_hash
        primary_dhcp = Facter::Resolvers::Linux::Networking.resolve(:dhcp)
        interfaces = Facter::Resolvers::Linux::Networking.resolve(:interfaces)
        return unless interfaces

        servers = { system: primary_dhcp }
        interfaces&.each { |interface_name, info| servers[interface_name] = info[:dhcp] if info[:dhcp] }
        servers
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
facter-4.10.0 lib/facter/facts/linux/dhcp_servers.rb
facter-4.9.0 lib/facter/facts/linux/dhcp_servers.rb
facter-4.8.0 lib/facter/facts/linux/dhcp_servers.rb
facter-4.7.1 lib/facter/facts/linux/dhcp_servers.rb
facter-4.7.0 lib/facter/facts/linux/dhcp_servers.rb
facter-4.6.1 lib/facter/facts/linux/dhcp_servers.rb
facter-4.6.0 lib/facter/facts/linux/dhcp_servers.rb
facter-4.5.2 lib/facter/facts/linux/dhcp_servers.rb
facter-4.5.1 lib/facter/facts/linux/dhcp_servers.rb
facter-4.5.0 lib/facter/facts/linux/dhcp_servers.rb
facter-4.4.3 lib/facter/facts/linux/dhcp_servers.rb
facter-4.4.2 lib/facter/facts/linux/dhcp_servers.rb
facter-4.4.1 lib/facter/facts/linux/dhcp_servers.rb
facter-4.4.0 lib/facter/facts/linux/dhcp_servers.rb
facter-4.3.1 lib/facter/facts/linux/dhcp_servers.rb
facter-4.3.0 lib/facter/facts/linux/dhcp_servers.rb
facter-4.2.14 lib/facter/facts/linux/dhcp_servers.rb
facter-4.2.13 lib/facter/facts/linux/dhcp_servers.rb
facter-4.2.12 lib/facter/facts/linux/dhcp_servers.rb
facter-4.2.11 lib/facter/facts/linux/dhcp_servers.rb