class Facter::Resolvers::Solaris::Ldom
Constants
- VIRTINFO_MAPPING
Private Class Methods
call_virtinfo(fact_name)
click to toggle source
# File lib/facter/resolvers/solaris/ldom.rb, line 37 def call_virtinfo(fact_name) # return unless File.executable?('/usr/sbin/virtinfo') virtinfo_output = Facter::Core::Execution.execute('/usr/sbin/virtinfo -a -p', logger: log) return if virtinfo_output.empty? output_hash = parse_output(virtinfo_output) return if output_hash.empty? VIRTINFO_MAPPING.each do |key, value| @fact_list[key] = output_hash.dig(*value)&.strip end @fact_list[fact_name] end
parse_output(output)
click to toggle source
# File lib/facter/resolvers/solaris/ldom.rb, line 53 def parse_output(output) result = {} output.each_line do |line| next unless line.include? 'DOMAIN' x = line.split('|') result[x.shift] = x.map { |f| f.split('=') }.to_h end result end
post_resolve(fact_name)
click to toggle source
# File lib/facter/resolvers/solaris/ldom.rb, line 33 def post_resolve(fact_name) @fact_list.fetch(fact_name) { call_virtinfo(fact_name) } end