Class: Facts::Linux::Scope6Interfaces

Inherits:
Object
  • Object
show all
Defined in:
lib/facts/linux/scope6_interfaces.rb

Constant Summary collapse

FACT_NAME =
'scope6_.*'
TYPE =
:legacy

Instance Method Summary collapse

Instance Method Details

#call_the_resolverObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/facts/linux/scope6_interfaces.rb', line 9

def call_the_resolver
  resolved_facts = []
  scope6_interfaces = {}
  interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
  primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)
  interfaces&.each do |interface_name, info|
    scope6_interfaces["scope6_#{interface_name}"] = info[:scope6] if info[:scope6]
  end

  scope6_interfaces.each { |fact, value| resolved_facts << Facter::ResolvedFact.new(fact, value, :legacy) }
  if interfaces && primary
    resolved_facts << Facter::ResolvedFact.new('scope6', interfaces[primary][:scope6], :legacy)
  end
  resolved_facts
end