openfact 5.0.0.rc0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +202 -0
- data/bin/facter +10 -0
- data/lib/docs/generate.rb +32 -0
- data/lib/docs/generate_cli.rb +7 -0
- data/lib/docs/template.erb +34 -0
- data/lib/facter/config.rb +405 -0
- data/lib/facter/custom_facts/core/aggregate.rb +279 -0
- data/lib/facter/custom_facts/core/directed_graph.rb +45 -0
- data/lib/facter/custom_facts/core/execution/base.rb +147 -0
- data/lib/facter/custom_facts/core/execution/popen3.rb +59 -0
- data/lib/facter/custom_facts/core/execution/posix.rb +59 -0
- data/lib/facter/custom_facts/core/execution/windows.rb +77 -0
- data/lib/facter/custom_facts/core/execution.rb +153 -0
- data/lib/facter/custom_facts/core/file_loader.rb +23 -0
- data/lib/facter/custom_facts/core/legacy_facter.rb +205 -0
- data/lib/facter/custom_facts/core/resolvable.rb +114 -0
- data/lib/facter/custom_facts/core/suitable.rb +110 -0
- data/lib/facter/custom_facts/util/collection.rb +188 -0
- data/lib/facter/custom_facts/util/composite_loader.rb +18 -0
- data/lib/facter/custom_facts/util/config.rb +96 -0
- data/lib/facter/custom_facts/util/confine.rb +81 -0
- data/lib/facter/custom_facts/util/directory_loader.rb +149 -0
- data/lib/facter/custom_facts/util/fact.rb +268 -0
- data/lib/facter/custom_facts/util/loader.rb +143 -0
- data/lib/facter/custom_facts/util/normalization.rb +89 -0
- data/lib/facter/custom_facts/util/nothing_loader.rb +12 -0
- data/lib/facter/custom_facts/util/parser.rb +221 -0
- data/lib/facter/custom_facts/util/resolution.rb +198 -0
- data/lib/facter/custom_facts/util/unix_root.rb +11 -0
- data/lib/facter/custom_facts/util/values.rb +109 -0
- data/lib/facter/custom_facts/util/windows_root.rb +15 -0
- data/lib/facter/facts/aix/aio_agent_version.rb +14 -0
- data/lib/facter/facts/aix/augeas/version.rb +19 -0
- data/lib/facter/facts/aix/disks.rb +32 -0
- data/lib/facter/facts/aix/facterversion.rb +15 -0
- data/lib/facter/facts/aix/filesystems.rb +14 -0
- data/lib/facter/facts/aix/hypervisors/lpar.rb +20 -0
- data/lib/facter/facts/aix/hypervisors/wpar.rb +19 -0
- data/lib/facter/facts/aix/identity/gid.rb +16 -0
- data/lib/facter/facts/aix/identity/group.rb +18 -0
- data/lib/facter/facts/aix/identity/privileged.rb +16 -0
- data/lib/facter/facts/aix/identity/uid.rb +16 -0
- data/lib/facter/facts/aix/identity/user.rb +17 -0
- data/lib/facter/facts/aix/interfaces.rb +17 -0
- data/lib/facter/facts/aix/ipaddress6_interfaces.rb +20 -0
- data/lib/facter/facts/aix/ipaddress_interfaces.rb +20 -0
- data/lib/facter/facts/aix/kernel.rb +15 -0
- data/lib/facter/facts/aix/kernelmajversion.rb +16 -0
- data/lib/facter/facts/aix/kernelrelease.rb +15 -0
- data/lib/facter/facts/aix/kernelversion.rb +16 -0
- data/lib/facter/facts/aix/load_averages.rb +14 -0
- data/lib/facter/facts/aix/macaddress_interfaces.rb +20 -0
- data/lib/facter/facts/aix/memory/swap/available.rb +22 -0
- data/lib/facter/facts/aix/memory/swap/available_bytes.rb +22 -0
- data/lib/facter/facts/aix/memory/swap/capacity.rb +20 -0
- data/lib/facter/facts/aix/memory/swap/total.rb +22 -0
- data/lib/facter/facts/aix/memory/swap/total_bytes.rb +22 -0
- data/lib/facter/facts/aix/memory/swap/used.rb +21 -0
- data/lib/facter/facts/aix/memory/swap/used_bytes.rb +19 -0
- data/lib/facter/facts/aix/memory/system/available.rb +22 -0
- data/lib/facter/facts/aix/memory/system/available_bytes.rb +22 -0
- data/lib/facter/facts/aix/memory/system/capacity.rb +20 -0
- data/lib/facter/facts/aix/memory/system/total.rb +22 -0
- data/lib/facter/facts/aix/memory/system/total_bytes.rb +22 -0
- data/lib/facter/facts/aix/memory/system/used.rb +21 -0
- data/lib/facter/facts/aix/memory/system/used_bytes.rb +19 -0
- data/lib/facter/facts/aix/mountpoints.rb +15 -0
- data/lib/facter/facts/aix/mtu_interfaces.rb +20 -0
- data/lib/facter/facts/aix/netmask6_interfaces.rb +20 -0
- data/lib/facter/facts/aix/netmask_interfaces.rb +20 -0
- data/lib/facter/facts/aix/network6_interfaces.rb +20 -0
- data/lib/facter/facts/aix/network_interfaces.rb +20 -0
- data/lib/facter/facts/aix/networking/domain.rb +17 -0
- data/lib/facter/facts/aix/networking/fqdn.rb +17 -0
- data/lib/facter/facts/aix/networking/hostname.rb +17 -0
- data/lib/facter/facts/aix/networking/interfaces.rb +18 -0
- data/lib/facter/facts/aix/networking/ip.rb +18 -0
- data/lib/facter/facts/aix/networking/ip6.rb +18 -0
- data/lib/facter/facts/aix/networking/mac.rb +18 -0
- data/lib/facter/facts/aix/networking/mtu.rb +17 -0
- data/lib/facter/facts/aix/networking/netmask.rb +18 -0
- data/lib/facter/facts/aix/networking/netmask6.rb +18 -0
- data/lib/facter/facts/aix/networking/network.rb +18 -0
- data/lib/facter/facts/aix/networking/network6.rb +18 -0
- data/lib/facter/facts/aix/networking/primary.rb +17 -0
- data/lib/facter/facts/aix/networking/scope6.rb +19 -0
- data/lib/facter/facts/aix/nim_type.rb +15 -0
- data/lib/facter/facts/aix/os/architecture.rb +18 -0
- data/lib/facter/facts/aix/os/family.rb +18 -0
- data/lib/facter/facts/aix/os/hardware.rb +18 -0
- data/lib/facter/facts/aix/os/name.rb +18 -0
- data/lib/facter/facts/aix/os/release.rb +21 -0
- data/lib/facter/facts/aix/partitions.rb +15 -0
- data/lib/facter/facts/aix/path.rb +14 -0
- data/lib/facter/facts/aix/processor.rb +20 -0
- data/lib/facter/facts/aix/processors/cores.rb +16 -0
- data/lib/facter/facts/aix/processors/count.rb +17 -0
- data/lib/facter/facts/aix/processors/isa.rb +18 -0
- data/lib/facter/facts/aix/processors/models.rb +16 -0
- data/lib/facter/facts/aix/processors/speed.rb +17 -0
- data/lib/facter/facts/aix/processors/threads.rb +16 -0
- data/lib/facter/facts/aix/ruby/platform.rb +17 -0
- data/lib/facter/facts/aix/ruby/sitedir.rb +17 -0
- data/lib/facter/facts/aix/ruby/version.rb +17 -0
- data/lib/facter/facts/aix/scope6_interfaces.rb +23 -0
- data/lib/facter/facts/aix/serialnumber.rb +20 -0
- data/lib/facter/facts/aix/ssh.rb +36 -0
- data/lib/facter/facts/aix/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/aix/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/aix/system_uptime/days.rb +17 -0
- data/lib/facter/facts/aix/system_uptime/hours.rb +17 -0
- data/lib/facter/facts/aix/system_uptime/seconds.rb +17 -0
- data/lib/facter/facts/aix/system_uptime/uptime.rb +17 -0
- data/lib/facter/facts/aix/timezone.rb +14 -0
- data/lib/facter/facts/alpine/os/release.rb +29 -0
- data/lib/facter/facts/amzn/lsbdistcodename.rb +16 -0
- data/lib/facter/facts/amzn/lsbdistdescription.rb +16 -0
- data/lib/facter/facts/amzn/lsbdistid.rb +16 -0
- data/lib/facter/facts/amzn/os/distro/codename.rb +24 -0
- data/lib/facter/facts/amzn/os/distro/description.rb +21 -0
- data/lib/facter/facts/amzn/os/distro/id.rb +21 -0
- data/lib/facter/facts/amzn/os/distro/release.rb +37 -0
- data/lib/facter/facts/amzn/os/release.rb +34 -0
- data/lib/facter/facts/archlinux/os/release.rb +21 -0
- data/lib/facter/facts/azurelinux/os/release.rb +35 -0
- data/lib/facter/facts/bsd/kernelmajversion.rb +16 -0
- data/lib/facter/facts/bsd/kernelversion.rb +14 -0
- data/lib/facter/facts/bsd/load_averages.rb +14 -0
- data/lib/facter/facts/bsd/os/family.rb +18 -0
- data/lib/facter/facts/bsd/processors/count.rb +17 -0
- data/lib/facter/facts/bsd/processors/models.rb +23 -0
- data/lib/facter/facts/bsd/processors/speed.rb +17 -0
- data/lib/facter/facts/debian/architecture.rb +20 -0
- data/lib/facter/facts/debian/lsbdistcodename.rb +16 -0
- data/lib/facter/facts/debian/lsbdistdescription.rb +16 -0
- data/lib/facter/facts/debian/lsbdistid.rb +16 -0
- data/lib/facter/facts/debian/os/distro/codename.rb +30 -0
- data/lib/facter/facts/debian/os/distro/description.rb +19 -0
- data/lib/facter/facts/debian/os/distro/id.rb +19 -0
- data/lib/facter/facts/debian/os/distro/release.rb +38 -0
- data/lib/facter/facts/debian/os/release.rb +36 -0
- data/lib/facter/facts/devuan/os/distro/release.rb +36 -0
- data/lib/facter/facts/devuan/os/release.rb +29 -0
- data/lib/facter/facts/freebsd/augeas/version.rb +19 -0
- data/lib/facter/facts/freebsd/disks.rb +15 -0
- data/lib/facter/facts/freebsd/dmi/bios/release_date.rb +19 -0
- data/lib/facter/facts/freebsd/dmi/bios/vendor.rb +19 -0
- data/lib/facter/facts/freebsd/dmi/bios/version.rb +19 -0
- data/lib/facter/facts/freebsd/dmi/manufacturer.rb +17 -0
- data/lib/facter/facts/freebsd/dmi/product/name.rb +19 -0
- data/lib/facter/facts/freebsd/dmi/product/serial_number.rb +19 -0
- data/lib/facter/facts/freebsd/dmi/product/uuid.rb +19 -0
- data/lib/facter/facts/freebsd/ec2_metadata.rb +23 -0
- data/lib/facter/facts/freebsd/ec2_userdata.rb +23 -0
- data/lib/facter/facts/freebsd/facterversion.rb +14 -0
- data/lib/facter/facts/freebsd/identity/gid.rb +16 -0
- data/lib/facter/facts/freebsd/identity/group.rb +18 -0
- data/lib/facter/facts/freebsd/identity/privileged.rb +16 -0
- data/lib/facter/facts/freebsd/identity/uid.rb +16 -0
- data/lib/facter/facts/freebsd/identity/user.rb +17 -0
- data/lib/facter/facts/freebsd/ipaddress6_interfaces.rb +20 -0
- data/lib/facter/facts/freebsd/ipaddress_interfaces.rb +20 -0
- data/lib/facter/facts/freebsd/is_virtual.rb +21 -0
- data/lib/facter/facts/freebsd/kernel.rb +14 -0
- data/lib/facter/facts/freebsd/kernelrelease.rb +14 -0
- data/lib/facter/facts/freebsd/memory/swap/available.rb +21 -0
- data/lib/facter/facts/freebsd/memory/swap/available_bytes.rb +20 -0
- data/lib/facter/facts/freebsd/memory/swap/capacity.rb +18 -0
- data/lib/facter/facts/freebsd/memory/swap/encrypted.rb +19 -0
- data/lib/facter/facts/freebsd/memory/swap/total.rb +21 -0
- data/lib/facter/facts/freebsd/memory/swap/total_bytes.rb +20 -0
- data/lib/facter/facts/freebsd/memory/swap/used.rb +20 -0
- data/lib/facter/facts/freebsd/memory/swap/used_bytes.rb +18 -0
- data/lib/facter/facts/freebsd/memory/system/available.rb +21 -0
- data/lib/facter/facts/freebsd/memory/system/available_bytes.rb +20 -0
- data/lib/facter/facts/freebsd/memory/system/capacity.rb +18 -0
- data/lib/facter/facts/freebsd/memory/system/total.rb +21 -0
- data/lib/facter/facts/freebsd/memory/system/total_bytes.rb +20 -0
- data/lib/facter/facts/freebsd/memory/system/used.rb +20 -0
- data/lib/facter/facts/freebsd/memory/system/used_bytes.rb +18 -0
- data/lib/facter/facts/freebsd/mountpoints.rb +21 -0
- data/lib/facter/facts/freebsd/netmask6_interfaces.rb +20 -0
- data/lib/facter/facts/freebsd/netmask_interfaces.rb +20 -0
- data/lib/facter/facts/freebsd/network6_interfaces.rb +20 -0
- data/lib/facter/facts/freebsd/network_interfaces.rb +20 -0
- data/lib/facter/facts/freebsd/networking/dhcp.rb +17 -0
- data/lib/facter/facts/freebsd/networking/domain.rb +18 -0
- data/lib/facter/facts/freebsd/networking/fqdn.rb +18 -0
- data/lib/facter/facts/freebsd/networking/hostname.rb +18 -0
- data/lib/facter/facts/freebsd/networking/interfaces.rb +17 -0
- data/lib/facter/facts/freebsd/networking/ip.rb +18 -0
- data/lib/facter/facts/freebsd/networking/ip6.rb +18 -0
- data/lib/facter/facts/freebsd/networking/mac.rb +18 -0
- data/lib/facter/facts/freebsd/networking/mtu.rb +17 -0
- data/lib/facter/facts/freebsd/networking/netmask.rb +18 -0
- data/lib/facter/facts/freebsd/networking/netmask6.rb +18 -0
- data/lib/facter/facts/freebsd/networking/network.rb +18 -0
- data/lib/facter/facts/freebsd/networking/network6.rb +18 -0
- data/lib/facter/facts/freebsd/networking/primary.rb +17 -0
- data/lib/facter/facts/freebsd/networking/scope6.rb +17 -0
- data/lib/facter/facts/freebsd/os/architecture.rb +18 -0
- data/lib/facter/facts/freebsd/os/hardware.rb +18 -0
- data/lib/facter/facts/freebsd/os/name.rb +18 -0
- data/lib/facter/facts/freebsd/os/release.rb +43 -0
- data/lib/facter/facts/freebsd/partitions.rb +15 -0
- data/lib/facter/facts/freebsd/path.rb +15 -0
- data/lib/facter/facts/freebsd/processors/count.rb +17 -0
- data/lib/facter/facts/freebsd/processors/isa.rb +17 -0
- data/lib/facter/facts/freebsd/processors/models.rb +23 -0
- data/lib/facter/facts/freebsd/processors/speed.rb +17 -0
- data/lib/facter/facts/freebsd/ruby/platform.rb +18 -0
- data/lib/facter/facts/freebsd/ruby/sitedir.rb +18 -0
- data/lib/facter/facts/freebsd/ruby/version.rb +18 -0
- data/lib/facter/facts/freebsd/ssh.rb +26 -0
- data/lib/facter/facts/freebsd/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/freebsd/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/freebsd/system_uptime/days.rb +18 -0
- data/lib/facter/facts/freebsd/system_uptime/hours.rb +18 -0
- data/lib/facter/facts/freebsd/system_uptime/seconds.rb +18 -0
- data/lib/facter/facts/freebsd/system_uptime/uptime.rb +18 -0
- data/lib/facter/facts/freebsd/timezone.rb +15 -0
- data/lib/facter/facts/freebsd/virtual.rb +21 -0
- data/lib/facter/facts/freebsd/zfs_featurenumbers.rb +14 -0
- data/lib/facter/facts/freebsd/zfs_version.rb +14 -0
- data/lib/facter/facts/freebsd/zpool_featureflags.rb +14 -0
- data/lib/facter/facts/freebsd/zpool_featurenumbers.rb +14 -0
- data/lib/facter/facts/freebsd/zpool_version.rb +14 -0
- data/lib/facter/facts/gentoo/os/release.rb +29 -0
- data/lib/facter/facts/linux/aio_agent_version.rb +14 -0
- data/lib/facter/facts/linux/augeas/version.rb +19 -0
- data/lib/facter/facts/linux/az_metadata.rb +23 -0
- data/lib/facter/facts/linux/cloud/provider.rb +27 -0
- data/lib/facter/facts/linux/dhcp_servers.rb +28 -0
- data/lib/facter/facts/linux/disks.rb +34 -0
- data/lib/facter/facts/linux/dmi/bios/release_date.rb +19 -0
- data/lib/facter/facts/linux/dmi/bios/vendor.rb +19 -0
- data/lib/facter/facts/linux/dmi/bios/version.rb +19 -0
- data/lib/facter/facts/linux/dmi/board/asset_tag.rb +19 -0
- data/lib/facter/facts/linux/dmi/board/manufacturer.rb +19 -0
- data/lib/facter/facts/linux/dmi/board/product.rb +19 -0
- data/lib/facter/facts/linux/dmi/board/serial_number.rb +19 -0
- data/lib/facter/facts/linux/dmi/chassis/asset_tag.rb +19 -0
- data/lib/facter/facts/linux/dmi/chassis/type.rb +19 -0
- data/lib/facter/facts/linux/dmi/manufacturer.rb +17 -0
- data/lib/facter/facts/linux/dmi/product/name.rb +19 -0
- data/lib/facter/facts/linux/dmi/product/serial_number.rb +19 -0
- data/lib/facter/facts/linux/dmi/product/uuid.rb +19 -0
- data/lib/facter/facts/linux/dmi/product/version.rb +19 -0
- data/lib/facter/facts/linux/ec2_metadata.rb +23 -0
- data/lib/facter/facts/linux/ec2_userdata.rb +23 -0
- data/lib/facter/facts/linux/facterversion.rb +15 -0
- data/lib/facter/facts/linux/filesystems.rb +14 -0
- data/lib/facter/facts/linux/fips_enabled.rb +14 -0
- data/lib/facter/facts/linux/gce.rb +16 -0
- data/lib/facter/facts/linux/hypervisors/docker.rb +21 -0
- data/lib/facter/facts/linux/hypervisors/hyper_v.rb +25 -0
- data/lib/facter/facts/linux/hypervisors/kvm.rb +64 -0
- data/lib/facter/facts/linux/hypervisors/lxc.rb +21 -0
- data/lib/facter/facts/linux/hypervisors/openvz.rb +25 -0
- data/lib/facter/facts/linux/hypervisors/systemd_nspawn.rb +21 -0
- data/lib/facter/facts/linux/hypervisors/virtualbox.rb +35 -0
- data/lib/facter/facts/linux/hypervisors/vmware.rb +39 -0
- data/lib/facter/facts/linux/hypervisors/xen.rb +49 -0
- data/lib/facter/facts/linux/identity/gid.rb +16 -0
- data/lib/facter/facts/linux/identity/group.rb +18 -0
- data/lib/facter/facts/linux/identity/privileged.rb +16 -0
- data/lib/facter/facts/linux/identity/uid.rb +16 -0
- data/lib/facter/facts/linux/identity/user.rb +17 -0
- data/lib/facter/facts/linux/interfaces.rb +17 -0
- data/lib/facter/facts/linux/ipaddress6_interfaces.rb +20 -0
- data/lib/facter/facts/linux/ipaddress_interfaces.rb +20 -0
- data/lib/facter/facts/linux/is_virtual.rb +21 -0
- data/lib/facter/facts/linux/kernel.rb +15 -0
- data/lib/facter/facts/linux/kernelmajversion.rb +24 -0
- data/lib/facter/facts/linux/kernelrelease.rb +14 -0
- data/lib/facter/facts/linux/kernelversion.rb +15 -0
- data/lib/facter/facts/linux/load_averages.rb +14 -0
- data/lib/facter/facts/linux/lsbdistrelease.rb +23 -0
- data/lib/facter/facts/linux/macaddress_interfaces.rb +20 -0
- data/lib/facter/facts/linux/memory/swap/available.rb +20 -0
- data/lib/facter/facts/linux/memory/swap/available_bytes.rb +21 -0
- data/lib/facter/facts/linux/memory/swap/capacity.rb +18 -0
- data/lib/facter/facts/linux/memory/swap/total.rb +20 -0
- data/lib/facter/facts/linux/memory/swap/total_bytes.rb +20 -0
- data/lib/facter/facts/linux/memory/swap/used.rb +19 -0
- data/lib/facter/facts/linux/memory/swap/used_bytes.rb +18 -0
- data/lib/facter/facts/linux/memory/system/available.rb +21 -0
- data/lib/facter/facts/linux/memory/system/available_bytes.rb +21 -0
- data/lib/facter/facts/linux/memory/system/capacity.rb +18 -0
- data/lib/facter/facts/linux/memory/system/total.rb +20 -0
- data/lib/facter/facts/linux/memory/system/total_bytes.rb +20 -0
- data/lib/facter/facts/linux/memory/system/used.rb +19 -0
- data/lib/facter/facts/linux/memory/system/used_bytes.rb +18 -0
- data/lib/facter/facts/linux/mountpoints.rb +21 -0
- data/lib/facter/facts/linux/mtu_interfaces.rb +20 -0
- data/lib/facter/facts/linux/netmask6_interfaces.rb +20 -0
- data/lib/facter/facts/linux/netmask_interfaces.rb +20 -0
- data/lib/facter/facts/linux/network6_interfaces.rb +20 -0
- data/lib/facter/facts/linux/network_interfaces.rb +20 -0
- data/lib/facter/facts/linux/networking/dhcp.rb +17 -0
- data/lib/facter/facts/linux/networking/domain.rb +18 -0
- data/lib/facter/facts/linux/networking/fqdn.rb +18 -0
- data/lib/facter/facts/linux/networking/hostname.rb +18 -0
- data/lib/facter/facts/linux/networking/interfaces.rb +17 -0
- data/lib/facter/facts/linux/networking/ip.rb +18 -0
- data/lib/facter/facts/linux/networking/ip6.rb +18 -0
- data/lib/facter/facts/linux/networking/mac.rb +18 -0
- data/lib/facter/facts/linux/networking/mtu.rb +17 -0
- data/lib/facter/facts/linux/networking/netmask.rb +18 -0
- data/lib/facter/facts/linux/networking/netmask6.rb +18 -0
- data/lib/facter/facts/linux/networking/network.rb +18 -0
- data/lib/facter/facts/linux/networking/network6.rb +18 -0
- data/lib/facter/facts/linux/networking/primary.rb +17 -0
- data/lib/facter/facts/linux/networking/scope6.rb +19 -0
- data/lib/facter/facts/linux/os/architecture.rb +20 -0
- data/lib/facter/facts/linux/os/distro/codename.rb +21 -0
- data/lib/facter/facts/linux/os/distro/description.rb +21 -0
- data/lib/facter/facts/linux/os/distro/id.rb +21 -0
- data/lib/facter/facts/linux/os/distro/release.rb +31 -0
- data/lib/facter/facts/linux/os/distro/specification.rb +21 -0
- data/lib/facter/facts/linux/os/family.rb +22 -0
- data/lib/facter/facts/linux/os/hardware.rb +18 -0
- data/lib/facter/facts/linux/os/name.rb +18 -0
- data/lib/facter/facts/linux/os/release.rb +20 -0
- data/lib/facter/facts/linux/os/selinux/config_mode.rb +21 -0
- data/lib/facter/facts/linux/os/selinux/config_policy.rb +21 -0
- data/lib/facter/facts/linux/os/selinux/current_mode.rb +21 -0
- data/lib/facter/facts/linux/os/selinux/enabled.rb +21 -0
- data/lib/facter/facts/linux/os/selinux/enforced.rb +21 -0
- data/lib/facter/facts/linux/os/selinux/policy_version.rb +21 -0
- data/lib/facter/facts/linux/partitions.rb +30 -0
- data/lib/facter/facts/linux/path.rb +15 -0
- data/lib/facter/facts/linux/processor.rb +20 -0
- data/lib/facter/facts/linux/processors/cores.rb +16 -0
- data/lib/facter/facts/linux/processors/count.rb +17 -0
- data/lib/facter/facts/linux/processors/extensions.rb +16 -0
- data/lib/facter/facts/linux/processors/isa.rb +17 -0
- data/lib/facter/facts/linux/processors/models.rb +16 -0
- data/lib/facter/facts/linux/processors/physicalcount.rb +17 -0
- data/lib/facter/facts/linux/processors/speed.rb +17 -0
- data/lib/facter/facts/linux/processors/threads.rb +16 -0
- data/lib/facter/facts/linux/ruby/platform.rb +18 -0
- data/lib/facter/facts/linux/ruby/sitedir.rb +18 -0
- data/lib/facter/facts/linux/ruby/version.rb +18 -0
- data/lib/facter/facts/linux/scope6_interfaces.rb +23 -0
- data/lib/facter/facts/linux/ssh.rb +36 -0
- data/lib/facter/facts/linux/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/linux/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/linux/system_uptime/days.rb +24 -0
- data/lib/facter/facts/linux/system_uptime/hours.rb +24 -0
- data/lib/facter/facts/linux/system_uptime/seconds.rb +24 -0
- data/lib/facter/facts/linux/system_uptime/uptime.rb +24 -0
- data/lib/facter/facts/linux/timezone.rb +14 -0
- data/lib/facter/facts/linux/virtual.rb +21 -0
- data/lib/facter/facts/linux/xen.rb +28 -0
- data/lib/facter/facts/linux/zfs_featurenumbers.rb +14 -0
- data/lib/facter/facts/linux/zfs_version.rb +14 -0
- data/lib/facter/facts/linux/zpool_featureflags.rb +14 -0
- data/lib/facter/facts/linux/zpool_featurenumbers.rb +14 -0
- data/lib/facter/facts/linux/zpool_version.rb +14 -0
- data/lib/facter/facts/linuxmint/os/name.rb +18 -0
- data/lib/facter/facts/linuxmint/os/release.rb +35 -0
- data/lib/facter/facts/macosx/aio_agent_version.rb +14 -0
- data/lib/facter/facts/macosx/augeas/version.rb +19 -0
- data/lib/facter/facts/macosx/dhcp_servers.rb +28 -0
- data/lib/facter/facts/macosx/dmi/product/name.rb +19 -0
- data/lib/facter/facts/macosx/facterversion.rb +15 -0
- data/lib/facter/facts/macosx/filesystems.rb +14 -0
- data/lib/facter/facts/macosx/identity/gid.rb +16 -0
- data/lib/facter/facts/macosx/identity/group.rb +18 -0
- data/lib/facter/facts/macosx/identity/privileged.rb +16 -0
- data/lib/facter/facts/macosx/identity/uid.rb +16 -0
- data/lib/facter/facts/macosx/identity/user.rb +17 -0
- data/lib/facter/facts/macosx/interfaces.rb +16 -0
- data/lib/facter/facts/macosx/ipaddress6_interfaces.rb +20 -0
- data/lib/facter/facts/macosx/ipaddress_interfaces.rb +20 -0
- data/lib/facter/facts/macosx/is_virtual.rb +30 -0
- data/lib/facter/facts/macosx/kernel.rb +14 -0
- data/lib/facter/facts/macosx/kernelmajversion.rb +15 -0
- data/lib/facter/facts/macosx/kernelrelease.rb +14 -0
- data/lib/facter/facts/macosx/kernelversion.rb +14 -0
- data/lib/facter/facts/macosx/load_averages.rb +14 -0
- data/lib/facter/facts/macosx/macaddress_interfaces.rb +20 -0
- data/lib/facter/facts/macosx/memory/swap/available.rb +21 -0
- data/lib/facter/facts/macosx/memory/swap/available_bytes.rb +20 -0
- data/lib/facter/facts/macosx/memory/swap/capacity.rb +18 -0
- data/lib/facter/facts/macosx/memory/swap/encrypted.rb +19 -0
- data/lib/facter/facts/macosx/memory/swap/total.rb +21 -0
- data/lib/facter/facts/macosx/memory/swap/total_bytes.rb +20 -0
- data/lib/facter/facts/macosx/memory/swap/used.rb +20 -0
- data/lib/facter/facts/macosx/memory/swap/used_bytes.rb +18 -0
- data/lib/facter/facts/macosx/memory/system/available.rb +21 -0
- data/lib/facter/facts/macosx/memory/system/available_bytes.rb +20 -0
- data/lib/facter/facts/macosx/memory/system/capacity.rb +18 -0
- data/lib/facter/facts/macosx/memory/system/total.rb +21 -0
- data/lib/facter/facts/macosx/memory/system/total_bytes.rb +20 -0
- data/lib/facter/facts/macosx/memory/system/used.rb +20 -0
- data/lib/facter/facts/macosx/memory/system/used_bytes.rb +18 -0
- data/lib/facter/facts/macosx/mountpoints.rb +16 -0
- data/lib/facter/facts/macosx/mtu_interfaces.rb +20 -0
- data/lib/facter/facts/macosx/netmask6_interfaces.rb +20 -0
- data/lib/facter/facts/macosx/netmask_interfaces.rb +20 -0
- data/lib/facter/facts/macosx/network6_interfaces.rb +20 -0
- data/lib/facter/facts/macosx/network_interfaces.rb +20 -0
- data/lib/facter/facts/macosx/networking/dhcp.rb +17 -0
- data/lib/facter/facts/macosx/networking/domain.rb +18 -0
- data/lib/facter/facts/macosx/networking/fqdn.rb +18 -0
- data/lib/facter/facts/macosx/networking/hostname.rb +18 -0
- data/lib/facter/facts/macosx/networking/interfaces.rb +17 -0
- data/lib/facter/facts/macosx/networking/ip.rb +18 -0
- data/lib/facter/facts/macosx/networking/ip6.rb +18 -0
- data/lib/facter/facts/macosx/networking/mac.rb +18 -0
- data/lib/facter/facts/macosx/networking/mtu.rb +17 -0
- data/lib/facter/facts/macosx/networking/netmask.rb +18 -0
- data/lib/facter/facts/macosx/networking/netmask6.rb +18 -0
- data/lib/facter/facts/macosx/networking/network.rb +18 -0
- data/lib/facter/facts/macosx/networking/network6.rb +18 -0
- data/lib/facter/facts/macosx/networking/primary.rb +17 -0
- data/lib/facter/facts/macosx/networking/scope6.rb +19 -0
- data/lib/facter/facts/macosx/os/architecture.rb +17 -0
- data/lib/facter/facts/macosx/os/family.rb +18 -0
- data/lib/facter/facts/macosx/os/hardware.rb +17 -0
- data/lib/facter/facts/macosx/os/macosx/build.rb +19 -0
- data/lib/facter/facts/macosx/os/macosx/product.rb +19 -0
- data/lib/facter/facts/macosx/os/macosx/version.rb +40 -0
- data/lib/facter/facts/macosx/os/name.rb +18 -0
- data/lib/facter/facts/macosx/os/release.rb +26 -0
- data/lib/facter/facts/macosx/path.rb +15 -0
- data/lib/facter/facts/macosx/processors/cores.rb +16 -0
- data/lib/facter/facts/macosx/processors/count.rb +17 -0
- data/lib/facter/facts/macosx/processors/isa.rb +17 -0
- data/lib/facter/facts/macosx/processors/models.rb +21 -0
- data/lib/facter/facts/macosx/processors/physicalcount.rb +17 -0
- data/lib/facter/facts/macosx/processors/speed.rb +17 -0
- data/lib/facter/facts/macosx/processors/threads.rb +16 -0
- data/lib/facter/facts/macosx/ruby/platform.rb +17 -0
- data/lib/facter/facts/macosx/ruby/sitedir.rb +17 -0
- data/lib/facter/facts/macosx/ruby/version.rb +18 -0
- data/lib/facter/facts/macosx/scope6_interfaces.rb +22 -0
- data/lib/facter/facts/macosx/ssh.rb +36 -0
- data/lib/facter/facts/macosx/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/macosx/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/macosx/system_profiler/boot_mode.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/boot_rom_version.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/boot_volume.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/computer_name.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/cores.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/hardware_uuid.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/kernel_version.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/l2_cache_per_core.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/l3_cache.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/memory.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/model_identifier.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/model_name.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/processor_name.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/processor_speed.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/processors.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/secure_virtual_memory.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/serial_number.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/smc_version.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/system_version.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/uptime.rb +17 -0
- data/lib/facter/facts/macosx/system_profiler/username.rb +17 -0
- data/lib/facter/facts/macosx/system_uptime/days.rb +17 -0
- data/lib/facter/facts/macosx/system_uptime/hours.rb +17 -0
- data/lib/facter/facts/macosx/system_uptime/seconds.rb +17 -0
- data/lib/facter/facts/macosx/system_uptime/uptime.rb +17 -0
- data/lib/facter/facts/macosx/timezone.rb +14 -0
- data/lib/facter/facts/macosx/virtual.rb +32 -0
- data/lib/facter/facts/mageia/os/release.rb +36 -0
- data/lib/facter/facts/mariner/os/release.rb +35 -0
- data/lib/facter/facts/meego/os/release.rb +29 -0
- data/lib/facter/facts/oel/os/release.rb +29 -0
- data/lib/facter/facts/ol/lsbdistdescription.rb +16 -0
- data/lib/facter/facts/ol/lsbdistid.rb +16 -0
- data/lib/facter/facts/ol/os/distro/description.rb +19 -0
- data/lib/facter/facts/ol/os/distro/id.rb +19 -0
- data/lib/facter/facts/ol/os/release.rb +29 -0
- data/lib/facter/facts/openbsd/augeas/version.rb +19 -0
- data/lib/facter/facts/openbsd/dmi/bios/vendor.rb +19 -0
- data/lib/facter/facts/openbsd/dmi/bios/version.rb +19 -0
- data/lib/facter/facts/openbsd/dmi/manufacturer.rb +17 -0
- data/lib/facter/facts/openbsd/dmi/product/name.rb +19 -0
- data/lib/facter/facts/openbsd/dmi/product/serial_number.rb +19 -0
- data/lib/facter/facts/openbsd/dmi/product/uuid.rb +19 -0
- data/lib/facter/facts/openbsd/ec2_metadata.rb +23 -0
- data/lib/facter/facts/openbsd/ec2_userdata.rb +23 -0
- data/lib/facter/facts/openbsd/facterversion.rb +14 -0
- data/lib/facter/facts/openbsd/identity/gid.rb +16 -0
- data/lib/facter/facts/openbsd/identity/group.rb +18 -0
- data/lib/facter/facts/openbsd/identity/privileged.rb +16 -0
- data/lib/facter/facts/openbsd/identity/uid.rb +16 -0
- data/lib/facter/facts/openbsd/identity/user.rb +17 -0
- data/lib/facter/facts/openbsd/ipaddress6_interfaces.rb +20 -0
- data/lib/facter/facts/openbsd/ipaddress_interfaces.rb +20 -0
- data/lib/facter/facts/openbsd/is_virtual.rb +21 -0
- data/lib/facter/facts/openbsd/kernel.rb +14 -0
- data/lib/facter/facts/openbsd/kernelrelease.rb +14 -0
- data/lib/facter/facts/openbsd/mountpoints.rb +21 -0
- data/lib/facter/facts/openbsd/netmask6_interfaces.rb +20 -0
- data/lib/facter/facts/openbsd/netmask_interfaces.rb +20 -0
- data/lib/facter/facts/openbsd/network6_interfaces.rb +20 -0
- data/lib/facter/facts/openbsd/network_interfaces.rb +20 -0
- data/lib/facter/facts/openbsd/networking/dhcp.rb +17 -0
- data/lib/facter/facts/openbsd/networking/domain.rb +18 -0
- data/lib/facter/facts/openbsd/networking/fqdn.rb +18 -0
- data/lib/facter/facts/openbsd/networking/hostname.rb +18 -0
- data/lib/facter/facts/openbsd/networking/interfaces.rb +17 -0
- data/lib/facter/facts/openbsd/networking/ip.rb +18 -0
- data/lib/facter/facts/openbsd/networking/ip6.rb +18 -0
- data/lib/facter/facts/openbsd/networking/mac.rb +18 -0
- data/lib/facter/facts/openbsd/networking/mtu.rb +17 -0
- data/lib/facter/facts/openbsd/networking/netmask.rb +18 -0
- data/lib/facter/facts/openbsd/networking/netmask6.rb +18 -0
- data/lib/facter/facts/openbsd/networking/network.rb +18 -0
- data/lib/facter/facts/openbsd/networking/network6.rb +18 -0
- data/lib/facter/facts/openbsd/networking/primary.rb +17 -0
- data/lib/facter/facts/openbsd/networking/scope6.rb +17 -0
- data/lib/facter/facts/openbsd/os/architecture.rb +18 -0
- data/lib/facter/facts/openbsd/os/hardware.rb +18 -0
- data/lib/facter/facts/openbsd/os/name.rb +18 -0
- data/lib/facter/facts/openbsd/os/release.rb +23 -0
- data/lib/facter/facts/openbsd/path.rb +15 -0
- data/lib/facter/facts/openbsd/processors/isa.rb +17 -0
- data/lib/facter/facts/openbsd/ruby/platform.rb +18 -0
- data/lib/facter/facts/openbsd/ruby/sitedir.rb +18 -0
- data/lib/facter/facts/openbsd/ruby/version.rb +18 -0
- data/lib/facter/facts/openbsd/ssh.rb +26 -0
- data/lib/facter/facts/openbsd/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/openbsd/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/openbsd/system_uptime/days.rb +18 -0
- data/lib/facter/facts/openbsd/system_uptime/hours.rb +18 -0
- data/lib/facter/facts/openbsd/system_uptime/seconds.rb +18 -0
- data/lib/facter/facts/openbsd/system_uptime/uptime.rb +18 -0
- data/lib/facter/facts/openbsd/timezone.rb +15 -0
- data/lib/facter/facts/openbsd/virtual.rb +15 -0
- data/lib/facter/facts/openwrt/os/release.rb +35 -0
- data/lib/facter/facts/ovs/os/release.rb +29 -0
- data/lib/facter/facts/photon/os/release.rb +45 -0
- data/lib/facter/facts/rhel/lsbdistcodename.rb +16 -0
- data/lib/facter/facts/rhel/lsbdistdescription.rb +16 -0
- data/lib/facter/facts/rhel/lsbdistid.rb +16 -0
- data/lib/facter/facts/rhel/os/distro/codename.rb +19 -0
- data/lib/facter/facts/rhel/os/distro/description.rb +19 -0
- data/lib/facter/facts/rhel/os/distro/id.rb +19 -0
- data/lib/facter/facts/rhel/os/distro/release.rb +32 -0
- data/lib/facter/facts/rhel/os/family.rb +16 -0
- data/lib/facter/facts/rhel/os/name.rb +19 -0
- data/lib/facter/facts/rhel/os/release.rb +29 -0
- data/lib/facter/facts/slackware/os/release.rb +35 -0
- data/lib/facter/facts/sles/lsbdistcodename.rb +16 -0
- data/lib/facter/facts/sles/lsbdistdescription.rb +16 -0
- data/lib/facter/facts/sles/lsbdistid.rb +16 -0
- data/lib/facter/facts/sles/os/distro/codename.rb +20 -0
- data/lib/facter/facts/sles/os/distro/description.rb +18 -0
- data/lib/facter/facts/sles/os/distro/id.rb +22 -0
- data/lib/facter/facts/sles/os/distro/release.rb +36 -0
- data/lib/facter/facts/sles/os/family.rb +16 -0
- data/lib/facter/facts/sles/os/release.rb +29 -0
- data/lib/facter/facts/solaris/aio_agent_version.rb +14 -0
- data/lib/facter/facts/solaris/augeas/version.rb +19 -0
- data/lib/facter/facts/solaris/current_zone.rb +16 -0
- data/lib/facter/facts/solaris/dhcp_servers.rb +28 -0
- data/lib/facter/facts/solaris/disks.rb +33 -0
- data/lib/facter/facts/solaris/dmi/bios/release_date.rb +24 -0
- data/lib/facter/facts/solaris/dmi/bios/vendor.rb +24 -0
- data/lib/facter/facts/solaris/dmi/bios/version.rb +24 -0
- data/lib/facter/facts/solaris/dmi/chassis/asset_tag.rb +24 -0
- data/lib/facter/facts/solaris/dmi/chassis/type.rb +24 -0
- data/lib/facter/facts/solaris/dmi/manufacturer.rb +25 -0
- data/lib/facter/facts/solaris/dmi/product/name.rb +27 -0
- data/lib/facter/facts/solaris/dmi/product/serial_number.rb +27 -0
- data/lib/facter/facts/solaris/dmi/product/uuid.rb +24 -0
- data/lib/facter/facts/solaris/facterversion.rb +14 -0
- data/lib/facter/facts/solaris/filesystems.rb +14 -0
- data/lib/facter/facts/solaris/hypervisors/ldom.rb +27 -0
- data/lib/facter/facts/solaris/hypervisors/zone.rb +39 -0
- data/lib/facter/facts/solaris/identity/gid.rb +16 -0
- data/lib/facter/facts/solaris/identity/group.rb +18 -0
- data/lib/facter/facts/solaris/identity/privileged.rb +16 -0
- data/lib/facter/facts/solaris/identity/uid.rb +16 -0
- data/lib/facter/facts/solaris/identity/user.rb +17 -0
- data/lib/facter/facts/solaris/interfaces.rb +17 -0
- data/lib/facter/facts/solaris/ipaddress6_interfaces.rb +20 -0
- data/lib/facter/facts/solaris/ipaddress_interfaces.rb +20 -0
- data/lib/facter/facts/solaris/is_virtual.rb +64 -0
- data/lib/facter/facts/solaris/kernel.rb +14 -0
- data/lib/facter/facts/solaris/kernelmajversion.rb +16 -0
- data/lib/facter/facts/solaris/kernelrelease.rb +14 -0
- data/lib/facter/facts/solaris/kernelversion.rb +14 -0
- data/lib/facter/facts/solaris/ldom.rb +65 -0
- data/lib/facter/facts/solaris/load_averages.rb +14 -0
- data/lib/facter/facts/solaris/macaddress_interfaces.rb +20 -0
- data/lib/facter/facts/solaris/memory/swap/available.rb +22 -0
- data/lib/facter/facts/solaris/memory/swap/available_bytes.rb +22 -0
- data/lib/facter/facts/solaris/memory/swap/capacity.rb +20 -0
- data/lib/facter/facts/solaris/memory/swap/total.rb +22 -0
- data/lib/facter/facts/solaris/memory/swap/total_bytes.rb +22 -0
- data/lib/facter/facts/solaris/memory/swap/used.rb +21 -0
- data/lib/facter/facts/solaris/memory/swap/used_bytes.rb +19 -0
- data/lib/facter/facts/solaris/memory/system/available.rb +22 -0
- data/lib/facter/facts/solaris/memory/system/available_bytes.rb +22 -0
- data/lib/facter/facts/solaris/memory/system/capacity.rb +20 -0
- data/lib/facter/facts/solaris/memory/system/total.rb +22 -0
- data/lib/facter/facts/solaris/memory/system/total_bytes.rb +22 -0
- data/lib/facter/facts/solaris/memory/system/used.rb +21 -0
- data/lib/facter/facts/solaris/memory/system/used_bytes.rb +19 -0
- data/lib/facter/facts/solaris/mountpoints.rb +21 -0
- data/lib/facter/facts/solaris/mtu_interfaces.rb +20 -0
- data/lib/facter/facts/solaris/netmask6_interfaces.rb +20 -0
- data/lib/facter/facts/solaris/netmask_interfaces.rb +20 -0
- data/lib/facter/facts/solaris/network6_interfaces.rb +20 -0
- data/lib/facter/facts/solaris/network_interfaces.rb +20 -0
- data/lib/facter/facts/solaris/networking/dhcp.rb +17 -0
- data/lib/facter/facts/solaris/networking/domain.rb +17 -0
- data/lib/facter/facts/solaris/networking/fqdn.rb +17 -0
- data/lib/facter/facts/solaris/networking/hostname.rb +17 -0
- data/lib/facter/facts/solaris/networking/interfaces.rb +16 -0
- data/lib/facter/facts/solaris/networking/ip.rb +18 -0
- data/lib/facter/facts/solaris/networking/ip6.rb +18 -0
- data/lib/facter/facts/solaris/networking/mac.rb +18 -0
- data/lib/facter/facts/solaris/networking/mtu.rb +17 -0
- data/lib/facter/facts/solaris/networking/netmask.rb +18 -0
- data/lib/facter/facts/solaris/networking/netmask6.rb +18 -0
- data/lib/facter/facts/solaris/networking/network.rb +18 -0
- data/lib/facter/facts/solaris/networking/network6.rb +18 -0
- data/lib/facter/facts/solaris/networking/primary.rb +17 -0
- data/lib/facter/facts/solaris/os/architecture.rb +18 -0
- data/lib/facter/facts/solaris/os/family.rb +16 -0
- data/lib/facter/facts/solaris/os/hardware.rb +18 -0
- data/lib/facter/facts/solaris/os/name.rb +19 -0
- data/lib/facter/facts/solaris/os/release.rb +22 -0
- data/lib/facter/facts/solaris/path.rb +14 -0
- data/lib/facter/facts/solaris/processors/cores.rb +16 -0
- data/lib/facter/facts/solaris/processors/count.rb +17 -0
- data/lib/facter/facts/solaris/processors/isa.rb +17 -0
- data/lib/facter/facts/solaris/processors/models.rb +21 -0
- data/lib/facter/facts/solaris/processors/physicalcount.rb +17 -0
- data/lib/facter/facts/solaris/processors/speed.rb +17 -0
- data/lib/facter/facts/solaris/processors/threads.rb +16 -0
- data/lib/facter/facts/solaris/ruby/platform.rb +18 -0
- data/lib/facter/facts/solaris/ruby/sitedir.rb +17 -0
- data/lib/facter/facts/solaris/ruby/version.rb +17 -0
- data/lib/facter/facts/solaris/ssh.rb +36 -0
- data/lib/facter/facts/solaris/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/solaris/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/solaris/system_uptime/days.rb +18 -0
- data/lib/facter/facts/solaris/system_uptime/hours.rb +18 -0
- data/lib/facter/facts/solaris/system_uptime/seconds.rb +18 -0
- data/lib/facter/facts/solaris/system_uptime/uptime.rb +18 -0
- data/lib/facter/facts/solaris/timezone.rb +14 -0
- data/lib/facter/facts/solaris/virtual.rb +60 -0
- data/lib/facter/facts/solaris/zfs_featurenumbers.rb +14 -0
- data/lib/facter/facts/solaris/zfs_version.rb +14 -0
- data/lib/facter/facts/solaris/zones.rb +60 -0
- data/lib/facter/facts/solaris/zpool_featureflags.rb +14 -0
- data/lib/facter/facts/solaris/zpool_featurenumbers.rb +14 -0
- data/lib/facter/facts/solaris/zpool_version.rb +14 -0
- data/lib/facter/facts/ubuntu/lsbdistrelease.rb +23 -0
- data/lib/facter/facts/ubuntu/os/distro/release.rb +31 -0
- data/lib/facter/facts/ubuntu/os/release.rb +20 -0
- data/lib/facter/facts/windows/aio_agent_version.rb +14 -0
- data/lib/facter/facts/windows/az_metadata.rb +23 -0
- data/lib/facter/facts/windows/cloud/provider.rb +28 -0
- data/lib/facter/facts/windows/dhcp_servers.rb +27 -0
- data/lib/facter/facts/windows/dmi/manufacturer.rb +18 -0
- data/lib/facter/facts/windows/dmi/product/name.rb +20 -0
- data/lib/facter/facts/windows/dmi/product/serial_number.rb +20 -0
- data/lib/facter/facts/windows/dmi/product/uuid.rb +20 -0
- data/lib/facter/facts/windows/ec2_metadata.rb +25 -0
- data/lib/facter/facts/windows/ec2_userdata.rb +25 -0
- data/lib/facter/facts/windows/facterversion.rb +15 -0
- data/lib/facter/facts/windows/fips_enabled.rb +15 -0
- data/lib/facter/facts/windows/gce.rb +16 -0
- data/lib/facter/facts/windows/hypervisors/hyperv.rb +24 -0
- data/lib/facter/facts/windows/hypervisors/kvm.rb +37 -0
- data/lib/facter/facts/windows/hypervisors/virtualbox.rb +37 -0
- data/lib/facter/facts/windows/hypervisors/vmware.rb +24 -0
- data/lib/facter/facts/windows/hypervisors/xen.rb +25 -0
- data/lib/facter/facts/windows/identity/privileged.rb +17 -0
- data/lib/facter/facts/windows/identity/user.rb +18 -0
- data/lib/facter/facts/windows/interfaces.rb +16 -0
- data/lib/facter/facts/windows/ipaddress6_interfaces.rb +20 -0
- data/lib/facter/facts/windows/ipaddress_interfaces.rb +20 -0
- data/lib/facter/facts/windows/is_virtual.rb +15 -0
- data/lib/facter/facts/windows/kernel.rb +15 -0
- data/lib/facter/facts/windows/kernelmajversion.rb +15 -0
- data/lib/facter/facts/windows/kernelrelease.rb +15 -0
- data/lib/facter/facts/windows/kernelversion.rb +15 -0
- data/lib/facter/facts/windows/macaddress_interfaces.rb +20 -0
- data/lib/facter/facts/windows/memory/system/available.rb +21 -0
- data/lib/facter/facts/windows/memory/system/available_bytes.rb +21 -0
- data/lib/facter/facts/windows/memory/system/capacity.rb +19 -0
- data/lib/facter/facts/windows/memory/system/total.rb +21 -0
- data/lib/facter/facts/windows/memory/system/total_bytes.rb +21 -0
- data/lib/facter/facts/windows/memory/system/used.rb +20 -0
- data/lib/facter/facts/windows/memory/system/used_bytes.rb +19 -0
- data/lib/facter/facts/windows/mtu_interfaces.rb +20 -0
- data/lib/facter/facts/windows/netmask6_interfaces.rb +20 -0
- data/lib/facter/facts/windows/netmask_interfaces.rb +20 -0
- data/lib/facter/facts/windows/network6_interfaces.rb +20 -0
- data/lib/facter/facts/windows/network_interfaces.rb +20 -0
- data/lib/facter/facts/windows/networking/dhcp.rb +17 -0
- data/lib/facter/facts/windows/networking/domain.rb +18 -0
- data/lib/facter/facts/windows/networking/fqdn.rb +22 -0
- data/lib/facter/facts/windows/networking/hostname.rb +18 -0
- data/lib/facter/facts/windows/networking/interfaces.rb +17 -0
- data/lib/facter/facts/windows/networking/ip.rb +18 -0
- data/lib/facter/facts/windows/networking/ip6.rb +18 -0
- data/lib/facter/facts/windows/networking/mac.rb +18 -0
- data/lib/facter/facts/windows/networking/mtu.rb +17 -0
- data/lib/facter/facts/windows/networking/netmask.rb +18 -0
- data/lib/facter/facts/windows/networking/netmask6.rb +18 -0
- data/lib/facter/facts/windows/networking/network.rb +18 -0
- data/lib/facter/facts/windows/networking/network6.rb +18 -0
- data/lib/facter/facts/windows/networking/primary.rb +17 -0
- data/lib/facter/facts/windows/networking/scope6.rb +19 -0
- data/lib/facter/facts/windows/os/architecture.rb +18 -0
- data/lib/facter/facts/windows/os/family.rb +18 -0
- data/lib/facter/facts/windows/os/hardware.rb +18 -0
- data/lib/facter/facts/windows/os/name.rb +18 -0
- data/lib/facter/facts/windows/os/release.rb +35 -0
- data/lib/facter/facts/windows/os/windows/display_version.rb +20 -0
- data/lib/facter/facts/windows/os/windows/edition_id.rb +20 -0
- data/lib/facter/facts/windows/os/windows/installation_type.rb +20 -0
- data/lib/facter/facts/windows/os/windows/product_name.rb +20 -0
- data/lib/facter/facts/windows/os/windows/release_id.rb +20 -0
- data/lib/facter/facts/windows/os/windows/system32.rb +20 -0
- data/lib/facter/facts/windows/path.rb +15 -0
- data/lib/facter/facts/windows/processor.rb +20 -0
- data/lib/facter/facts/windows/processors/cores.rb +17 -0
- data/lib/facter/facts/windows/processors/count.rb +18 -0
- data/lib/facter/facts/windows/processors/isa.rb +18 -0
- data/lib/facter/facts/windows/processors/models.rb +17 -0
- data/lib/facter/facts/windows/processors/physicalcount.rb +18 -0
- data/lib/facter/facts/windows/processors/threads.rb +17 -0
- data/lib/facter/facts/windows/ruby/platform.rb +18 -0
- data/lib/facter/facts/windows/ruby/sitedir.rb +18 -0
- data/lib/facter/facts/windows/ruby/version.rb +18 -0
- data/lib/facter/facts/windows/scope6_interfaces.rb +20 -0
- data/lib/facter/facts/windows/ssh.rb +27 -0
- data/lib/facter/facts/windows/sshalgorithmkey.rb +22 -0
- data/lib/facter/facts/windows/sshfp_algorithm.rb +25 -0
- data/lib/facter/facts/windows/system_uptime/days.rb +18 -0
- data/lib/facter/facts/windows/system_uptime/hours.rb +18 -0
- data/lib/facter/facts/windows/system_uptime/seconds.rb +18 -0
- data/lib/facter/facts/windows/system_uptime/uptime.rb +18 -0
- data/lib/facter/facts/windows/timezone.rb +15 -0
- data/lib/facter/facts/windows/virtual.rb +15 -0
- data/lib/facter/framework/benchmarking/timer.rb +25 -0
- data/lib/facter/framework/cli/cli.rb +233 -0
- data/lib/facter/framework/cli/cli_launcher.rb +55 -0
- data/lib/facter/framework/config/config_reader.rb +63 -0
- data/lib/facter/framework/config/fact_groups.rb +132 -0
- data/lib/facter/framework/core/cache_manager.rb +234 -0
- data/lib/facter/framework/core/fact/external/external_fact_manager.rb +31 -0
- data/lib/facter/framework/core/fact/internal/core_fact.rb +22 -0
- data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +85 -0
- data/lib/facter/framework/core/fact_filter.rb +30 -0
- data/lib/facter/framework/core/fact_loaders/class_discoverer.rb +33 -0
- data/lib/facter/framework/core/fact_loaders/external_fact_loader.rb +47 -0
- data/lib/facter/framework/core/fact_loaders/fact_loader.rb +129 -0
- data/lib/facter/framework/core/fact_loaders/internal_fact_loader.rb +53 -0
- data/lib/facter/framework/core/fact_manager.rb +159 -0
- data/lib/facter/framework/core/file_loader.rb +995 -0
- data/lib/facter/framework/core/options/config_file_options.rb +114 -0
- data/lib/facter/framework/core/options/option_store.rb +220 -0
- data/lib/facter/framework/core/options/options_validator.rb +90 -0
- data/lib/facter/framework/core/options.rb +79 -0
- data/lib/facter/framework/core/session_cache.rb +16 -0
- data/lib/facter/framework/detector/os_detector.rb +87 -0
- data/lib/facter/framework/detector/os_hierarchy.rb +49 -0
- data/lib/facter/framework/formatters/formatter_factory.rb +13 -0
- data/lib/facter/framework/formatters/formatter_helper.rb +37 -0
- data/lib/facter/framework/formatters/hocon_fact_formatter.rb +51 -0
- data/lib/facter/framework/formatters/json_fact_formatter.rb +35 -0
- data/lib/facter/framework/formatters/legacy_fact_formatter.rb +101 -0
- data/lib/facter/framework/formatters/yaml_fact_formatter.rb +64 -0
- data/lib/facter/framework/logging/logger.rb +188 -0
- data/lib/facter/framework/logging/logger_helper.rb +18 -0
- data/lib/facter/framework/parsers/query_parser.rb +110 -0
- data/lib/facter/models/fact_collection.rb +98 -0
- data/lib/facter/models/loaded_fact.rb +16 -0
- data/lib/facter/models/resolved_fact.rb +31 -0
- data/lib/facter/models/searched_fact.rb +15 -0
- data/lib/facter/resolvers/aio_agent_version.rb +23 -0
- data/lib/facter/resolvers/aix/architecture.rb +53 -0
- data/lib/facter/resolvers/aix/disks.rb +63 -0
- data/lib/facter/resolvers/aix/ffi/ffi.rb +63 -0
- data/lib/facter/resolvers/aix/ffi/ffi_helper.rb +161 -0
- data/lib/facter/resolvers/aix/ffi/structs.rb +69 -0
- data/lib/facter/resolvers/aix/filesystems.rb +33 -0
- data/lib/facter/resolvers/aix/hardware.rb +39 -0
- data/lib/facter/resolvers/aix/load_averages.rb +28 -0
- data/lib/facter/resolvers/aix/memory.rb +65 -0
- data/lib/facter/resolvers/aix/mountpoints.rb +80 -0
- data/lib/facter/resolvers/aix/networking.rb +71 -0
- data/lib/facter/resolvers/aix/nim.rb +30 -0
- data/lib/facter/resolvers/aix/os_level.rb +27 -0
- data/lib/facter/resolvers/aix/partitions.rb +72 -0
- data/lib/facter/resolvers/aix/processors.rb +85 -0
- data/lib/facter/resolvers/aix/serialnumber.rb +36 -0
- data/lib/facter/resolvers/amzn/os_release_rpm.rb +40 -0
- data/lib/facter/resolvers/augeas.rb +49 -0
- data/lib/facter/resolvers/az.rb +39 -0
- data/lib/facter/resolvers/base_resolver.rb +46 -0
- data/lib/facter/resolvers/bsd/ffi/ffi_helper.rb +46 -0
- data/lib/facter/resolvers/bsd/processors.rb +50 -0
- data/lib/facter/resolvers/debian_version.rb +28 -0
- data/lib/facter/resolvers/dmi_decode.rb +52 -0
- data/lib/facter/resolvers/ec2.rb +72 -0
- data/lib/facter/resolvers/eos_release.rb +32 -0
- data/lib/facter/resolvers/facterversion.rb +21 -0
- data/lib/facter/resolvers/freebsd/dmi.rb +37 -0
- data/lib/facter/resolvers/freebsd/ffi/ffi_helper.rb +61 -0
- data/lib/facter/resolvers/freebsd/freebsd_version.rb +38 -0
- data/lib/facter/resolvers/freebsd/geom.rb +101 -0
- data/lib/facter/resolvers/freebsd/processors.rb +47 -0
- data/lib/facter/resolvers/freebsd/swap_memory.rb +40 -0
- data/lib/facter/resolvers/freebsd/system_memory.rb +50 -0
- data/lib/facter/resolvers/freebsd/virtual.rb +45 -0
- data/lib/facter/resolvers/gce.rb +63 -0
- data/lib/facter/resolvers/hostname.rb +97 -0
- data/lib/facter/resolvers/identity.rb +29 -0
- data/lib/facter/resolvers/linux/containers.rb +85 -0
- data/lib/facter/resolvers/linux/disks.rb +84 -0
- data/lib/facter/resolvers/linux/dmi.rb +60 -0
- data/lib/facter/resolvers/linux/docker_uptime.rb +45 -0
- data/lib/facter/resolvers/linux/filesystems.rb +34 -0
- data/lib/facter/resolvers/linux/fips_enabled.rb +27 -0
- data/lib/facter/resolvers/linux/hostname.rb +126 -0
- data/lib/facter/resolvers/linux/load_averages.rb +26 -0
- data/lib/facter/resolvers/linux/memory.rb +68 -0
- data/lib/facter/resolvers/linux/networking.rb +160 -0
- data/lib/facter/resolvers/linux/processors.rb +111 -0
- data/lib/facter/resolvers/linux/processors_lscpu.rb +44 -0
- data/lib/facter/resolvers/load_averages.rb +27 -0
- data/lib/facter/resolvers/lpar.rb +30 -0
- data/lib/facter/resolvers/lsb_release.rb +45 -0
- data/lib/facter/resolvers/lspci.rb +36 -0
- data/lib/facter/resolvers/macosx/dmi.rb +27 -0
- data/lib/facter/resolvers/macosx/filesystems.rb +27 -0
- data/lib/facter/resolvers/macosx/load_averages.rb +26 -0
- data/lib/facter/resolvers/macosx/mountpoints.rb +76 -0
- data/lib/facter/resolvers/macosx/processors.rb +73 -0
- data/lib/facter/resolvers/macosx/swap_memory.rb +42 -0
- data/lib/facter/resolvers/macosx/system_memory.rb +45 -0
- data/lib/facter/resolvers/macosx/system_profiler.rb +43 -0
- data/lib/facter/resolvers/mountpoints.rb +102 -0
- data/lib/facter/resolvers/networking.rb +111 -0
- data/lib/facter/resolvers/open_vz.rb +44 -0
- data/lib/facter/resolvers/openbsd/dhcp.rb +21 -0
- data/lib/facter/resolvers/openbsd/dmi.rb +41 -0
- data/lib/facter/resolvers/openbsd/mountpoints.rb +72 -0
- data/lib/facter/resolvers/openbsd/virtual.rb +45 -0
- data/lib/facter/resolvers/os_release.rb +120 -0
- data/lib/facter/resolvers/partitions.rb +169 -0
- data/lib/facter/resolvers/path.rb +21 -0
- data/lib/facter/resolvers/redhat_release.rb +71 -0
- data/lib/facter/resolvers/release_from_first_line.rb +41 -0
- data/lib/facter/resolvers/ruby.rb +24 -0
- data/lib/facter/resolvers/selinux.rb +66 -0
- data/lib/facter/resolvers/solaris/disks.rb +50 -0
- data/lib/facter/resolvers/solaris/dmi.rb +58 -0
- data/lib/facter/resolvers/solaris/dmi_sparc.rb +52 -0
- data/lib/facter/resolvers/solaris/ffi/ffi.rb +30 -0
- data/lib/facter/resolvers/solaris/ffi/functions.rb +28 -0
- data/lib/facter/resolvers/solaris/ffi/structs.rb +129 -0
- data/lib/facter/resolvers/solaris/filesystems.rb +31 -0
- data/lib/facter/resolvers/solaris/ipaddress.rb +39 -0
- data/lib/facter/resolvers/solaris/ldom.rb +67 -0
- data/lib/facter/resolvers/solaris/memory.rb +93 -0
- data/lib/facter/resolvers/solaris/mountpoints.rb +88 -0
- data/lib/facter/resolvers/solaris/networking.rb +168 -0
- data/lib/facter/resolvers/solaris/os_release.rb +45 -0
- data/lib/facter/resolvers/solaris/processors.rb +43 -0
- data/lib/facter/resolvers/solaris/zone.rb +49 -0
- data/lib/facter/resolvers/solaris/zone_name.rb +30 -0
- data/lib/facter/resolvers/specific_release_file.rb +35 -0
- data/lib/facter/resolvers/ssh.rb +38 -0
- data/lib/facter/resolvers/suse_release.rb +34 -0
- data/lib/facter/resolvers/sw_vers.rb +30 -0
- data/lib/facter/resolvers/timezone.rb +21 -0
- data/lib/facter/resolvers/uname.rb +45 -0
- data/lib/facter/resolvers/uptime.rb +30 -0
- data/lib/facter/resolvers/virt_what.rb +66 -0
- data/lib/facter/resolvers/vmware.rb +28 -0
- data/lib/facter/resolvers/windows/aio_agent_version.rb +55 -0
- data/lib/facter/resolvers/windows/dmi_bios.rb +39 -0
- data/lib/facter/resolvers/windows/dmi_computersystem.rb +38 -0
- data/lib/facter/resolvers/windows/ffi/ffi.rb +72 -0
- data/lib/facter/resolvers/windows/ffi/hardware_ffi.rb +17 -0
- data/lib/facter/resolvers/windows/ffi/identity_ffi.rb +20 -0
- data/lib/facter/resolvers/windows/ffi/ip_adapter_addresses_lh.rb +161 -0
- data/lib/facter/resolvers/windows/ffi/kernel_ffi.rb +14 -0
- data/lib/facter/resolvers/windows/ffi/memory_ffi.rb +12 -0
- data/lib/facter/resolvers/windows/ffi/network_utils.rb +37 -0
- data/lib/facter/resolvers/windows/ffi/networking_ffi.rb +34 -0
- data/lib/facter/resolvers/windows/ffi/os_version_info_ex.rb +17 -0
- data/lib/facter/resolvers/windows/ffi/performance_information.rb +20 -0
- data/lib/facter/resolvers/windows/ffi/system32_ffi.rb +18 -0
- data/lib/facter/resolvers/windows/ffi/system_info.rb +30 -0
- data/lib/facter/resolvers/windows/ffi/winnls_ffi.rb +11 -0
- data/lib/facter/resolvers/windows/fips.rb +32 -0
- data/lib/facter/resolvers/windows/hardware_architecture.rb +66 -0
- data/lib/facter/resolvers/windows/identity.rb +53 -0
- data/lib/facter/resolvers/windows/kernel.rb +43 -0
- data/lib/facter/resolvers/windows/memory.rb +66 -0
- data/lib/facter/resolvers/windows/netkvm.rb +33 -0
- data/lib/facter/resolvers/windows/networking.rb +155 -0
- data/lib/facter/resolvers/windows/processors.rb +101 -0
- data/lib/facter/resolvers/windows/product_release.rb +45 -0
- data/lib/facter/resolvers/windows/ssh.rb +46 -0
- data/lib/facter/resolvers/windows/system32.rb +46 -0
- data/lib/facter/resolvers/windows/timezone.rb +43 -0
- data/lib/facter/resolvers/windows/uptime.rb +56 -0
- data/lib/facter/resolvers/windows/virtualization.rb +73 -0
- data/lib/facter/resolvers/windows/win_os_description.rb +30 -0
- data/lib/facter/resolvers/wpar.rb +33 -0
- data/lib/facter/resolvers/xen.rb +75 -0
- data/lib/facter/resolvers/zfs.rb +32 -0
- data/lib/facter/resolvers/zpool.rb +34 -0
- data/lib/facter/templates/man.erb +133 -0
- data/lib/facter/util/aix/info_extractor.rb +75 -0
- data/lib/facter/util/aix/odm_query.rb +46 -0
- data/lib/facter/util/api_debugger.rb +47 -0
- data/lib/facter/util/facts/facts_utils.rb +48 -0
- data/lib/facter/util/facts/posix/virtual_detector.rb +89 -0
- data/lib/facter/util/facts/unit_converter.rb +68 -0
- data/lib/facter/util/facts/uptime_parser.rb +128 -0
- data/lib/facter/util/facts/windows_release_finder.rb +64 -0
- data/lib/facter/util/file_helper.rb +43 -0
- data/lib/facter/util/linux/dhcp.rb +89 -0
- data/lib/facter/util/linux/if_inet6.rb +73 -0
- data/lib/facter/util/linux/proc.rb +21 -0
- data/lib/facter/util/linux/routing_table.rb +60 -0
- data/lib/facter/util/linux/socket_parser.rb +130 -0
- data/lib/facter/util/macosx/system_profile_executor.rb +38 -0
- data/lib/facter/util/resolvers/aws_token.rb +37 -0
- data/lib/facter/util/resolvers/ffi/hostname.rb +70 -0
- data/lib/facter/util/resolvers/ffi/load_averages.rb +27 -0
- data/lib/facter/util/resolvers/filesystem_helper.rb +45 -0
- data/lib/facter/util/resolvers/fingerprint.rb +9 -0
- data/lib/facter/util/resolvers/http.rb +95 -0
- data/lib/facter/util/resolvers/networking/dhcp.rb +21 -0
- data/lib/facter/util/resolvers/networking/networking.rb +129 -0
- data/lib/facter/util/resolvers/networking/primary_interface.rb +90 -0
- data/lib/facter/util/resolvers/ssh.rb +9 -0
- data/lib/facter/util/resolvers/ssh_helper.rb +33 -0
- data/lib/facter/util/resolvers/uptime_helper.rb +32 -0
- data/lib/facter/util/utils.rb +50 -0
- data/lib/facter/util/windows/win32ole.rb +30 -0
- data/lib/facter/version.rb +5 -0
- data/lib/facter.rb +665 -0
- metadata +1202 -0
@@ -0,0 +1,221 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# This class acts as the factory and parent class for parsed
|
4
|
+
# facts such as scripts, text, json and yaml files.
|
5
|
+
#
|
6
|
+
# Parsers must subclass this class and provide their own #results method.
|
7
|
+
|
8
|
+
module LegacyFacter
|
9
|
+
module Util
|
10
|
+
module Parser
|
11
|
+
STDERR_MESSAGE = 'Command %s completed with the following stderr message: %s'
|
12
|
+
|
13
|
+
@parsers = []
|
14
|
+
|
15
|
+
# For support mutliple extensions you can pass an array of extensions as
|
16
|
+
# +ext+.
|
17
|
+
def self.extension_matches?(filename, ext)
|
18
|
+
extension = case ext
|
19
|
+
when String
|
20
|
+
ext.downcase
|
21
|
+
when Enumerable
|
22
|
+
ext.collect(&:downcase)
|
23
|
+
end
|
24
|
+
[extension].flatten.to_a.include?(file_extension(filename).downcase)
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.file_extension(filename)
|
28
|
+
File.extname(filename).sub('.', '')
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.register(klass, &suitable)
|
32
|
+
@parsers << [klass, suitable]
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.parser_for(filename)
|
36
|
+
registration = @parsers.detect { |k| k[1].call(filename) }
|
37
|
+
|
38
|
+
if registration.nil?
|
39
|
+
NothingParser.new
|
40
|
+
else
|
41
|
+
registration[0].new(filename)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
class Base
|
46
|
+
attr_reader :filename
|
47
|
+
|
48
|
+
def initialize(filename, content = nil)
|
49
|
+
@filename = filename
|
50
|
+
@content = content
|
51
|
+
end
|
52
|
+
|
53
|
+
def content
|
54
|
+
@content ||= Facter::Util::FileHelper.safe_read(filename, nil)
|
55
|
+
end
|
56
|
+
|
57
|
+
# results on the base class is really meant to be just an exception handler
|
58
|
+
# wrapper.
|
59
|
+
def results
|
60
|
+
parse_results
|
61
|
+
rescue StandardError => e
|
62
|
+
Facter.log_exception(e, "Failed to handle #{filename} as #{self.class} facts: #{e.message}")
|
63
|
+
nil
|
64
|
+
end
|
65
|
+
|
66
|
+
def parse_results
|
67
|
+
raise ArgumentError, 'Subclasses must respond to parse_results'
|
68
|
+
end
|
69
|
+
|
70
|
+
def parse_executable_output(output)
|
71
|
+
res = nil
|
72
|
+
begin
|
73
|
+
res = if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0') # Ruby 2.6+
|
74
|
+
YAML.safe_load(output, permitted_classes: [Symbol, Time])
|
75
|
+
else
|
76
|
+
YAML.safe_load(output, [Symbol, Time])
|
77
|
+
end
|
78
|
+
rescue StandardError => e
|
79
|
+
Facter.debug("Could not parse executable fact output as YAML or JSON (#{e.message})")
|
80
|
+
end
|
81
|
+
res = KeyValuePairOutputFormat.parse output unless res.is_a?(Hash)
|
82
|
+
res
|
83
|
+
end
|
84
|
+
|
85
|
+
def log_stderr(msg, command, file)
|
86
|
+
return if !msg || msg.empty?
|
87
|
+
|
88
|
+
file_name = file.split('/').last
|
89
|
+
logger = Facter::Log.new(file_name)
|
90
|
+
|
91
|
+
logger.warn(format(STDERR_MESSAGE, command, msg.strip))
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
module KeyValuePairOutputFormat
|
96
|
+
def self.parse(output)
|
97
|
+
return {} if output.nil?
|
98
|
+
|
99
|
+
result = {}
|
100
|
+
re = /^(.+?)=(.+)$/
|
101
|
+
output.each_line do |line|
|
102
|
+
if (match_data = re.match(line.chomp))
|
103
|
+
result[match_data[1]] = match_data[2]
|
104
|
+
end
|
105
|
+
end
|
106
|
+
result
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
# This regex was taken from Psych and adapted
|
111
|
+
# https://github.com/ruby/psych/blob/d2deaa9adfc88fc0b870df022a434d6431277d08/lib/psych/scalar_scanner.rb#L9
|
112
|
+
# It is used to detect Time in YAML, but we use it to wrap time objects in quotes to be treated as strings.
|
113
|
+
TIME =
|
114
|
+
/(\d{4}-\d{1,2}-\d{1,2}(?:[Tt]|\s+)\d{1,2}:\d\d:\d\d(?:\.\d*)?(?:\s*(?:Z|[-+]\d{1,2}:?(?:\d\d)?))?\s*$)/.freeze
|
115
|
+
|
116
|
+
class YamlParser < Base
|
117
|
+
def parse_results
|
118
|
+
# Add quotes to Yaml time
|
119
|
+
cont = content.gsub(TIME, '"\1"')
|
120
|
+
|
121
|
+
if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0') # Ruby 2.6+
|
122
|
+
YAML.safe_load(cont, permitted_classes: [Date], aliases: true)
|
123
|
+
else
|
124
|
+
YAML.safe_load(cont, [Date], [], [], true)
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
register(YamlParser) do |filename|
|
130
|
+
extension_matches?(filename, 'yaml')
|
131
|
+
end
|
132
|
+
|
133
|
+
class TextParser < Base
|
134
|
+
def parse_results
|
135
|
+
KeyValuePairOutputFormat.parse content
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
register(TextParser) do |filename|
|
140
|
+
extension_matches?(filename, 'txt')
|
141
|
+
end
|
142
|
+
|
143
|
+
class JsonParser < Base
|
144
|
+
def parse_results
|
145
|
+
if LegacyFacter.json?
|
146
|
+
JSON.parse(content)
|
147
|
+
else
|
148
|
+
log.warnonce "Cannot parse JSON data file #{filename} without the json library."
|
149
|
+
log.warnonce 'Suggested next step is `gem install json` to install the json library.'
|
150
|
+
nil
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
private
|
155
|
+
|
156
|
+
def log
|
157
|
+
@log ||= Facter::Log.new(self)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
register(JsonParser) do |filename|
|
162
|
+
extension_matches?(filename, 'json')
|
163
|
+
end
|
164
|
+
|
165
|
+
class ScriptParser < Base
|
166
|
+
def parse_results
|
167
|
+
stdout, stderr = Facter::Core::Execution.execute_command(quote(filename))
|
168
|
+
log_stderr(stderr, filename, filename)
|
169
|
+
parse_executable_output(stdout)
|
170
|
+
end
|
171
|
+
|
172
|
+
private
|
173
|
+
|
174
|
+
def quote(filename)
|
175
|
+
filename.index(' ') ? "\"#{filename}\"" : filename
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
register(ScriptParser) do |filename|
|
180
|
+
if LegacyFacter::Util::Config.windows?
|
181
|
+
extension_matches?(filename, %w[bat cmd com exe]) && FileTest.file?(filename)
|
182
|
+
else
|
183
|
+
File.executable?(filename) && FileTest.file?(filename) && !extension_matches?(filename, %w[bat cmd com exe])
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
# Executes and parses the key value output of Powershell scripts
|
188
|
+
class PowershellParser < Base
|
189
|
+
# Returns a hash of facts from powershell output
|
190
|
+
def parse_results
|
191
|
+
powershell =
|
192
|
+
if File.readable?("#{ENV['SYSTEMROOT']}\\sysnative\\WindowsPowershell\\v1.0\\powershell.exe")
|
193
|
+
"#{ENV['SYSTEMROOT']}\\sysnative\\WindowsPowershell\\v1.0\\powershell.exe"
|
194
|
+
elsif File.readable?("#{ENV['SYSTEMROOT']}\\system32\\WindowsPowershell\\v1.0\\powershell.exe")
|
195
|
+
"#{ENV['SYSTEMROOT']}\\system32\\WindowsPowershell\\v1.0\\powershell.exe"
|
196
|
+
else
|
197
|
+
'powershell.exe'
|
198
|
+
end
|
199
|
+
|
200
|
+
shell_command =
|
201
|
+
"\"#{powershell}\" -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Bypass -File \"#{filename}\""
|
202
|
+
stdout, stderr = Facter::Core::Execution.execute_command(shell_command)
|
203
|
+
log_stderr(stderr, shell_command, filename)
|
204
|
+
parse_executable_output(stdout)
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
register(PowershellParser) do |filename|
|
209
|
+
LegacyFacter::Util::Config.windows? && extension_matches?(filename, 'ps1') && FileTest.file?(filename)
|
210
|
+
end
|
211
|
+
|
212
|
+
# A parser that is used when there is no other parser that can handle the file
|
213
|
+
# The return from results indicates to the caller the file was not parsed correctly.
|
214
|
+
class NothingParser
|
215
|
+
def results
|
216
|
+
nil
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
@@ -0,0 +1,198 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# This represents a fact resolution. A resolution is a concrete
|
4
|
+
# implementation of a fact. A single fact can have many resolutions and
|
5
|
+
# the correct resolution will be chosen at runtime. Each time
|
6
|
+
# {Facter.add} is called, a new resolution is created and added to the
|
7
|
+
# set of resolutions for the fact named in the call. Each resolution
|
8
|
+
# has a {#has_weight weight}, which defines its priority over other
|
9
|
+
# resolutions, and a set of {#confine _confinements_}, which defines the
|
10
|
+
# conditions under which it will be chosen. All confinements must be
|
11
|
+
# satisfied for a fact to be considered _suitable_.
|
12
|
+
#
|
13
|
+
# @api public
|
14
|
+
module Facter
|
15
|
+
module Util
|
16
|
+
class Resolution
|
17
|
+
# @api private
|
18
|
+
attr_accessor :code, :fact_type
|
19
|
+
|
20
|
+
# @api private
|
21
|
+
attr_writer :value
|
22
|
+
|
23
|
+
extend Facter::Core::Execution
|
24
|
+
|
25
|
+
class << self
|
26
|
+
# Expose command execution methods that were extracted into
|
27
|
+
# Facter::Core::Execution from Facter::Util::Resolution in Facter 2.0.0 for
|
28
|
+
# compatibility.
|
29
|
+
#
|
30
|
+
# @deprecated
|
31
|
+
#
|
32
|
+
# @api public
|
33
|
+
public :which, :exec
|
34
|
+
|
35
|
+
# @api private
|
36
|
+
public :with_env
|
37
|
+
end
|
38
|
+
|
39
|
+
include LegacyFacter::Core::Resolvable
|
40
|
+
include LegacyFacter::Core::Suitable
|
41
|
+
|
42
|
+
# @!attribute [rw] name
|
43
|
+
# The name of this resolution. The resolution name should be unique with
|
44
|
+
# respect to the given fact.
|
45
|
+
#
|
46
|
+
# @return [String]
|
47
|
+
#
|
48
|
+
# @api public
|
49
|
+
attr_accessor :name
|
50
|
+
|
51
|
+
# @!attribute [r] fact
|
52
|
+
#
|
53
|
+
# @return [Facter::Util::Fact] Associated fact with this resolution.
|
54
|
+
#
|
55
|
+
# @api private
|
56
|
+
attr_reader :fact, :last_evaluated, :file
|
57
|
+
|
58
|
+
# Create a new resolution mechanism.
|
59
|
+
#
|
60
|
+
# @param name [String] The name of the resolution.
|
61
|
+
# @param fact [Facter::Fact] The fact to which this
|
62
|
+
# resolution will be added.
|
63
|
+
#
|
64
|
+
# @return [Facter::Util::Resolution] The created resolution
|
65
|
+
#
|
66
|
+
# @api public
|
67
|
+
def initialize(name, fact)
|
68
|
+
@name = name
|
69
|
+
@fact = fact
|
70
|
+
@confines = []
|
71
|
+
@value = nil
|
72
|
+
@timeout = 0
|
73
|
+
@weight = nil
|
74
|
+
end
|
75
|
+
|
76
|
+
# Returns the fact's resolution type
|
77
|
+
#
|
78
|
+
# @return [Symbol] The fact's type
|
79
|
+
#
|
80
|
+
# @api private
|
81
|
+
def resolution_type
|
82
|
+
:simple
|
83
|
+
end
|
84
|
+
|
85
|
+
# Evaluate the given block in the context of this resolution. If a block has
|
86
|
+
# already been evaluated emit a warning to that effect.
|
87
|
+
#
|
88
|
+
# @return [String] Result of the block's evaluation
|
89
|
+
#
|
90
|
+
# @api private
|
91
|
+
def evaluate(&block)
|
92
|
+
if @last_evaluated
|
93
|
+
msg = +"Already evaluated #{@name}"
|
94
|
+
msg << " at #{@last_evaluated}" if msg.is_a? String
|
95
|
+
msg << ', reevaluating anyways'
|
96
|
+
log.warn msg
|
97
|
+
end
|
98
|
+
|
99
|
+
instance_eval(&block)
|
100
|
+
|
101
|
+
@last_evaluated = block.source_location.join(':')
|
102
|
+
end
|
103
|
+
|
104
|
+
# Sets options for the aggregate fact
|
105
|
+
#
|
106
|
+
# @return [nil]
|
107
|
+
#
|
108
|
+
# @api private
|
109
|
+
def options(options)
|
110
|
+
accepted_options = %i[name value timeout weight fact_type file is_env]
|
111
|
+
|
112
|
+
accepted_options.each do |option_name|
|
113
|
+
instance_variable_set("@#{option_name}", options.delete(option_name)) if options.key?(option_name)
|
114
|
+
end
|
115
|
+
|
116
|
+
raise ArgumentError, "Invalid resolution options #{options.keys.inspect}" unless options.keys.empty?
|
117
|
+
end
|
118
|
+
|
119
|
+
# Sets the code block or external program that will be evaluated to
|
120
|
+
# get the value of the fact.
|
121
|
+
#
|
122
|
+
# @overload setcode(string)
|
123
|
+
# Sets an external program to call to get the value of the resolution
|
124
|
+
# @param [String] string the external program to run to get the
|
125
|
+
# value
|
126
|
+
#
|
127
|
+
# @overload setcode(&block)
|
128
|
+
# Sets the resolution's value by evaluating a block at runtime
|
129
|
+
# @param [Proc] block The block to determine the resolution's value.
|
130
|
+
# This block is run when the fact is evaluated. Errors raised from
|
131
|
+
# inside the block are rescued and printed to stderr.
|
132
|
+
#
|
133
|
+
# @return [Facter::Util::Resolution] Returns itself
|
134
|
+
#
|
135
|
+
# @api public
|
136
|
+
def setcode(string = nil, &block)
|
137
|
+
if string
|
138
|
+
@code = proc do
|
139
|
+
output = Facter::Core::Execution.execute(string, on_fail: nil)
|
140
|
+
if output.nil? || output.empty?
|
141
|
+
nil
|
142
|
+
else
|
143
|
+
output
|
144
|
+
end
|
145
|
+
end
|
146
|
+
elsif block_given?
|
147
|
+
@code = block
|
148
|
+
else
|
149
|
+
raise ArgumentError, 'You must pass either code or a block'
|
150
|
+
end
|
151
|
+
self
|
152
|
+
end
|
153
|
+
|
154
|
+
# Comparison is done based on weight and fact type.
|
155
|
+
# The greater the weight, the higher the priority.
|
156
|
+
# If weights are equal, we consider external facts greater than custom facts.
|
157
|
+
#
|
158
|
+
# @return [bool] Weight comparison result
|
159
|
+
#
|
160
|
+
# @api private
|
161
|
+
def <=>(other)
|
162
|
+
if weight == other.weight
|
163
|
+
compare_equal_weights(other)
|
164
|
+
else
|
165
|
+
weight <=> other.weight
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
private
|
170
|
+
|
171
|
+
def log
|
172
|
+
@log ||= Facter::Log.new(self)
|
173
|
+
end
|
174
|
+
|
175
|
+
# If the weights are equal, we consider external facts greater tan custom facts
|
176
|
+
def compare_equal_weights(other)
|
177
|
+
# Other is considered greater because self is custom fact and other is external
|
178
|
+
return -1 if fact_type == :custom && other.fact_type == :external
|
179
|
+
|
180
|
+
# Self is considered greater, because it is external fact and other is custom
|
181
|
+
return 1 if fact_type == :external && other.fact_type == :custom
|
182
|
+
|
183
|
+
# They are considered equal
|
184
|
+
0
|
185
|
+
end
|
186
|
+
|
187
|
+
def resolve_value
|
188
|
+
if !@value.nil?
|
189
|
+
@value
|
190
|
+
elsif @code.nil?
|
191
|
+
nil
|
192
|
+
elsif @code
|
193
|
+
@code.call
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
@@ -0,0 +1,109 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module LegacyFacter
|
4
|
+
module Util
|
5
|
+
# A util module for custom_facts containing helper methods
|
6
|
+
module Values
|
7
|
+
module_function
|
8
|
+
|
9
|
+
class DeepFreezeError < StandardError; end
|
10
|
+
|
11
|
+
# Duplicate and deeply freeze a given data structure
|
12
|
+
#
|
13
|
+
# @param value [Object] The structure to freeze
|
14
|
+
# @return [void]
|
15
|
+
def deep_freeze(value)
|
16
|
+
case value
|
17
|
+
when Numeric, Symbol, TrueClass, FalseClass, NilClass
|
18
|
+
# These are immutable values, we can safely ignore them
|
19
|
+
value
|
20
|
+
when String
|
21
|
+
value.dup.freeze
|
22
|
+
when Array
|
23
|
+
value.map do |entry|
|
24
|
+
deep_freeze(entry)
|
25
|
+
end.freeze
|
26
|
+
when Hash
|
27
|
+
value.each_with_object({}) do |(key, val), hash|
|
28
|
+
hash[deep_freeze(key)] = deep_freeze(val)
|
29
|
+
end.freeze
|
30
|
+
else
|
31
|
+
raise DeepFreezeError, "Cannot deep freeze #{value}:#{value.class}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
class DeepMergeError < StandardError; end
|
36
|
+
|
37
|
+
# Perform a deep merge of two nested data structures.
|
38
|
+
#
|
39
|
+
# @param left [Object]
|
40
|
+
# @param right [Object]
|
41
|
+
# @param path [Array<String>] The traversal path followed when merging nested hashes
|
42
|
+
#
|
43
|
+
# @return [Object] The merged data structure.
|
44
|
+
def deep_merge(left, right, path = [])
|
45
|
+
ret = nil
|
46
|
+
|
47
|
+
if left.is_a?(Hash) && right.is_a?(Hash)
|
48
|
+
ret = left.merge(right) do |key, left_val, right_val|
|
49
|
+
path.push(key)
|
50
|
+
merged = deep_merge(left_val, right_val, path)
|
51
|
+
path.pop
|
52
|
+
merged
|
53
|
+
end
|
54
|
+
elsif left.is_a?(Array) && right.is_a?(Array)
|
55
|
+
ret = left.dup.concat(right)
|
56
|
+
elsif right.nil?
|
57
|
+
ret = left
|
58
|
+
elsif left.nil?
|
59
|
+
ret = right
|
60
|
+
elsif left.nil? && right.nil?
|
61
|
+
ret = nil
|
62
|
+
else
|
63
|
+
msg = "Cannot merge #{left.inspect}:#{left.class} and #{right.inspect}:#{right.class}"
|
64
|
+
unless path.empty?
|
65
|
+
msg << ' at root'
|
66
|
+
msg << path.map { |part| "[#{part.inspect}]" }.join
|
67
|
+
end
|
68
|
+
raise DeepMergeError, msg
|
69
|
+
end
|
70
|
+
|
71
|
+
ret
|
72
|
+
end
|
73
|
+
|
74
|
+
def convert(value)
|
75
|
+
value = value.to_s if value.is_a?(Symbol)
|
76
|
+
value = value.downcase if value.is_a?(String)
|
77
|
+
value
|
78
|
+
end
|
79
|
+
|
80
|
+
# Flatten the given data structure to something that's suitable to return
|
81
|
+
# as flat facts.
|
82
|
+
#
|
83
|
+
# @param path [String] The fact path to be prefixed to the given value.
|
84
|
+
# @param structure [Object] The data structure to flatten. Nested hashes
|
85
|
+
# will be recursively flattened, everything else will be returned as-is.
|
86
|
+
#
|
87
|
+
# @return [Hash] The given data structure prefixed with the given path
|
88
|
+
def flatten_structure(path, structure)
|
89
|
+
results = {}
|
90
|
+
|
91
|
+
if structure.is_a? Hash
|
92
|
+
structure.each_pair do |name, value|
|
93
|
+
new_path = "#{path}_#{name}".gsub(%r{-|/}, '_')
|
94
|
+
results.merge! flatten_structure(new_path, value)
|
95
|
+
end
|
96
|
+
elsif structure.is_a? Array
|
97
|
+
structure.each_with_index do |value, index|
|
98
|
+
new_path = "#{path}_#{index}"
|
99
|
+
results.merge! flatten_structure(new_path, value)
|
100
|
+
end
|
101
|
+
else
|
102
|
+
results[path] = structure
|
103
|
+
end
|
104
|
+
|
105
|
+
results
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module LegacyFacter
|
4
|
+
module Util
|
5
|
+
module Root
|
6
|
+
def self.root?
|
7
|
+
require_relative '../../../facter/resolvers/windows/ffi/identity_ffi'
|
8
|
+
IdentityFFI.privileged?
|
9
|
+
rescue LoadError => e
|
10
|
+
log = Facter::Log.new(self)
|
11
|
+
log.debug("The ffi gem has not been installed: #{e}")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
class AioAgentVersion
|
6
|
+
FACT_NAME = 'aio_agent_version'
|
7
|
+
|
8
|
+
def call_the_resolver
|
9
|
+
fact_value = Facter::Resolvers::AioAgentVersion.resolve(:aio_agent_version)
|
10
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
module Augeas
|
6
|
+
class Version
|
7
|
+
FACT_NAME = 'augeas.version'
|
8
|
+
ALIASES = 'augeasversion'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Augeas.resolve(:augeas_version)
|
12
|
+
|
13
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
14
|
+
Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
class Disks
|
6
|
+
FACT_NAME = 'disks'
|
7
|
+
ALIASES = %w[blockdevices blockdevice_.*_size].freeze
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
facts = []
|
11
|
+
disks = Facter::Resolvers::Aix::Disks.resolve(:disks)
|
12
|
+
|
13
|
+
return Facter::ResolvedFact.new(FACT_NAME, nil) if disks.nil? || disks.empty?
|
14
|
+
|
15
|
+
blockdevices = disks.keys.join(',')
|
16
|
+
facts.push(Facter::ResolvedFact.new(FACT_NAME, disks))
|
17
|
+
facts.push(Facter::ResolvedFact.new('blockdevices', blockdevices, :legacy))
|
18
|
+
add_legacy_facts(disks, facts)
|
19
|
+
|
20
|
+
facts
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def add_legacy_facts(disks, facts)
|
26
|
+
disks.each do |disk_name, disk_info|
|
27
|
+
facts.push(Facter::ResolvedFact.new("blockdevice_#{disk_name}_size", disk_info[:size_bytes], :legacy))
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
class Facterversion
|
6
|
+
FACT_NAME = 'facterversion'
|
7
|
+
|
8
|
+
def call_the_resolver
|
9
|
+
fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion)
|
10
|
+
|
11
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
class Filesystems
|
6
|
+
FACT_NAME = 'filesystems'
|
7
|
+
|
8
|
+
def call_the_resolver
|
9
|
+
fact_value = Facter::Resolvers::Aix::Filesystems.resolve(:file_systems)
|
10
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
module Hypervisors
|
6
|
+
class Lpar
|
7
|
+
FACT_NAME = 'hypervisors.lpar'
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
lpar_partition_number = Facter::Resolvers::Lpar.resolve(:lpar_partition_number)
|
11
|
+
return Facter::ResolvedFact.new(FACT_NAME, nil) unless lpar_partition_number&.positive?
|
12
|
+
|
13
|
+
Facter::ResolvedFact.new(FACT_NAME,
|
14
|
+
partition_number: lpar_partition_number,
|
15
|
+
partition_name: Facter::Resolvers::Lpar.resolve(:lpar_partition_name))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
module Hypervisors
|
6
|
+
class Wpar
|
7
|
+
FACT_NAME = 'hypervisors.wpar'
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
wpar_key = Facter::Resolvers::Wpar.resolve(:wpar_key)
|
11
|
+
return Facter::ResolvedFact.new(FACT_NAME, nil) unless wpar_key&.positive?
|
12
|
+
|
13
|
+
Facter::ResolvedFact.new(FACT_NAME, key: wpar_key,
|
14
|
+
configured_id: Facter::Resolvers::Wpar.resolve(:wpar_configured_id))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|