class Facts::Macosx::IsVirtual

Constants

FACT_NAME

Public Instance Methods

call_the_resolver() click to toggle source
# File lib/facter/facts/macosx/is_virtual.rb, line 8
def call_the_resolver
  Facter::ResolvedFact.new(FACT_NAME, virtual?)
end

Private Instance Methods

hypervisor_name() click to toggle source
# File lib/facter/facts/macosx/is_virtual.rb, line 18
def hypervisor_name
  model_identifier = Facter::Resolvers::Macosx::SystemProfiler.resolve(:model_identifier)
  return 'vmware' if model_identifier&.start_with?('VMware')

  boot_rom_version = Facter::Resolvers::Macosx::SystemProfiler.resolve(:boot_rom_version)
  return 'virtualbox' if boot_rom_version&.start_with?('VirtualBox')

  subsystem_vendor_id = Facter::Resolvers::Macosx::SystemProfiler.resolve(:subsystem_vendor_id)
  return 'parallels' if subsystem_vendor_id&.start_with?('0x1ab8')
end
virtual?() click to toggle source
# File lib/facter/facts/macosx/is_virtual.rb, line 14
def virtual?
  hypervisor_name != nil
end