class ForemanSalt::FactParser
def interfaces
def interfaces interfaces = {} facts.each do |fact, value| next unless value && fact.to_s =~ /^ip_interfaces/ (_, interface_name) = fact.split(FactName::SEPARATOR) next if (IPAddr.new('fe80::/10').include?(value) rescue false) if !interface_name.blank? && interface_name != 'lo' interface = interfaces.fetch(interface_name, {}) interface[:macaddress] = macs[interface_name] if Net::Validations.validate_ip6(value) interface[:ipaddress6] = value unless interface.include?(:ipaddress6) else interface[:ipaddress] = value unless interface.include?(:ipaddress) end interfaces[interface_name] = interface end end interfaces.each do |name, interface| set_additional_attributes(interface, name) end interfaces end