# frozen_string_literal: true # arpa_fact.rb require 'facter' Facter.add(:arpa) do setcode do arpa_info = {} Facter.value(:networking)['interfaces'].each do |interface_name, values| next unless values.key?('ip') ip_address = values['ip'] reversed_ip_parts = ip_address.split('.').reverse addr = "#{reversed_ip_parts.join('.')}.in-addr.arpa" trimmed_ip_parts = reversed_ip_parts[1..] zone = "#{trimmed_ip_parts.join('.')}.in-addr.arpa" arpa_info[interface_name] = { 'zone' => zone, 'addr' => addr } end arpa_info end end