Man Page: puppet parser

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


puppet-parser - Interact directly with the parser.


puppet parser action


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.


dump - Outputs a dump of the internal parse tree for debugging


puppet parser dump [--e source] [--[no-]validate] -e source| [manifest ...]


This action parses and validates the Puppet DSL syntax without compiling a catalog or syncing any resources. It automatically turns on the future parser for the parsing.

The command accepts one or more manifests (.pp) files, or an -e followed by the puppet source text. If no arguments are given, the stdin is read (unless it is attached to a terminal)

The output format of the dumped tree is not API, it may change from time to time.

OPTIONS --e <source> - dump one source expression given on the command line.

--[no-]validate - Whether or not to validate the parsed result, if no-validate only syntax errors are reported


A dump of the resulting AST model unless there are syntax or validation errors.

validate - Validate the syntax of one or more Puppet manifests.


puppet parser validate [manifest] [manifest ...]


This action validates Puppet DSL syntax without compiling a catalog or syncing any resources. If no manifest files are provided, it will validate the default site manifest.

When validating with --parser current, the validation stops after the first encountered issue.

When validating with --parser future, multiple issues per file are reported up to the settings of max_error, and max_warnings. The processing stops after having reported issues for the first encountered file with errors.


Nothing, or the first syntax error encountered.



Validate the default site manifest at /etc/puppet/manifests/site.pp:

$ puppet parser validate

Validate two arbitrary manifest files:

$ puppet parser validate init.pp vhost.pp

Validate from STDIN:

$ cat init.pp | puppet parser validate

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.