PUPPET-REPORT(8)

πŸ¦‹ PUPPET-REPORT πŸ’…

okay bestie, so this is the puppet-report manual page β€” it lives in the Puppet manual and it's all about creating, displaying, and submitting reports. yes, reports. the receipts of your Puppet runs. iconic behavior honestly. ✨


🌸 SYNOPSIS 🌸

puppet report action [--terminus _TERMINUS]

that's the whole vibe. an action, optionally a TERMINUS, and you're off. πŸŽ€


✨ OPTIONS ✨

okay so real talk first, before the actual flags: any setting that's valid in the configuration file is ALSO a valid long argument, even if it has literally nothing to do with the action you're running. like. it's fine. it just works that way. for example, server and run_mode are valid settings, so you can totally pass --server <servername> or --run_mode <runmode> as an argument. no cap.

and if you want the FULL list of acceptable parameters, go read the configuration file documentation at https://puppet.com/docs/puppet/latest/configuration.html. also, if you run puppet with --genconfig it'll generate you a commented list of all configuration options. so helpful of it. 🫢

  • --render-as FORMAT β€” the format to render output in. the most common ones are json, s (that's string, bestie), yaml, and console, but sometimes other options like dot are available too. pick your fighter. πŸ’…
  • --verbose β€” whether to log verbosely. yes. that's it. that's the flag.
  • --debug β€” whether to log debug information. for when you need the tea. πŸ“
  • --terminus _TERMINUS β€” okay this one's a whole thing so buckle up. Indirector faces expose indirected subsystems of Puppet. these subsystems can each retrieve and alter one specific type of data β€” with the familiar actions of find, search, save, and destroy β€” from an arbitrary number of pluggable backends. and in Puppet parlance, those backends are called terminuses. yes the word is weird. we move.

Almost all indirected subsystems have a rest terminus that talks to the puppet master's data. most of them also have extra terminuses for various local data models, which the indirected subsystem on the puppet master uses whenever it gets a remote request.

the terminus for an action is usually figured out from context, but sometimes you just have to set it explicitly. see the "Notes" section of this face's manpage for more details. iykyk. 🌈


πŸ‘‘ ACTIONS πŸ‘‘

πŸ’– info β€” Print the default terminus class for this face.

SYNOPSIS

puppet report info [--terminus _TERMINUS]

DESCRIPTION

prints the default terminus class for this subcommand. heads up though: different run modes may have different default termini, so when in doubt, specify the run mode with the --run_mode option. don't be shy about it.


πŸ”₯ save β€” API only: submit a report.

SYNOPSIS

puppet report save [--terminus _TERMINUS] report

DESCRIPTION

API only: create or overwrite an object. and here's the sad part β€” because the Faces framework does not currently accept data from STDIN, save actions cannot currently be invoked from the command line. 😭 so close yet so far.

RETURNS

Nothing. literally nothing. an empty void. πŸ’€


🌟 submit β€” API only: submit a report with error handling.

SYNOPSIS

puppet report submit [--terminus _TERMINUS] report

DESCRIPTION

API only: submits a report to the puppet master. this action is basically a shortcut and a wrapper for the save action with the rest terminus, and it gives you additional details if something goes wrong. it's the responsible older sibling of save. 🧚


🌈 EXAMPLES 🌈

save

from the implementation of puppet report submit (API example):

begin Puppet::Transaction::Report.indirection.terminus_class = :rest
Puppet::Face[:report, "0.0.1"].save(report) Puppet.notice "Uploaded
report for #{report.name}" rescue => detail Puppet.log_exception(detail,
"Could not send report: #{detail}") end

submit

API example:

API example:report = Puppet::Face[:catalog, Β΄0.0.1Β΄].apply
Puppet::Face[:report, Β΄0.0.1Β΄].submit(report) return report

⭐ NOTES ⭐

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

  • json
  • msgpack
  • processor
  • rest
  • yaml

that's the list. memorise it or don't, no pressure. πŸ’œ


Copyright 2011 by Puppet Inc. Apache 2 license; see COPYING


ok that's the whole page bestie, go forth and report responsibly. πŸ¦‹

and the cute lil sign-off at the bottom says this was brought to you by Puppet, Inc., dated September 2024, filed under PUPPET-REPORT(8). periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from