Sha256: bc49658321bceb1d968b199994972edd8ce302504c46c45d53fc102db5864a32
Contents?: true
Size: 1.06 KB
Versions: 7
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true module Facter module Resolvers module Freebsd class Virtual < BaseResolver init_resolver class << self # :model VM_GUEST_SYSCTL_NAMES = { 'hv' => 'hyperv', 'microsoft' => 'hyperv', 'oracle' => 'virtualbox', 'xen' => 'xenu', 'none' => nil }.freeze private def post_resolve(fact_name, _options) @fact_list.fetch(fact_name) { read_facts(fact_name) } end def read_facts(fact_name) require_relative 'ffi/ffi_helper' if Facter::Freebsd::FfiHelper.sysctl_by_name(:long, 'security.jail.jailed').zero? vm = Facter::Freebsd::FfiHelper.sysctl_by_name(:string, 'kern.vm_guest') vm = VM_GUEST_SYSCTL_NAMES[vm] if VM_GUEST_SYSCTL_NAMES.key?(vm) @fact_list[:vm] = vm else @fact_list[:vm] = 'jail' end @fact_list[fact_name] end end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems