Class: Facts::Linux::Hypervisors::VirtualBox

Inherits:
Object
  • Object
show all
Defined in:
lib/facter/facts/linux/hypervisors/virtualbox.rb

Constant Summary collapse

FACT_NAME =
'hypervisors.virtualbox'

Instance Method Summary collapse

Instance Method Details

#call_the_resolverObject



9
10
11
12
# File 'lib/facter/facts/linux/hypervisors/virtualbox.rb', line 9

def call_the_resolver
  fact_value = check_virtualbox
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
end

#check_virtualboxObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/facter/facts/linux/hypervisors/virtualbox.rb', line 14

def check_virtualbox
  virtualbox_details = nil

  if Facter::Resolvers::Linux::DmiBios.resolve(:product_name) == 'VirtualBox' ||
     Facter::Resolvers::VirtWhat.resolve(:vm) =~ /virtualbox/ ||
     Facter::Resolvers::Lspci.resolve(:vm) == 'virtualbox'

    virtualbox_details = {}

    version = Facter::Resolvers::DmiDecode.resolve(:virtualbox_version)
    revision = Facter::Resolvers::DmiDecode.resolve(:virtualbox_revision)

    virtualbox_details[:version] = version if version
    virtualbox_details[:revision] = revision if revision
  end

  virtualbox_details
end