Class: Facts::Solaris::Ldom
- Inherits:
 - 
      Object
      
        
- Object
 - Facts::Solaris::Ldom
 
 
- Defined in:
 - lib/facter/facts/solaris/ldom.rb
 
Constant Summary collapse
- 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
Instance Method Summary collapse
- #call_the_resolver ⇒ Object
 - #create_resolved_facts_list(fact_value) ⇒ Object
 - 
  
    
      #initialize  ⇒ Ldom 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Ldom.
 - #resolve(key) ⇒ Object
 - #resolve_fact ⇒ Object
 
Constructor Details
Instance Method Details
#call_the_resolver ⇒ Object
      23 24 25 26 27 28 29  | 
    
      # File 'lib/facter/facts/solaris/ldom.rb', line 23 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  | 
  
#create_resolved_facts_list(fact_value) ⇒ Object
      54 55 56 57 58 59 60 61 62  | 
    
      # File 'lib/facter/facts/solaris/ldom.rb', line 54 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..-1].map!(&:to_sym) resolved_facts << Facter::ResolvedFact.new(fact_alias, fact_value.dig(*key), :legacy) end resolved_facts end  | 
  
#resolve(key) ⇒ Object
      50 51 52  | 
    
      # File 'lib/facter/facts/solaris/ldom.rb', line 50 def resolve(key) Facter::Resolvers::Solaris::Ldom.resolve(key) end  | 
  
#resolve_fact ⇒ Object
      31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48  | 
    
      # File 'lib/facter/facts/solaris/ldom.rb', line 31 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  |