1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
require 'puppet/indirector/face'
Puppet::Indirector::Face.define(:node, '0.0.1') do
copyright "Puppet Labs", 2011
license "Apache 2 license; see COPYING"
summary "View and manage node definitions."
description <<-'EOT'
This subcommand interacts with node objects, which are used by Puppet to
build a catalog. A node object consists of the node's facts, environment,
node parameters (exposed in the parser as top-scope variables), and classes.
EOT
get_action(:destroy).summary "Invalid for this subcommand."
get_action(:search).summary "Invalid for this subcommand."
get_action(:save).summary "Invalid for this subcommand."
get_action(:save).description "Invalid for this subcommand."
find = get_action(:find)
find.summary "Retrieve a node object."
find.arguments "<host>"
find.returns <<-'EOT'
A hash containing the node's `classes`, `environment`, `expiration`, `name`,
`parameters` (its facts, combined with any ENC-set parameters), and `time`.
When used from the Ruby API: a Puppet::Node object.
RENDERING ISSUES: Rendering as string and json are currently broken;
node objects can only be rendered as yaml.
EOT
find.examples <<-'EOT'
Retrieve an "empty" (no classes, no ENC-imposed parameters, and an
environment of "production") node:
$ puppet node find somenode.puppetlabs.lan --terminus plain --render-as yaml
Retrieve a node using the puppet master's configured ENC:
$ puppet node find somenode.puppetlabs.lan --terminus exec --mode master --render-as yaml
Retrieve the same node from the puppet master:
$ puppet node find somenode.puppetlabs.lan --terminus rest --render-as yaml
EOT
end
|