Man Page: puppet facts

This version is out of date. For current versions, see Puppet packages and versions.


puppet-facts - Retrieve and store facts.


puppet facts action [--terminus TERMINUS] [--extra HASH]


This subcommand manages facts, which are collections of normalized system information used by Puppet. It can read facts directly from the local system (with the default facter terminus), look up facts reported by other systems, and submit facts to the puppet master.

When used with the rest terminus, this subcommand is essentially a front-end to the inventory service REST API. See the inventory service documentation at for more detail.


Note that any setting that's valid in the configuration file is also a valid long argument, although it may or may not be relevant to the present action. For example, server and run_mode are valid settings, so you can specify --server <servername>, or --run_mode <runmode> as an argument.

See the configuration file documentation at for the full list of acceptable parameters. A commented list of all configuration options can also be generated by running puppet with --genconfig.

--render-as FORMAT
The format in which to render output. The most common formats are json, s (string), yaml, and console, but other options such as dot are sometimes available.
Whether to log verbosely.
Whether to log debug information.
--extra HASH
A terminus can take additional arguments to refine the operation, which are passed as an arbitrary hash to the back-end. Anything passed as the extra value is just send direct to the back-end.
--terminus TERMINUS

Indirector faces expose indirected subsystems of Puppet. These subsystems are each able to retrieve and alter a specific type of data (with the familiar actions of find, search, save, and destroy) from an arbitrary number of pluggable backends. In Puppet parlance, these backends are called terminuses.

Almost all indirected subsystems have a rest terminus that interacts with the puppet master's data. Most of them have additional terminuses for various local data models, which are in turn used by the indirected subsystem on the puppet master whenever it receives a remote request.

The terminus for an action is often determined by context, but occasionally needs to be set explicitly. See the "Notes" section of this face's manpage for more details.


destroy - Invalid for this subcommand.


puppet facts destroy [--terminus TERMINUS] [--extra HASH] key


Invalid for this subcommand.

find - Retrieve a node's facts.


puppet facts find [--terminus TERMINUS] [--extra HASH] node_certname


Retrieve a node's facts.


A hash containing some metadata and (under the "values" key) the set of facts for the requested node. When used from the Ruby API: A Puppet::Node::Facts object.

RENDERING ISSUES: Facts cannot currently be rendered as a string; use yaml or json.


When using the facter terminus, the host argument is ignored.

info - Print the default terminus class for this face.


puppet facts info [--terminus TERMINUS] [--extra HASH]


Prints the default terminus class for this subcommand. Note that different run modes may have different default termini; when in doubt, specify the run mode with the '--run_mode' option.

save - API only: create or overwrite an object.


puppet facts save [--terminus TERMINUS] [--extra HASH] key


API only: create or overwrite an object. As the Faces framework does not currently accept data from STDIN, save actions cannot currently be invoked from the command line.

search - Invalid for this subcommand.


puppet facts search [--terminus TERMINUS] [--extra HASH] query


Invalid for this subcommand.

upload - Upload local facts to the puppet master.


puppet facts upload [--terminus TERMINUS] [--extra HASH]


Reads facts from the local system using the facter terminus, then saves the returned facts using the rest terminus.




This action requires that the puppet master's auth.conf file allow save access to the facts REST terminus. Puppet agent does not use this facility, and it is turned off by default. See for more details.



Get facts from the local system:

$ puppet facts find x

Ask the puppet master for facts for an arbitrary node:

$ puppet facts find somenode.puppetlabs.lan --terminus rest

Query a DB-backed inventory directly (bypassing the REST API):

$ puppet facts find somenode.puppetlabs.lan --terminus inventory_active_record --run_mode master


Upload facts:

$ puppet facts upload


This subcommand is an indirector face, which exposes find, search, save, and destroy actions for an indirected subsystem of Puppet. Valid termini for this face include:

  • active_record
  • couch
  • facter
  • inventory_active_record
  • inventory_service
  • memory
  • network_device
  • rest
  • store_configs
  • yaml

Copyright 2011 by Puppet Labs Apache 2 license; see COPYING

See an issue? Please file a JIRA ticket in our [DOCUMENTATION] project
Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.