facts

pdk
tasks
Tasks that inspect the value of system facts

Puppet

puppetlabs

169,874 downloads

4,760 latest version

4.8 quality score

Version information

  • 1.4.0 (latest)
  • 1.3.0
  • 1.2.0
  • 1.1.0
  • 1.0.0
  • 0.6.0
  • 0.5.1
  • 0.5.0
  • 0.4.1
  • 0.3.1
  • 0.2.0
  • 0.1.2
  • 0.1.0
released Jan 22nd 2021
This version is compatible with:
  • Puppet Enterprise 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x
  • Puppet >= 5.1.0 < 8.0.0
  • Debian
    ,
    RedHat
    ,
    Ubuntu
    ,
    windows
    ,
    OSX
Tasks:
  • facts
Plans:
  • facts
  • external
  • info

Start using this module

Documentation

puppetlabs/facts — version 1.4.0 Jan 22nd 2021

facts

Table of Contents

  1. Description
  2. Requirements
  3. Usage
  4. Reference - An under-the-hood peek at what the module is doing and how

Description

This module provides a collection of facts tasks and plans all of which retrieve facts from the specified targets but each of them processes the retrieved facts differently. The provided plans are:

  • facts - retrieves the facts and then stores them in the inventory, returns a result set wrapping result objects for each specified target which in turn wrap the retrieved facts
  • facts::info - retrieves the facts and returns information about each target's OS compiled from the os fact value retrieved from that target

The provided tasks:

  • facts - retrieves the facts and without further processing returns a result set wrapping result objects for each specified target which in turn wrap the retrieved facts (this task is used by the above plans). This task relies on cross-platform task support; if unavailable, the individual implementations can be used instead.
  • facts::bash - bash implementation of fact gathering, used by the facts task.
  • facts::powershell - powershell implementation of fact gathering, used by the facts task.
  • facts::ruby - ruby implementation of fact gathering, used by the facts task.

puppet_agent module support: The puppet_agent::install_shell task uses the bash.sh implementation code to gather facts. When bash.sh is invoked with the positional argument platform or release only the requested fact is returned.

Example

root@y77tzpv6qxnx5at:~# ./bash.sh 
{
  "os": {
    "name": "Ubuntu",
    "release": {
      "full": "16.04",
      "major": "16",
      "minor": "04"
    },
    "family": "Debian"
  }
}
root@y77tzpv6qxnx5at:~# ./bash.sh "release"
16.04
root@y77tzpv6qxnx5at:~# ./bash.sh "platform"
Ubuntu

Requirements

This module is compatible with the version of Puppet Bolt it ships with.

Usage

To run the facts plan run

bolt plan run facts --targets target1.example.com,target2.example.com

Parameters

All plans have only one parameter:

  • targets - The targets to retrieve the facts from.

Reference

The core functionality is implemented in the facts task, which provides implementations for the shell, powershell, and puppet-agent features. The powerhsell and bash implementations of the task compile and return information mimicking that provided by facter's os fact. When the puppet-agent feature is available the ruby implementation will return the result running facter --json on the target.