Sha256: 02b0465bd0b741a1d51e33e84383a5fbd047f9a4bc36cdf773a03e995b07794e
Contents?: true
Size: 955 Bytes
Versions: 13
Compression:
Stored size: 955 Bytes
Contents
# frozen_string_literal: true module Facter module Resolvers module Aix class Networking < BaseResolver @semaphore = Mutex.new @fact_list ||= {} class << self private def post_resolve(fact_name) @fact_list.fetch(fact_name) { read_netstat(fact_name) } end def read_netstat(fact_name) output, _status = Open3.capture2('netstat -rn') output = output.split("\n").select { |line| (line =~ /\s\s[0-9]+.[0-9]+.[0-9]+.[0-9]+|\s\s.*:[0-9a-f]+/) } get_primary_interface_info(output) @fact_list[fact_name] end def get_primary_interface_info(output) primary_interface_info = output.find { |line| line =~ /=>/ }.split(' ') @fact_list[:primary] = primary_interface_info[5] @fact_list[:ip] = primary_interface_info[1] end end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems