Class: Facts::Linux::Ec2Userdata
- Inherits:
-
Object
- Object
- Facts::Linux::Ec2Userdata
- Defined in:
- lib/facter/facts/linux/ec2_userdata.rb
Constant Summary collapse
- FACT_NAME =
'ec2_userdata'
Instance Method Summary collapse
- #aws? ⇒ Boolean
- #call_the_resolver ⇒ Object
- #check_bios_vendor ⇒ Object
- #check_lspci ⇒ Object
- #check_product_name ⇒ Object
- #check_virt_what ⇒ Object
- #check_xen ⇒ Object
Instance Method Details
#aws? ⇒ Boolean
16 17 18 19 20 |
# File 'lib/facter/facts/linux/ec2_userdata.rb', line 16 def aws? virtual = check_virt_what || check_xen || check_product_name || check_bios_vendor || check_lspci virtual == 'kvm' || virtual =~ /xen/ end |
#call_the_resolver ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/facter/facts/linux/ec2_userdata.rb', line 8 def call_the_resolver return Facter::ResolvedFact.new(FACT_NAME, nil) unless aws? fact_value = Facter::Resolvers::Ec2.resolve(:userdata) Facter::ResolvedFact.new(FACT_NAME, fact_value.empty? ? nil : fact_value) end |
#check_bios_vendor ⇒ Object
37 38 39 40 |
# File 'lib/facter/facts/linux/ec2_userdata.rb', line 37 def check_bios_vendor bios_vendor = Facter::Resolvers::Linux::DmiBios.resolve(:bios_vendor) return 'kvm' if bios_vendor&.include?('Amazon EC2') end |
#check_lspci ⇒ Object
42 43 44 |
# File 'lib/facter/facts/linux/ec2_userdata.rb', line 42 def check_lspci Facter::Resolvers::Lspci.resolve(:vm) end |
#check_product_name ⇒ Object
30 31 32 33 34 35 |
# File 'lib/facter/facts/linux/ec2_userdata.rb', line 30 def check_product_name product_name = Facter::Resolvers::Linux::DmiBios.resolve(:product_name) return unless product_name Facter::FactsUtils::HYPERVISORS_HASH.each { |key, value| return value if product_name.include?(key) } end |