Sha256: b38b1e8b57639bc8741fc37d4a3297c3e088e6fa161e72634ebe3a1fdde9955a
Contents?: true
Size: 1.71 KB
Versions: 2
Compression:
Stored size: 1.71 KB
Contents
# frozen_string_literal: true module Facts module Solaris class Ldom FACT_NAME = 'ldom' ALIASES = %w[ ldom_domainchassis ldom_domaincontrol ldom_domainname ldom_domainrole_control ldom_domainrole_impl ldom_domainrole_io ldom_domainrole_root ldom_domainrole_service ldom_domainuuid ].freeze def initialize @log = Facter::Log.new(self) end def call_the_resolver @log.debug('Solving the ldom fact.') fact_value = resolve_fact return Facter::ResolvedFact.new(FACT_NAME, nil) if fact_value.nil? create_resolved_facts_list(fact_value) end def resolve_fact chassis_serial = resolve(:chassis_serial) return nil if !chassis_serial || chassis_serial.empty? { domainchassis: chassis_serial, domaincontrol: resolve(:control_domain), domainname: resolve(:domain_name), domainrole: { control: resolve(:role_control), impl: resolve(:role_impl), io: resolve(:role_io), root: resolve(:role_root), service: resolve(:role_service) }, domainuuid: resolve(:domain_uuid) } end def resolve(key) Facter::Resolvers::Solaris::Ldom.resolve(key) end def create_resolved_facts_list(fact_value) resolved_facts = [Facter::ResolvedFact.new(FACT_NAME, fact_value)] ALIASES.each do |fact_alias| key = fact_alias.split('_')[1..].map!(&:to_sym) resolved_facts << Facter::ResolvedFact.new(fact_alias, fact_value.dig(*key), :legacy) end resolved_facts end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
facter-4.6.1 | lib/facter/facts/solaris/ldom.rb |
facter-4.6.0 | lib/facter/facts/solaris/ldom.rb |