Sha256: fd83b1e12c874127e70273a8ce6ab691a887c7f9df5dda51b770d76e665ebb24

Contents?: true

Size: 738 Bytes

Versions: 11

Compression:

Stored size: 738 Bytes

Contents

# frozen_string_literal: true

module Facts
  module Windows
    class DhcpServers
      FACT_NAME = 'dhcp_servers'

      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
        interfaces = Facter::Resolvers::Windows::Networking.resolve(:interfaces)
        return unless interfaces

        servers = { system: Facter::Resolvers::Windows::Networking.resolve(:dhcp) }
        interfaces&.each { |interface_name, info| servers[interface_name] = info[:dhcp] if info[:dhcp] }
        servers
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
facter-4.0.46 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.44 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.43 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.42 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.41 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.40 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.39 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.38 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.37 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.36 lib/facter/facts/windows/dhcp_servers.rb
facter-4.0.35 lib/facter/facts/windows/dhcp_servers.rb