Skip to content

Commit

Permalink
(FACT-2232) Add Aix networking facts
Browse files Browse the repository at this point in the history
  • Loading branch information
Oana Tanasoiu committed Jun 29, 2020
1 parent cee5659 commit 2fe8842
Show file tree
Hide file tree
Showing 45 changed files with 1,184 additions and 16 deletions.
16 changes: 16 additions & 0 deletions lib/facts/aix/interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# frozen_string_literal: true

module Facts
module Aix
class Interfaces
FACT_NAME = 'interfaces'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
fact_value = fact_value&.any? ? fact_value.keys.sort.join(',') : nil

Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/ipaddress6_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class Ipaddress6Interfaces
FACT_NAME = 'ipaddress6_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("ipaddress6_#{interface_name}", info[:ip6], :legacy) if info[:ip6]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/ipaddress_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class IpaddressInterfaces
FACT_NAME = 'ipaddress_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("ipaddress_#{interface_name}", info[:ip], :legacy) if info[:ip]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/macaddress_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class MacaddressInterfaces
FACT_NAME = 'macaddress_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("macaddress_#{interface_name}", info[:mac], :legacy) if info[:mac]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/mtu_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class MtuInterfaces
FACT_NAME = 'mtu_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("mtu_#{interface_name}", info[:mtu], :legacy) if info[:mtu]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/netmask6_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class Netmask6Interfaces
FACT_NAME = 'netmask6_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("netmask6_#{interface_name}", info[:netmask6], :legacy) if info[:netmask6]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/netmask_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class NetmaskInterfaces
FACT_NAME = 'netmask_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("netmask_#{interface_name}", info[:netmask], :legacy) if info[:netmask]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/network6_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class Network6Interfaces
FACT_NAME = 'network6_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("network6_#{interface_name}", info[:network6], :legacy) if info[:network6]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/network_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class NetworkInterfaces
FACT_NAME = 'network_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("network_#{interface_name}", info[:network], :legacy) if info[:network]
end

arr
end
end
end
end
18 changes: 18 additions & 0 deletions lib/facts/aix/networking/interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Interfaces
FACT_NAME = 'networking.interfaces'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
fact_value = fact_value&.any? ? fact_value : nil

Facter::ResolvedFact.new(FACT_NAME, fact_value)
end
end
end
end
end
18 changes: 18 additions & 0 deletions lib/facts/aix/networking/ip6.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Ip6
FACT_NAME = 'networking.ip6'
ALIASES = 'ipaddress6'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:ip6)

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
18 changes: 18 additions & 0 deletions lib/facts/aix/networking/mac.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Mac
FACT_NAME = 'networking.mac'
ALIASES = 'macaddress'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:mac)

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
17 changes: 17 additions & 0 deletions lib/facts/aix/networking/mtu.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Mtu
FACT_NAME = 'networking.mtu'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:mtu)

Facter::ResolvedFact.new(FACT_NAME, fact_value)
end
end
end
end
end
18 changes: 18 additions & 0 deletions lib/facts/aix/networking/netmask.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Netmask
FACT_NAME = 'networking.netmask'
ALIASES = 'netmask'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:netmask)

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
18 changes: 18 additions & 0 deletions lib/facts/aix/networking/netmask6.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Netmask6
FACT_NAME = 'networking.netmask6'
ALIASES = 'netmask6'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:netmask6)

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
18 changes: 18 additions & 0 deletions lib/facts/aix/networking/network.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Network
FACT_NAME = 'networking.network'
ALIASES = 'network'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:network)

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
18 changes: 18 additions & 0 deletions lib/facts/aix/networking/network6.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Network6
FACT_NAME = 'networking.network6'
ALIASES = 'network6'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:network6)

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
2 changes: 1 addition & 1 deletion lib/facts/aix/networking/primary.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class Primary
FACT_NAME = 'networking.primary'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:primary)
fact_value = Facter::Resolvers::Aix::Networking.resolve(:primary_interface)

Facter::ResolvedFact.new(FACT_NAME, fact_value)
end
Expand Down
17 changes: 17 additions & 0 deletions lib/facts/aix/networking/scope6.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# frozen_string_literal: true

module Facts
module Aix
module Networking
class Scope6
FACT_NAME = 'networking.scope6'

def call_the_resolver
fact_value = Facter::Resolvers::Aix::Networking.resolve(:scope6)

Facter::ResolvedFact.new(FACT_NAME, fact_value)
end
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/aix/processor.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Aix
class Processor
FACT_NAME = 'processor.*'
TYPE = :legacy

def call_the_resolver
arr = []
processors = Facter::Resolvers::Aix::Processors.resolve(:models)

processors.count.times do |iterator|
arr << Facter::ResolvedFact.new("processor#{iterator}", processors[iterator], :legacy)
end
arr
end
end
end
end
Loading

0 comments on commit 2fe8842

Please sign in to comment.