puppet-catalog - Compile, save, view, and convert
catalogs.
puppet catalog action [--terminus _TERMINUS] [--extra
HASH]
This subcommand deals with catalogs, which are compiled per-node
artifacts generated from a set of Puppet manifests. By default, it interacts
with the compiling subsystem and compiles a catalog using the default
manifest and certname, but you can change the source of the catalog
with the --terminus option. You can also choose to print any catalog
in ´dot´ format (for easy graph viewing with OmniGraffle or
Graphviz) with ´--render-as dot´.
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
https://puppet.com/docs/puppet/latest/configuration.html 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.
- --verbose
- Whether to log verbosely.
- --debug
- Whether to log debug information.
- 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.
- apply - Find and
apply a catalog.
- SYNOPSIS
- puppet catalog apply [--terminus _TERMINUS] [--extra HASH]
- DESCRIPTION
- Finds and applies a catalog. This action takes no arguments, but the
source of the catalog can be managed with the --terminus
option.
- RETURNS
- Nothing. When used from the Ruby API, returns a
Puppet::Transaction::Report object.
- download -
Download this node´s catalog from the puppet master server.
- SYNOPSIS
- puppet catalog download [--terminus _TERMINUS] [--extra HASH]
- DESCRIPTION
- Retrieves a catalog from the puppet master and saves it to the local yaml
cache. This action always contacts the puppet master and will ignore
alternate termini.
- The saved catalog can be used in any subsequent catalog action by
specifying ´--terminus yaml´ for that action.
- RETURNS
- Nothing.
- NOTES
- When used from the Ruby API, this action has a side effect of leaving
Puppet::Resource::Catalog.indirection.terminus_class set to yaml. The
terminus must be explicitly re-set for subsequent catalog actions.
- find - Retrieve the
catalog for a node.
- SYNOPSIS
- puppet catalog find [--terminus _TERMINUS] [--extra HASH]
certname
- DESCRIPTION
- Retrieve the catalog for a node.
- RETURNS
- A serialized catalog. When used from the Ruby API, returns a
Puppet::Resource::Catalog object.
- info - Print the
default terminus class for this face.
- SYNOPSIS
- puppet catalog info [--terminus _TERMINUS] [--extra HASH]
- DESCRIPTION
- 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.
- SYNOPSIS
- puppet catalog save [--terminus _TERMINUS] [--extra HASH] key
- DESCRIPTION
- 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.
- select - Retrieve a
catalog and filter it for resources of a given type.
- SYNOPSIS
- puppet catalog select [--terminus _TERMINUS] [--extra HASH] host
resource_type
- DESCRIPTION
- Retrieves a catalog for the specified host, then searches it for all
resources of the requested type.
- RETURNS
- A list of resource references ("Type[title]"). When used from
the API, returns an array of Puppet::Resource objects excised from a
catalog.
- NOTES
- By default, this action will retrieve a catalog from Puppet´s
compiler subsystem; you must call the action with --terminus rest
if you wish to retrieve a catalog from the puppet master.
- FORMATTING ISSUES: This action cannot currently render useful yaml;
instead, it returns an entire catalog. Use json instead.
apply
Apply the locally cached catalog:
$ puppet catalog apply --terminus yaml
Retrieve a catalog from the master and apply it, in one step:
$ puppet catalog apply --terminus rest
API example:
-
-
# ...
Puppet::Face[:catalog, ´0.0.1´].download
# (Termini are singletons; catalog.download has a side effect of
# setting the catalog terminus to yaml)
report = Puppet::Face[:catalog, ´0.0.1´].apply
# ...
-
download
Retrieve and store a catalog:
$ puppet catalog download
API example:
-
-
Puppet::Face[:plugin, ´0.0.1´].download
Puppet::Face[:facts, ´0.0.1´].upload
Puppet::Face[:catalog, ´0.0.1´].download
# ...
-
select
Ask the puppet master for a list of managed file resources for a
node:
$ puppet catalog select --terminus rest somenode.magpie.lan
file
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:
- ○
- compiler
- ○
- json
- ○
- msgpack
- ○
- rest
- ○
- store_configs
- ○
- yaml
-
Copyright 2011 by Puppet Inc. Apache 2 license; see COPYING