lib/schema/facter.yaml
# This file is used to validate the facter output schema and also document facts.
#
# Use the following attributes for each entry:
# - pattern (optional): the pattern to match against a fact name; if not specified, an exact match is performed.
# - type (required): the type of the fact. Must be one of the following:
# * integer
# * double
# * string
# * boolean
# * array
# * map
# * ip (IPv4 address string)
# * ip6 (IPv6 address string)
# * mac (MAC address string)
# - hidden (optional; default: false): true if the value is hidden from facter output by default, false if not.
# - description (required): describes the fact's purpose.
# - resolution (optional): describes how the fact is resolved.
# - caveats (optional): describes any caveats to the fact.
# - elements (required for map types): contains the element values of a map value; each element is another entry.
# - validate (optional; default: true): true if a map value's elements should be validated or false if not.
# - blockgroup (optional): the block group of this fact; if not specified, the fact cannot be blocked
#
# Please keep the facts in alphabetical order.
aio_agent_version:
type: string
description: Return the version of the puppet-agent package that installed facter.
resolution: |
All platforms: use the compile-time enabled version definition.
architecture:
type: string
hidden: true
description: Return the operating system's hardware architecture.
resolution: |
POSIX platforms: use the `uname` function to retrieve the OS hardware architecture.
Windows: use the `GetNativeSystemInfo` function to retrieve the OS hardware architecture.
caveats: |
Linux: Debian, Gentoo, kFreeBSD, and Ubuntu use "amd64" for "x86_64" and Gentoo uses "x86" for "i386".
augeas:
type: map
description: Return information about augeas.
resolution: |
All platforms: query augparse for augeas metadata.
elements:
version:
type: string
description: The version of augparse.
augeasversion:
type: string
hidden: true
description: Return the version of augeas.
resolution: |
All platforms: query augparse for the augeas version.
az_metadata:
type: map
description: |
Return the Microsoft Azure instance metadata.
Please see the [Microsoft Azure instance metadata documentation](http://https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service) for the contents of this fact.
resolution: |
Azure: query the Azure metadata endpoint and parse the response.
caveats: |
All platforms: `libfacter` must be built with `libcurl` support.
validate: false
blockdevices:
type: string
hidden: true
description: Return a comma-separated list of block devices.
resolution: |
Linux: parse the contents of `/sys/block/<device>/`.
Solaris: use the `kstat` function to query disk information.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
blockdevice_<devicename>_model:
pattern: '^blockdevice_[A-Za-z0-9]+_model$'
type: string
hidden: true
description: Return the model name of block devices attached to the system.
resolution: |
Linux: parse the contents of `/sys/block/<device>/device/model` to retrieve the model name/number for a device.
Solaris: use the `kstat` function to query disk information.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
blockdevice_<devicename>_size:
pattern: ^blockdevice_[A-Za-z0-9]+_size$
type: integer
hidden: true
description: Return the size of a block device in bytes.
resolution: |
Linux: parse the contents of `/sys/block/<device>/size` to receive the size (multiplying by 512 to correct for blocks-to-bytes).
Solaris: use the `kstat` function to query disk information.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
blockdevice_<devicename>_vendor:
pattern: ^blockdevice_[A-Za-z0-9]+_vendor$
type: string
hidden: true
description: Return the vendor name of block devices attached to the system.
resolution: |
Linux: parse the contents of `/sys/block/<device>/device/vendor` to retrieve the vendor for a device.
Solaris: use the `kstat` function to query disk information.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
bios_release_date:
type: string
hidden: true
description: Return the release date of the system BIOS.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/bios_date` to retrieve the system BIOS release date.
Solaris: use the `smbios` utility to retrieve the system BIOS release date.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
bios_vendor:
type: string
hidden: true
description: Return the vendor of the system BIOS.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/bios_vendor` to retrieve the system BIOS vendor.
Solaris: use the `smbios` utility to retrieve the system BIOS vendor.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
bios_version:
type: string
hidden: true
description: Return the version of the system BIOS.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/bios_version` to retrieve the system BIOS version.
Solaris: use the `smbios` utility to retrieve the system BIOS version.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
boardassettag:
type: string
hidden: true
description: Return the system board asset tag.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/board_asset_tag` to retrieve the system board asset tag.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
boardmanufacturer:
type: string
hidden: true
description: Return the system board manufacturer.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/board_vendor` to retrieve the system board manufacturer.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
boardproductname:
type: string
hidden: true
description: Return the system board product name.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/board_name` to retrieve the system board product name.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
boardserialnumber:
type: string
hidden: true
description: Return the system board serial number.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/board_serial` to retrieve the system board serial number.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
chassisassettag:
type: string
hidden: true
description: Return the system chassis asset tag.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/chassis_asset_tag` to retrieve the system chassis asset tag.
Solaris: use the `smbios` utility to retrieve the system chassis asset tag.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
chassistype:
type: string
hidden: true
description: Return the system chassis type.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/chassis_type` to retrieve the system chassis type.
Solaris: use the `smbios` utility to retrieve the system chassis type.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
cloud:
type: map
description: Information about the cloud instance of the node. This is currently only populated on nodes running in Microsoft Azure, Amazon Web Services, and Google Compute Engine.
elements:
provider:
type: string
description: The cloud provider for the node.
dhcp_servers:
type: map
hidden: true
description: Return the DHCP servers for the system.
resolution: |
Linux: parse `dhclient` lease files or use the `dhcpcd` utility to retrieve the DHCP servers.
Mac OSX: use the `ipconfig` utility to retrieve the DHCP servers.
Solaris: use the `dhcpinfo` utility to retrieve the DHCP servers.
Windows: use the `GetAdaptersAddresses` (Windows Server 2003: `GetAdaptersInfo`) function to retrieve the DHCP servers.
elements:
<interface>:
pattern: ^((?!system).+)*$
type: ip
description: The DHCP server for the interface.
system:
type: ip
description: The DHCP server for the default interface.
disks:
type: map
description: Return the disk (block) devices attached to the system.
resolution: |
AIX: query the ODM for all disk devices
Linux: parse the contents of `/sys/block/<device>/`.
Solaris: use the `kstat` function to query disk information.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
elements:
<devicename>:
pattern: \w+
type: map
description: Represents a disk or block device.
elements:
model:
type: string
description: The model of the disk or block device.
product:
type: string
description: The product name of the disk or block device.
caveats: Only present on Solaris.
serial_number:
type: string
description: The serial number of the disk or block device.
size:
type: string
description: The display size of the disk or block device, such as "1 GiB".
size_bytes:
type: integer
description: The size of the disk or block device, in bytes.
vendor:
type: string
description: The vendor of the disk or block device.
type:
type: string
description: The type of disk or block device (sshd or hdd). This fact is available only on Linux.
dmi:
type: map
description: Return the system management information.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/` to retrieve system management information.
Mac OSX: use the `sysctl` function to retrieve system management information.
Solaris: use the `smbios`, `prtconf`, and `uname` utilities to retrieve system management information.
Windows: use WMI to retrieve system management information.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
elements:
bios:
type: map
description: The system BIOS information.
elements:
release_date:
type: string
description: The release date of the system BIOS.
vendor:
type: string
description: The vendor of the system BIOS.
version:
type: string
description: The version of the system BIOS.
board:
type: map
description: The system board information.
elements:
asset_tag:
type: string
description: The asset tag of the system board.
manufacturer:
type: string
description: The manufacturer of the system board.
product:
type: string
description: The product name of the system board.
serial_number:
type: string
description: The serial number of the system board.
chassis:
type: map
description: The system chassis information.
elements:
asset_tag:
type: string
description: The asset tag of the system chassis.
type:
type: string
description: The type of the system chassis.
manufacturer:
type: string
description: The system manufacturer.
product:
type: map
description: The system product information.
elements:
name:
type: string
description: The product name of the system.
serial_number:
type: string
description: The product serial number of the system.
uuid:
type: string
description: The product unique identifier of the system.
domain:
type: string
hidden: true
description: Return the network domain of the system.
resolution: |
POSIX platforms: use the `getaddrinfo` function to retrieve the network domain.
Windows: query the registry to retrieve the network domain; falls back to the primary interface's domain if not set in the registry.
ec2_metadata:
type: map
description: |
Return the Amazon Elastic Compute Cloud (EC2) instance metadata.
Please see the [EC2 instance metadata documentation](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) for the contents of this fact.
resolution: |
EC2: query the EC2 metadata endpoint and parse the response.
caveats: |
All platforms: `libfacter` must be built with `libcurl` support.
validate: false
blockgroup: EC2
ec2_userdata:
type: string
description: |
Return the Amazon Elastic Compute Cloud (EC2) instance user data.
Please see the [EC2 instance user data documentation](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) for the contents of this fact.
resolution: |
EC2: query the EC2 user data endpoint and parse the response.
caveats: |
All platforms: `libfacter` must be built with `libcurl` support.
blockgroup: EC2
env_windows_installdir:
type: string
description: Return the path of the directory in which Puppet was installed.
resolution: |
Windows: This fact is specific to the Windows MSI generated environment, and is
set using the `environment.bat` script that configures the runtime environment
for all Puppet executables. Please see [the original commit in the puppet_for_the_win repo](https://github.com/puppetlabs/puppet_for_the_win/commit/0cc32c1a09550c13d725b200d3c0cc17d93ec262) for more information.
caveats: |
This fact is specific to Windows, and will not resolve on any other platform.
facterversion:
type: string
description: Return the version of facter.
resolution: |
All platforms: use the built-in version of libfacter.
filesystems:
type: string
description: Return the usable file systems for block or disk devices.
resolution: |
AIX: parse the contents of `/etc/vfs` to retrieve the usable file systems.
Linux: parse the contents of `/proc/filesystems` to retrieve the usable file systems.
Mac OSX: use the `getfsstat` function to retrieve the usable file systems.
Solaris: use the `sysdef` utility to retrieve the usable file systems.
caveats: |
Linux: The proc file system must be mounted.
Mac OSX: The usable file systems is limited to the file system of mounted devices.
blockgroup: file system
fips_enabled:
type: boolean
description: Return whether the platform is in FIPS mode
resolution: |
Linux: parse the contents of `/proc/sys/crypto/fips_enabled` which if non-zero indicates fips mode has been enabled.
Windows: check if key `HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa/FipsAlgorithmPolicy/Enabled` is 1 or 0
caveats: |
Linux: Limited to linux redhat family only
details: |
Only available on Windows and Redhat linux family
fqdn:
type: string
hidden: true
description: Return the fully qualified domain name (FQDN) of the system.
resolution: |
POSIX platforms: use the `getaddrinfo` function to retrieve the FQDN or use host and domain names.
Windows: use the host and domain names to build the FQDN.
gce:
type: map
description: |
Return the Google Compute Engine (GCE) metadata.
Please see the [GCE metadata documentation](https://cloud.google.com/compute/docs/metadata) for the contents of this fact.
resolution: |
GCE: query the GCE metadata endpoint and parse the response.
caveats: |
All platforms: `libfacter` must be built with `libcurl` support.
validate: false
gid:
type: string
hidden: true
description: Return the group identifier (GID) of the user running facter.
resolution: |
POSIX platforms: use the `getegid` fuction to retrieve the group identifier.
hardwareisa:
type: string
hidden: true
description: Return the hardware instruction set architecture (ISA).
resolution: |
POSIX platforms: use `uname` to retrieve the hardware ISA.
Windows: use WMI to retrieve the hardware ISA.
hardwaremodel:
type: string
hidden: true
description: Return the operating system's hardware model.
resolution: |
POSIX platforms: use the `uname` function to retrieve the OS hardware model.
Windows: use the `GetNativeSystemInfo` function to retrieve the OS hardware model.
hostname:
type: string
hidden: true
description: Return the host name of the system.
resolution: |
POSIX platforms: use the `gethostname` function to retrieve the host name
Windows: use the `GetComputerNameExW` function to retrieve the host name.
hypervisors:
type: map
description: |
Experimental fact: Return the names of any detected hypervisors and any collected metadata about them.
resolution: |
All platforms: Use the external `whereami` library to gather hypervisor data, if available.
validate: false
id:
type: string
hidden: true
description: Return the user identifier (UID) of the user running facter.
resolution: |
POSIX platforms: use the `geteuid` fuction to retrieve the user identifier.
identity:
type: map
description: Return the identity information of the user running facter.
resolution: |
POSIX platforms: use the `getegid`, `getpwuid_r`, `geteuid`, and `getgrgid_r` functions to retrieve the identity information; use the result of the `geteuid() == 0` test as the value of the privileged element
Windows: use the `GetUserNameExW` function to retrieve the identity information; use the `GetTokenInformation` to get the current process token elevation status and use it as the value of the privileged element on versions of Windows supporting the token elevation, on older versions of Windows use the `CheckTokenMembership` to test whether the well known local Administrators group SID is enabled in the current thread impersonation token and use the test result as the value of the privileged element
elements:
gid:
type: integer
description: The group identifier of the user running facter.
group:
type: string
description: The group name of the user running facter.
uid:
type: integer
description: The user identifier of the user running facter.
user:
type: string
description: The user name of the user running facter.
privileged:
type: boolean
description: True if facter is running as a privileged process or false if not.
interfaces:
type: string
hidden: true
description: Return the comma-separated list of network interface names.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface names.
Mac OSX: use the `getifaddrs` function to retrieve the network interface names.
Solaris: use the `ioctl` function to retrieve the network interface names.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface names.
ipaddress:
type: ip
hidden: true
description: Return the IPv4 address for the default network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface address.
Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
Solaris: use the `ioctl` function to retrieve the network interface address.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
ipaddress6:
type: ip6
hidden: true
description: Return the IPv6 address for the default network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface address.
Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
Solaris: use the `ioctl` function to retrieve the network interface address.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
ipaddress6_<interface>:
pattern: ^ipaddress6_.+$
type: ip6
hidden: true
description: Return the IPv6 address for a network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface address.
Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
Solaris: use the `ioctl` function to retrieve the network interface address.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
ipaddress_<interface>:
pattern: ^ipaddress_.+$
type: ip
hidden: true
description: Return the IPv4 address for a network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface address.
Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
Solaris: use the `ioctl` function to retrieve the network interface address.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
is_virtual:
type: boolean
description: Return whether or not the host is a virtual machine.
resolution: |
Linux: use procfs or utilities such as `vmware` and `virt-what` to retrieve virtual machine status.
Mac OSX: use the system profiler to retrieve virtual machine status.
Solaris: use the `zonename` utility to retrieve virtual machine status.
Windows: use WMI to retrieve virtual machine status.
kernel:
type: string
description: Return the kernel's name.
resolution: |
POSIX platforms: use the `uname` function to retrieve the kernel name.
Windows: use the value of `windows` for all Windows versions.
kernelmajversion:
type: string
description: Return the kernel's major version.
resolution: |
POSIX platforms: use the `uname` function to retrieve the kernel's major version.
Windows: use the file version of `kernel32.dll` to retrieve the kernel's major version.
kernelrelease:
type: string
description: Return the kernel's release.
resolution: |
POSIX platforms: use the `uname` function to retrieve the kernel's release.
Windows: use the file version of `kernel32.dll` to retrieve the kernel's release.
kernelversion:
type: string
description: Return the kernel's version.
resolution: |
POSIX platforms: use the `uname` function to retrieve the kernel's version.
Windows: use the file version of `kernel32.dll` to retrieve the kernel's version.
ldom:
type: map
description: Return Solaris LDom information from the `virtinfo` utility.
resolution: |
Solaris: use the `virtinfo` utility to retrieve LDom information.
validate: false
ldom_<name>:
pattern: ^ldom_.+$
hidden: true
type: string
description: Return Solaris LDom information.
resolution: |
Solaris: use the `virtinfo` utility to retrieve LDom information.
load_averages:
type: map
description: Return the load average over the last 1, 5 and 15 minutes.
resolution: |
POSIX platforms: use `getloadavg` function to retrieve the system load averages.
elements:
1m:
type: double
description: The system load average over the last minute.
5m:
type: double
description: The system load average over the last 5 minutes.
15m:
type: double
description: The system load average over the last 15 minutes.
lsbdistcodename:
type: string
hidden: true
description: Return the Linux Standard Base (LSB) distribution code name.
resolution: |
Linux: use the `lsb_release` utility to retrieve the LSB distribution code name.
caveats: |
Linux: Requires that the `lsb_release` utility be installed.
lsbdistdescription:
type: string
hidden: true
description: Return the Linux Standard Base (LSB) distribution description.
resolution: |
Linux: use the `lsb_release` utility to retrieve the LSB distribution description.
caveats: |
Linux: Requires that the `lsb_release` utility be installed.
lsbdistid:
type: string
hidden: true
description: Return the Linux Standard Base (LSB) distribution identifier.
resolution: |
Linux: use the `lsb_release` utility to retrieve the LSB distribution identifier.
caveats: |
Linux: Requires that the `lsb_release` utility be installed.
lsbdistrelease:
type: string
hidden: true
description: Return the Linux Standard Base (LSB) distribution release.
resolution: |
Linux: use the `lsb_release` utility to retrieve the LSB distribution release.
caveats: |
Linux: Requires that the `lsb_release` utility be installed.
lsbmajdistrelease:
type: string
hidden: true
description: Return the Linux Standard Base (LSB) major distribution release.
resolution: |
Linux: use the `lsb_release` utility to retrieve the LSB major distribution release.
caveats: |
Linux: Requires that the `lsb_release` utility be installed.
lsbminordistrelease:
type: string
hidden: true
description: Return the Linux Standard Base (LSB) minor distribution release.
resolution: |
Linux: use the `lsb_release` utility to retrieve the LSB minor distribution release.
caveats: |
Linux: Requires that the `lsb_release` utility be installed.
lsbrelease:
type: string
hidden: true
description: Return the Linux Standard Base (LSB) release.
resolution: |
Linux: use the `lsb_release` utility to retrieve the LSB release.
caveats: |
Linux: Requires that the `lsb_release` utility be installed.
macaddress:
type: mac
hidden: true
description: Return the MAC address for the default network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface address.
Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
Solaris: use the `ioctl` function to retrieve the network interface address.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
macaddress_<interface>:
pattern: ^macaddress_.+$
type: mac
hidden: true
description: Return the MAC address for a network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface address.
Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
Solaris: use the `ioctl` function to retrieve the network interface address.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
macosx_buildversion:
type: string
hidden: true
description: Return the Mac OSX build version.
resolution: |
Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX build version.
macosx_productname:
type: string
hidden: true
description: Return the Mac OSX product name.
resolution: |
Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product name.
macosx_productversion:
type: string
hidden: true
description: Return the Mac OSX product version.
resolution: |
Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product version.
macosx_productversion_major:
type: string
hidden: true
description: Return the Mac OSX product major version.
resolution: |
Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product major version.
macosx_productversion_minor:
type: string
hidden: true
description: Return the Mac OSX product minor version.
resolution: |
Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product minor version.
macosx_productversion_patch:
type: string
hidden: true
description: Return the Mac OSX product patch version.
resolution: |
Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product patch version.
manufacturer:
type: string
hidden: true
description: Return the system manufacturer.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/sys_vendor` to retrieve the system manufacturer.
Solaris: use the `prtconf` utility to retrieve the system manufacturer.
Windows: use WMI to retrieve the system manufacturer.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
memory:
type: map
description: Return the system memory information.
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the system memory information.
Mac OSX: use the `sysctl` function to retrieve the system memory information.
Solaris: use the `kstat` function to retrieve the system memory information.
Windows: use the `GetPerformanceInfo` function to retrieve the system memory information.
elements:
swap:
type: map
description: Represents information about swap memory.
elements:
available:
type: string
description: The display size of the available amount of swap memory, such as "1 GiB".
available_bytes:
type: integer
description: The size of the available amount of swap memory, in bytes.
capacity:
type: string
description: The capacity percentage (0% is empty, 100% is full).
encrypted:
type: boolean
description: True if the swap is encrypted or false if not.
total:
type: string
description: The display size of the total amount of swap memory, such as "1 GiB".
total_bytes:
type: integer
description: The size of the total amount of swap memory, in bytes.
used:
type: string
description: The display size of the used amount of swap memory, such as "1 GiB".
used_bytes:
type: integer
description: The size of the used amount of swap memory, in bytes.
system:
type: map
description: Represents information about system memory.
elements:
available:
type: string
description: The display size of the available amount of system memory, such as "1 GiB".
available_bytes:
type: integer
description: The size of the available amount of system memory, in bytes.
capacity:
type: string
description: The capacity percentage (0% is empty, 100% is full).
total:
type: string
description: The display size of the total amount of system memory, such as "1 GiB".
total_bytes:
type: integer
description: The size of the total amount of system memory, in bytes.
used:
type: string
description: The display size of the used amount of system memory, such as "1 GiB".
used_bytes:
type: integer
description: The size of the used amount of system memory, in bytes.
memoryfree:
type: string
hidden: true
description: Return the display size of the free system memory, such as "1 GiB".
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the free system memory.
Mac OSX: use the `sysctl` function to retrieve the free system memory.
Solaris: use the `kstat` function to retrieve the free system memory.
Windows: use the `GetPerformanceInfo` function to retrieve the free system memory.
memoryfree_mb:
type: double
hidden: true
description: Return the size of the free system memory, in mebibytes.
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the free system memory.
Mac OSX: use the `sysctl` function to retrieve the free system memory.
Solaris: use the `kstat` function to retrieve the free system memory.
Windows: use the `GetPerformanceInfo` function to retrieve the free system memory.
memorysize:
type: string
hidden: true
description: Return the display size of the total system memory, such as "1 GiB".
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the total system memory.
Mac OSX: use the `sysctl` function to retrieve the total system memory.
Solaris: use the `kstat` function to retrieve the total system memory.
Windows: use the `GetPerformanceInfo` function to retrieve the total system memory.
memorysize_mb:
type: double
hidden: true
description: Return the size of the total system memory, in mebibytes.
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the total system memory.
Mac OSX: use the `sysctl` function to retrieve the total system memory.
Solaris: use the `kstat` function to retrieve the total system memory.
Windows: use the `GetPerformanceInfo` function to retrieve the total system memory.
mountpoints:
type: map
description: Return the current mount points of the system.
resolution: |
AIX: use the `mntctl` function to retrieve the mount points.
Linux: use the `setmntent` function to retrieve the mount points.
Mac OSX: use the `getfsstat` function to retrieve the mount points.
Solaris: parse the contents of `/etc/mnttab` to retrieve the mount points.
blockgroup: file system
elements:
<mountpoint>:
pattern: .+
type: map
description: Represents a mount point.
elements:
available:
type: string
description: The display size of the available space, such as "1 GiB".
available_bytes:
type: integer
description: The size of the available space, in bytes.
capacity:
type: string
description: The capacity percentage (0% is empty, 100% is full).
device:
type: string
description: The name of the mounted device.
filesystem:
type: string
description: The file system of the mounted device.
options:
type: array
description: The mount options.
size:
type: string
description: The display size of the total space, such as "1 GiB".
size_bytes:
type: integer
description: The size of the total space, in bytes.
used:
type: string
description: The display size of the used space, such as "1 GiB".
used_bytes:
type: integer
description: The size of the used space, in bytes.
mtu_<interface>:
pattern: ^mtu_.+$
type: integer
hidden: true
description: Return the Maximum Transmission Unit (MTU) for a network interface.
resolution: |
Linux: use the `ioctl` function to retrieve the network interface MTU.
Mac OSX: use the `getifaddrs` function to retrieve the network interface MTU.
Solaris: use the `ioctl` function to retrieve the network interface MTU.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface MTU.
netmask:
type: ip
hidden: true
description: Return the IPv4 netmask for the default network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface netmask.
Mac OSX: use the `getifaddrs` function to retrieve the network interface netmask.
Solaris: use the `ioctl` function to retrieve the network interface netmask.
Windows: use the `GetAdaptersAddresses` (Windows Server 2003: `GetAdaptersInfo`) function to retrieve the network interface netmask.
netmask6:
type: ip6
hidden: true
description: Return the IPv6 netmask for the default network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface netmask.
Mac OSX: use the `getifaddrs` function to retrieve the network interface netmask.
Solaris: use the `ioctl` function to retrieve the network interface netmask.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface netmask.
caveats: |
Windows Server 2003: IPv6 netmasks are not supported.
netmask6_<interface>:
pattern: ^netmask6_.+$
type: ip6
hidden: true
description: Return the IPv6 netmask for a network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface netmask.
Mac OSX: use the `getifaddrs` function to retrieve the network interface netmask.
Solaris: use the `ioctl` function to retrieve the network interface netmask.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface netmask.
caveats: |
Windows Server 2003: IPv6 netmasks are not supported.
netmask_<interface>:
pattern: ^netmask_.+$
type: ip
hidden: true
description: Return the IPv4 netmask for a network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface netmask.
Mac OSX: use the `getifaddrs` function to retrieve the network interface netmask.
Solaris: use the `ioctl` function to retrieve the network interface netmask.
Windows: use the `GetAdaptersAddresses` (Windows Server 2003: `GetAdaptersInfo`) function to retrieve the network interface netmask.
network:
type: ip
hidden: true
description: Return the IPv4 network for the default network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface network.
Mac OSX: use the `getifaddrs` function to retrieve the network interface network.
Solaris: use the `ioctl` function to retrieve the network interface network.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface network.
network6:
type: ip6
hidden: true
description: Return the IPv6 network for the default network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface network.
Mac OSX: use the `getifaddrs` function to retrieve the network interface network.
Solaris: use the `ioctl` function to retrieve the network interface network.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface network.
network6_<interface>:
pattern: ^network6_.+$
type: ip6
hidden: true
description: Return the IPv6 network for a network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface network.
Mac OSX: use the `getifaddrs` function to retrieve the network interface network.
Solaris: use the `ioctl` function to retrieve the network interface network.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface network.
network_<interface>:
pattern: ^network_.+$
type: ip
hidden: true
description: Return the IPv4 network for a network interface.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interface network.
Mac OSX: use the `getifaddrs` function to retrieve the network interface network.
Solaris: use the `ioctl` function to retrieve the network interface network.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface network.
networking:
type: map
description: Return the networking information for the system.
resolution: |
Linux: use the `getifaddrs` function to retrieve the network interfaces.
Mac OSX: use the `getifaddrs` function to retrieve the network interfaces.
Solaris: use the `ioctl` function to retrieve the network interfaces.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interfaces.
caveats: |
Windows Server 2003: the `GetAdaptersInfo` function is used for DHCP and netmask lookup. This function does not support IPv6 netmasks.
elements:
dhcp:
type: ip
description: The address of the DHCP server for the default interface.
domain:
type: string
description: The domain name of the system.
fqdn:
type: string
description: The fully-qualified domain name of the system.
hostname:
type: string
description: The host name of the system.
interfaces:
type: map
description: The network interfaces of the system.
elements:
<interface>:
pattern: .+
type: map
description: Represents a network interface.
elements:
bindings:
type: array
description: The array of IPv4 address bindings for the interface.
bindings6:
type: array
description: The array of IPv6 address bindings for the interface.
dhcp:
type: ip
description: The DHCP server for the network interface.
ip:
type: ip
description: The IPv4 address for the network interface.
ip6:
type: ip6
description: The IPv6 address for the network interface.
mac:
type: mac
description: The MAC address for the network interface.
mtu:
type: integer
description: The Maximum Transmission Unit (MTU) for the network interface.
netmask:
type: ip
description: The IPv4 netmask for the network interface.
netmask6:
type: ip6
description: The IPv6 netmask for the network interface.
network:
type: ip
description: The IPv4 network for the network interface.
network6:
type: ip6
description: The IPv6 network for the network interface.
scope6:
type: string
description: The IPv6 scope for the network interface.
ip:
type: ip
description: The IPv4 address of the default network interface.
ip6:
type: ip6
description: The IPv6 address of the default network interface.
mac:
type: mac
description: The MAC address of the default network interface.
mtu:
type: integer
description: The Maximum Transmission Unit (MTU) of the default network interface.
netmask:
type: ip
description: The IPv4 netmask of the default network interface.
netmask6:
type: ip6
description: The IPv6 netmask of the default network interface.
network:
type: ip
description: The IPv4 network of the default network interface.
network6:
type: ip6
description: The IPv6 network of the default network interface.
primary:
type: string
description: The name of the primary interface.
scope6:
type: string
description: The IPv6 scope of the default network interface.
operatingsystem:
type: string
hidden: true
description: Return the name of the operating system.
resolution: |
All platforms: default to the kernel name.
Linux: use various release files in `/etc` to retrieve the OS name.
operatingsystemmajrelease:
type: string
hidden: true
description: Return the major release of the operating system.
resolution: |
All platforms: default to the major version of the kernel release.
Linux: parse the contents of release files in `/etc` to retrieve the OS major release.
Solaris: parse the contents of `/etc/release` to retrieve the OS major release.
Windows: use WMI to retrieve the OS major release.
caveats: |
Linux: for Ubuntu, the major release is X.Y, such as "10.4".
operatingsystemrelease:
type: string
hidden: true
description: Return the release of the operating system.
resolution: |
All platforms: default to the kernel release.
Linux: parse the contents of release files in `/etc` to retrieve the OS release.
Solaris: parse the contents of `/etc/release` to retrieve the OS release.
Windows: use WMI to retrieve the OS release.
os:
type: map
description: Return information about the host operating system.
resolution: |
Linux: use the `lsb_release` utility and parse the contents of release files in `/etc` to retrieve the OS information.
OSX: use the `sw_vers` utility to retrieve the OS information.
Solaris: parse the contents of `/etc/release` to retrieve the OS information.
Windows: use WMI to retrieve the OS information.
elements:
architecture:
type: string
description: The operating system's hardware architecture.
distro:
type: map
description: Represents information about a Linux distribution.
caveats: |
Linux: requires that the `lsb_release` is present.
elements:
codename:
type: string
description: The code name of the Linux distribution.
description:
type: string
description: The description of the Linux distribution.
id:
type: string
description: The identifier of the Linux distribution.
release:
type: map
description: Represents information about a Linux distribution release.
elements:
full:
type: string
description: The full release of the Linux distribution.
major:
type: string
description: The major release of the Linux distribution.
minor:
type: string
description: The minor release of the Linux distribution.
specification:
type: string
description: The Linux Standard Base (LSB) release specification.
family:
type: string
description: The operating system family.
hardware:
type: string
description: The operating system's hardware model.
macosx:
type: map
description: Represents information about Mac OSX.
elements:
build:
type: string
description: The Mac OSX build version.
product:
type: string
description: The Mac OSX product name.
version:
type: map
description: Represents information about the Mac OSX version.
elements:
full:
type: string
description: The full Mac OSX version number.
major:
type: string
description: The major Mac OSX version number.
minor:
type: string
description: The minor Mac OSX version number.
patch:
type: string
description: The patch Mac OSX version number.
name:
type: string
description: The operating system's name.
release:
type: map
description: Represents the operating system's release.
elements:
full:
type: string
description: The full operating system release.
major:
type: string
description: The major release of the operating system.
minor:
type: string
description: The minor release of the operating system.
patchlevel:
type: string
description: The patchlevel of the operating system.
branch:
type: string
description: The branch the operating system was cut from.
selinux:
type: map
description: Represents information about Security-Enhanced Linux (SELinux).
resolution: |
Linux: parse the contents of `/proc/self/mounts`, `/etc/selinux/config`, and `<selinux_mountpoint>/enforce` to retrieve SELinux information.
elements:
config_mode:
type: string
description: The configured SELinux mode.
config_policy:
type: string
description: The configured SELinux policy.
current_mode:
type: string
description: The current SELinux mode.
enabled:
type: boolean
description: True if SELinux is enabled or false if not.
enforced:
type: boolean
description: True if SELinux policy is enforced or false if not.
policy_version:
type: string
description: The version of the SELinux policy.
windows:
type: map
description: Represents information about Windows.
elements:
edition_id:
type: string
description: Specify the edition variant. (ServerStandard|Professional|Enterprise)
installation_type:
type: string
description: Specify the installation type. (Server|Server Core|Client)
product_name:
type: string
description: Specify the textual product name.
release_id:
type: string
description: Windows Build Version of the form YYMM.
system32:
type: string
description: The path to the System32 directory.
osfamily:
type: string
hidden: true
description: Return the family of the operating system.
resolution: |
All platforms: default to the kernel name.
Linux: map various Linux distributions to their base distribution. For example, Ubuntu is a "Debian" distro.
Solaris: map various Solaris-based operating systems to the "Solaris" family.
Windows: use "windows" as the family name.
partitions:
type: map
description: Return the disk partitions of the system.
resolution: |
AIX: use the ODM to retrieve list of logical volumes; use `lvm_querylv` function to get details
Linux: use `libblkid` to retrieve the disk partitions.
caveats: |
Linux: `libfacter` must be built with `libblkid` support.
blockgroup: file system
elements:
<partition>:
pattern: \w+
type: map
description: Represents a disk partition.
elements:
filesystem:
type: string
description: The file system of the partition.
label:
type: string
description: The label of the partition.
mount:
type: string
description: The mount point of the partition (if mounted).
partlabel:
type: string
description: The label of a GPT partition.
partuuid:
type: string
description: The unique identifier of a GPT partition.
size:
type: string
description: The display size of the partition, such as "1 GiB".
size_bytes:
type: integer
description: The size of the partition, in bytes.
uuid:
type: string
description: The unique identifier of a partition.
backing_file:
type: string
description: The path to the file backing the partition.
path:
type: string
description: Return the PATH environment variable.
resolution: |
All platforms: retrieve the value of the PATH environment variable.
physicalprocessorcount:
type: integer
hidden: true
description: Return the count of physical processors.
resolution: |
Linux: parse the contents `/sys/devices/system/cpu/` and `/proc/cpuinfo` to retrieve the count of physical processors.
Mac OSX: use the `sysctl` function to retrieve the count of physical processors.
Solaris: use the `kstat` function to retrieve the count of physical processors.
Windows: use WMI to retrieve the count of physical processors.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
processor<N>:
pattern: ^processor\d+$
type: string
hidden: true
description: Return the model string of processor N.
resolution: |
Linux: parse the contents of `/proc/cpuinfo` to retrieve the processor model string.
Mac OSX: use the `sysctl` function to retrieve the processor model string.
Solaris: use the `kstat` function to retrieve the processor model string.
Windows: use WMI to retrieve the processor model string.
processorcount:
type: integer
hidden: true
description: Return the count of logical processors.
resolution: |
Linux: parse the contents `/sys/devices/system/cpu/` and `/proc/cpuinfo` to retrieve the count of logical processors.
Mac OSX: use the `sysctl` function to retrieve the count of logical processors.
Solaris: use the `kstat` function to retrieve the count of logical processors.
Windows: use WMI to retrieve the count of logical processors.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
processors:
type: map
description: Return information about the system's processors.
resolution: |
Linux: parse the contents `/sys/devices/system/cpu/` and `/proc/cpuinfo` to retrieve the processor information.
Mac OSX: use the `sysctl` function to retrieve the processor information.
Solaris: use the `kstat` function to retrieve the processor information.
Windows: use WMI to retrieve the processor information.
elements:
count:
type: integer
description: The count of logical processors.
isa:
type: string
description: The processor instruction set architecture.
models:
type: array
description: The processor model strings (one for each logical processor).
physicalcount:
type: integer
description: The count of physical processors.
speed:
type: string
description: The speed of the processors, such as "2.0 GHz".
cores:
type: integer
description: The number of cores per processor socket.
threads:
type: integer
description: The number of threads per processor core.
productname:
type: string
hidden: true
description: Return the system product name.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/product_name` to retrieve the system product name.
Mac OSX: use the `sysctl` function to retrieve the system product name.
Solaris: use the `smbios` utility to retrieve the system product name.
Windows: use WMI to retrieve the system product name.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
ruby:
type: map
description: Return information about the Ruby loaded by facter.
resolution: |
All platforms: Use `RbConfig`, `RUBY_PLATFORM`, and `RUBY_VERSION` to retrieve information about Ruby.
caveats: |
All platforms: facter must be able to locate `libruby`.
elements:
platform:
type: string
description: The platform Ruby was built for.
sitedir:
type: string
description: The path to Ruby's site library directory.
version:
type: string
description: The version of Ruby.
rubyplatform:
type: string
hidden: true
description: Return the platform Ruby was built for.
resolution: |
All platforms: use `RUBY_PLATFORM` from the Ruby loaded by facter.
caveats: |
All platforms: facter must be able to locate `libruby`.
rubysitedir:
type: string
hidden: true
description: Return the path to Ruby's site library directory.
resolution: |
All platforms: use `RbConfig` from the Ruby loaded by facter.
caveats: |
All platforms: facter must be able to locate `libruby`.
rubyversion:
type: string
hidden: true
description: Return the version of Ruby.
resolution: |
All platforms: use `RUBY_VERSION` from the Ruby loaded by facter.
caveats: |
All platforms: facter must be able to locate `libruby`.
scope6:
type: string
hidden: true
description: Return the IPv6 scope for the default network interface.
resolution: |
Linux: parse the contents of /proc/net/if_inet6 to retrieve the network interface scope.
Mac OSX: use the `getifaddrs` function to retrieve the network interface scope.
Solaris: use the `ioctl` function to retrieve the network interface scope.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface scope.
scope6_<interface>:
pattern: ^scope6_.+$
type: string
hidden: true
description: Return the IPv6 scope for the default network interface.
resolution: |
Linux: parse the contents of /proc/net/if_inet6 to retrieve the network interface scope.
Mac OSX: use the `getifaddrs` function to retrieve the network interface scope.
Solaris: use the `ioctl` function to retrieve the network interface scope.
Windows: use the `GetAdaptersAddresses` function to retrieve the network interface scope.
selinux:
type: boolean
hidden: true
description: Return whether Security-Enhanced Linux (SELinux) is enabled.
resolution: |
Linux: parse the contents of `/proc/self/mounts` to determine if SELinux is enabled.
selinux_config_mode:
type: string
hidden: true
description: Return the configured Security-Enhanced Linux (SELinux) mode.
resolution: |
Linux: parse the contents of `/etc/selinux/config` to retrieve the configured SELinux mode.
selinux_config_policy:
type: string
hidden: true
description: Return the configured Security-Enhanced Linux (SELinux) policy.
resolution: |
Linux: parse the contents of `/etc/selinux/config` to retrieve the configured SELinux policy.
selinux_current_mode:
type: string
hidden: true
description: Return the current Security-Enhanced Linux (SELinux) mode.
resolution: |
Linux: parse the contents of `<mountpoint>/enforce` to retrieve the current SELinux mode.
selinux_enforced:
type: boolean
hidden: true
description: Return whether Security-Enhanced Linux (SELinux) is enforced.
resolution: |
Linux: parse the contents of `<mountpoint>/enforce` to retrieve the current SELinux mode.
selinux_policyversion:
type: string
hidden: true
description: Return the Security-Enhanced Linux (SELinux) policy version.
resolution: |
Linux: parse the contents of `<mountpoint>/policyvers` to retrieve the SELinux policy version.
serialnumber:
type: string
hidden: true
description: Return the system product serial number.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/product_name` to retrieve the system product serial number.
Solaris: use the `smbios` utility to retrieve the system product serial number.
Windows: use WMI to retrieve the system product serial number.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
solaris_zones:
type: map
description: Return information about Solaris zones.
resolution: |
Solaris: use the `zoneadm` and `zonename` utilities to retrieve information about the Solaris zones.
elements:
current:
type: string
description: The name of the current Solaris zone.
zones:
type: map
description: Represents the Solaris zones.
elements:
<zonename>:
pattern: .*
type: map
description: Represents a Solaris zone.
elements:
brand:
type: string
description: The brand of the Solaris zone.
id:
type: string
description: The id of the Solaris zone.
ip_type:
type: string
description: The IP type of the Solaris zone.
path:
type: string
description: The path of the Solaris zone.
status:
type: string
description: The status of the Solaris zone.
uuid:
type: string
description: The unique identifier of the Solaris zone.
sp_<name>:
pattern: ^sp_\w+$
hidden: true
type: string
description: Return Mac OSX system profiler information.
resolution: |
Mac OSX: use the `system_profiler` utility to retrieve system profiler information.
ssh:
type: map
description: Return SSH public keys and fingerprints.
resolution: |
POSIX platforms: parse SSH public key files and derive fingerprints.
caveats: |
POSIX platforms: facter must be built with OpenSSL support.
elements:
dsa:
type: map
description: Represents the public key and fingerprints for the DSA algorithm.
elements:
fingerprints:
type: map
description: Represents fingerprint information.
elements:
sha1:
type: string
description: The SHA1 fingerprint of the public key.
sha256:
type: string
description: The SHA256 fingerprint of the public key.
key:
type: string
description: The DSA public key.
type:
type: string
description: The exact type of the key, i.e. "ssh-dss".
ecdsa:
type: map
description: Represents the public key and fingerprints for the ECDSA algorithm.
elements:
fingerprints:
type: map
description: Represents fingerprint information.
elements:
sha1:
type: string
description: The SHA1 fingerprint of the public key.
sha256:
type: string
description: The SHA256 fingerprint of the public key.
key:
type: string
description: The ECDSA public key.
type:
type: string
description: The exact type of the key, e.g. "ecdsa-sha2-nistp256".
ed25519:
type: map
description: Represents the public key and fingerprints for the Ed25519 algorithm.
elements:
fingerprints:
type: map
description: Represents fingerprint information.
elements:
sha1:
type: string
description: The SHA1 fingerprint of the public key.
sha256:
type: string
description: The SHA256 fingerprint of the public key.
key:
type: string
description: The Ed25519 public key.
type:
type: string
description: The exact type of the key, i.e. "ssh-ed25519".
rsa:
type: map
description: Represents the public key and fingerprints for the RSA algorithm.
elements:
fingerprints:
type: map
description: Represents fingerprint information.
elements:
sha1:
type: string
description: The SHA1 fingerprint of the public key.
sha256:
type: string
description: The SHA256 fingerprint of the public key.
key:
type: string
description: The RSA public key.
type:
type: string
description: The exact type of the key, i.e. "ssh-rsa".
ssh<algorithm>key:
pattern: ^ssh\w*key$
hidden: true
type: string
description: Return the SSH public key for the algorithm.
resolution: |
POSIX platforms: parse SSH public key files.
caveats: |
POSIX platforms: facter must be built with OpenSSL support.
sshfp_<algorithm>:
pattern: ^sshfp_\w*$
hidden: true
type: string
description: Return the SSH fingerprints for the algorithm's public key.
resolution: |
POSIX platforms: derive the SHA1 and SHA256 fingerprints; delimit with a new line character.
caveats: |
POSIX platforms: facter must be built with OpenSSL support.
swapencrypted:
type: boolean
hidden: true
description: Return whether or not the swap is encrypted.
resolution: |
Mac OSX: use the `sysctl` function to retrieve swap encryption status.
swapfree:
type: string
hidden: true
description: Return the display size of the free swap memory, such as "1 GiB".
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the free swap memory.
Mac OSX: use the `sysctl` function to retrieve the free swap memory.
Solaris: use the `swapctl` function to retrieve the free swap memory.
swapfree_mb:
type: double
hidden: true
description: Return the size of the free swap memory, in mebibytes.
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the free swap memory.
Mac OSX: use the `sysctl` function to retrieve the free swap memory.
Solaris: use the `swapctl` function to retrieve the free swap memory.
swapsize:
type: string
hidden: true
description: Return the display size of the total swap memory, such as "1 GiB".
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the total swap memory.
Mac OSX: use the `sysctl` function to retrieve the total swap memory.
Solaris: use the `swapctl` function to retrieve the total swap memory.
swapsize_mb:
type: double
hidden: true
description: Return the size of the total swap memory, in mebibytes.
resolution: |
Linux: parse the contents of `/proc/meminfo` to retrieve the total swap memory.
Mac OSX: use the `sysctl` function to retrieve the total swap memory.
Solaris: use the `swapctl` function to retrieve the total swap memory.
windows_edition_id:
type: string
hidden: true
description: Return the type of Windows edition, Server or Desktop Edition variant.
resolution: |
Windows: query the registry to retrieve the type of edition (ServerStandard|Professional|Enterprise).
windows_installation_type:
type: string
hidden: true
description: Return Windows installation type (Server|Server Core|Client).
resolution: |
Windows: query the registry to retrive data to differentiate Server, Server Core, Client.
windows_product_name:
type: string
hidden: true
description: Return Windows textual product name.
resolution: |
Windows: uery the registry to retrive textual product name.
windows_release_id:
type: string
hidden: true
description: Return Windows Build Version of the form YYMM.
resolution: |
Windows: query the registry to retrieve the build version number.
system32:
type: string
hidden: true
description: Return the path to the System32 directory on Windows.
resolution: |
Windows: use the `SHGetFolderPath` function to retrieve the path to the System32 directory.
system_profiler:
type: map
description: Return information from the Mac OSX system profiler.
resolution: |
Mac OSX: use the `system_profiler` utility to retrieve system profiler information.
elements:
boot_mode:
type: string
description: The boot mode.
boot_rom_version:
type: string
description: The boot ROM version.
boot_volume:
type: string
description: The boot volume.
computer_name:
type: string
description: The name of the computer.
cores:
type: string
description: The total number of processor cores.
hardware_uuid:
type: string
description: The hardware unique identifier.
kernel_version:
type: string
description: The version of the kernel.
l2_cache_per_core:
type: string
description: The size of the processor per-core L2 cache.
l3_cache:
type: string
description: The size of the processor L3 cache.
memory:
type: string
description: The size of the system memory.
model_identifier:
type: string
description: The identifier of the computer model.
model_name:
type: string
description: The name of the computer model.
processor_name:
type: string
description: The model name of the processor.
processor_speed:
type: string
description: The speed of the processor.
processors:
type: string
description: The total number of processors.
secure_virtual_memory:
type: string
description: Whether or not secure virtual memory is enabled.
serial_number:
type: string
description: The serial number of the computer.
smc_version:
type: string
description: The System Management Controller (SMC) version.
system_version:
type: string
description: The operating system version.
uptime:
type: string
description: The uptime of the system.
username:
type: string
description: The name of the user running facter.
system_uptime:
type: map
description: Return the system uptime information.
resolution: |
Linux: use the `sysinfo` function to retrieve the system uptime.
POSIX platforms: use the `uptime` utility to retrieve the system uptime.
Solaris: use the `kstat` function to retrieve the system uptime.
Windows: use WMI to retrieve the system uptime.
elements:
days:
type: integer
description: The number of complete days the system has been up.
hours:
type: integer
description: The number of complete hours the system has been up.
seconds:
type: integer
description: The number of total seconds the system has been up.
uptime:
type: string
description: The full uptime string.
timezone:
type: string
description: Return the system timezone.
resolution: |
POSIX platforms: use the `localtime_r` function to retrieve the system timezone.
Windows: use the `localtime_s` function to retrieve the system timezone.
uptime:
type: string
hidden: true
description: Return the system uptime.
resolution: |
Linux: use the `sysinfo` function to retrieve the system uptime.
POSIX platforms: use the `uptime` utility to retrieve the system uptime.
Solaris: use the `kstat` function to retrieve the system uptime.
Windows: use WMI to retrieve the system uptime.
uptime_days:
type: integer
hidden: true
description: Return the system uptime days.
resolution: |
Linux: use the `sysinfo` function to retrieve the system uptime days.
POSIX platforms: use the `uptime` utility to retrieve the system uptime days.
Solaris: use the `kstat` function to retrieve the system uptime days.
Windows: use WMI to retrieve the system uptime days.
uptime_hours:
type: integer
hidden: true
description: Return the system uptime hours.
resolution: |
Linux: use the `sysinfo` function to retrieve the system uptime hours.
POSIX platforms: use the `uptime` utility to retrieve the system uptime hours.
Solaris: use the `kstat` function to retrieve the system uptime hours.
Windows: use WMI to retrieve the system uptime hours.
uptime_seconds:
type: integer
hidden: true
description: Return the system uptime seconds.
resolution: |
Linux: use the `sysinfo` function to retrieve the system uptime seconds.
POSIX platforms: use the `uptime` utility to retrieve the system uptime seconds.
Solaris: use the `kstat` function to retrieve the system uptime seconds.
Windows: use WMI to retrieve the system uptime seconds.
uuid:
type: string
hidden: true
description: Return the system product unique identifier.
resolution: |
Linux: parse the contents of `/sys/class/dmi/id/product_uuid` to retrieve the system product unique identifier.
Solaris: use the `smbios` utility to retrieve the system product unique identifier.
caveats: |
Linux: kernel 2.6+ is required due to the reliance on sysfs.
virtual:
type: string
description: Return the hypervisor name for virtual machines or "physical" for physical machines.
resolution: |
Linux: use procfs or utilities such as `vmware` and `virt-what` to retrieve virtual machine name.
Mac OSX: use the system profiler to retrieve virtual machine name.
Solaris: use the `zonename` utility to retrieve virtual machine name.
Windows: use WMI to retrieve virtual machine name.
xen:
type: map
description: Return metadata for the Xen hypervisor.
resolution: |
POSIX platforms: if `/usr/sbin/xl` and `/usr/sbin/xm` is installed use `/usr/lib/xen-common/bin/xen-toolstack` to choose, otherwise try `/usr/sbin/xl` then `/usr/sbin/xm` in order. Use the found command to execute the `list` query.
caveats: |
POSIX platforms: confined to Xen privileged virtual machines.
elements:
domains:
type: array
description: list of strings identifying active Xen domains.
xendomains:
type: string
hidden: true
description: Return a list of comma-separated active Xen domain names.
resolution: |
POSIX platforms: see the `xen` structured fact.
caveats: |
POSIX platforms: confined to Xen privileged virtual machines.
zfs_featurenumbers:
type: string
description: Return the comma-delimited feature numbers for ZFS.
resolution: |
Solaris: use the `zfs` utility to retrieve the feature numbers for ZFS
caveats: |
Solaris: the `zfs` utility must be present.
zfs_version:
type: string
description: Return the version for ZFS.
resolution: |
Solaris: use the `zfs` utility to retrieve the version for ZFS
caveats: |
Solaris: the `zfs` utility must be present.
zone_<name>_brand:
pattern: ^zone_[\w\-\.]+_brand$
type: string
hidden: true
description: Return the brand for the Solaris zone.
resolution: |
Solaris: use the `zoneadm` utility to retrieve the brand for the Solaris zone.
caveats: |
Solaris: the `zoneadm` utility must be present.
zone_<name>_iptype:
pattern: ^zone_[\w\-\.]+_iptype$
type: string
hidden: true
description: Return the IP type for the Solaris zone.
resolution: |
Solaris: use the `zoneadm` utility to retrieve the IP type for the Solaris zone.
caveats: |
Solaris: the `zoneadm` utility must be present.
zone_<name>_name:
pattern: ^zone_[\w\-\.]+_name$
type: string
hidden: true
description: Return the name for the Solaris zone.
resolution: |
Solaris: use the `zoneadm` utility to retrieve the name for the Solaris zone.
caveats: |
Solaris: the `zoneadm` utility must be present.
zone_<name>_uuid:
pattern: ^zone_[\w\-\.]+_uuid$
type: string
hidden: true
description: Return the unique identifier for the Solaris zone.
resolution: |
Solaris: use the `zoneadm` utility to retrieve the unique identifier for the Solaris zone.
caveats: |
Solaris: the `zoneadm` utility must be present.
zone_<name>_id:
pattern: ^zone_[\w\-\.]+_id$
type: string
hidden: true
description: Return the zone identifier for the Solaris zone.
resolution: |
Solaris: use the `zoneadm` utility to retrieve the zone identifier for the Solaris zone.
caveats: |
Solaris: the `zoneadm` utility must be present.
zone_<name>_path:
pattern: ^zone_[\w\-\.]+_path$
type: string
hidden: true
description: Return the zone path for the Solaris zone.
resolution: |
Solaris: use the `zoneadm` utility to retrieve the zone path for the Solaris zone.
caveats: |
Solaris: the `zoneadm` utility must be present.
zone_<name>_status:
pattern: ^zone_[\w\-\.]+_status$
type: string
hidden: true
description: Return the zone state for the Solaris zone.
resolution: |
Solaris: use the `zoneadm` utility to retrieve the zone state for the Solaris zone.
caveats: |
Solaris: the `zoneadm` utility must be present.
zonename:
type: string
hidden: true
description: Return the name of the current Solaris zone.
resolution: |
Solaris: use the `zonename` utility to retrieve the current zone name.
caveats: |
Solaris: the `zonename` utility must be present.
zones:
type: integer
hidden: true
description: Return the count of Solaris zones.
resolution: |
Solaris: use the `zoneadm` utility to retrieve the count of Solaris zones.
caveats: |
Solaris: the `zoneadm` utility must be present.
zpool_featureflags:
type: string
description: Return the comma-delimited feature flags for ZFS storage pools.
resolution: |
Solaris: use the `zpool` utility to retrieve the feature numbers for ZFS storage pools
caveats: |
Solaris: the `zpool` utility must be present.
zpool_featurenumbers:
type: string
description: Return the comma-delimited feature numbers for ZFS storage pools.
resolution: |
Solaris: use the `zpool` utility to retrieve the feature numbers for ZFS storage pools
caveats: |
Solaris: the `zpool` utility must be present.
zpool_version:
type: string
description: Return the version for ZFS storage pools.
resolution: |
Solaris: use the `zpool` utility to retrieve the version for ZFS storage pools
caveats: |
Solaris: the `zpool` utility must be present.
nim_type:
type: string
description: Tells if the node is master or standalone inside an AIX Nim environment.
details: |
Is Available only on AIX.