blob: 95a2ffc9a13081bc5862d90d80bb62cc9a7aff9d (
plain)
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
44
45
46
47
48
49
50
51
52
53
|
require 'puppet/indirector/face'
Puppet::Indirector::Face.define(:resource, '0.0.1') do
copyright "Puppet Labs", 2011
license "Apache 2 license; see COPYING"
summary "API only: interact directly with resources via the RAL."
description <<-'EOT'
API only: this face provides a Ruby API with functionality similar to the
puppet resource (or ralsh) subcommand.
EOT
get_action(:destroy).summary "Invalid for this subcommand."
search = get_action(:search)
search.summary "API only: get all resources of a single type."
search.arguments "<resource_type>"
search.returns "An array of Puppet::Resource objects."
search.examples <<-'EOT'
Get a list of all user resources (API example):
all_users = Puppet::Face[:resource, '0.0.1'].search("user")
EOT
find = get_action(:find)
find.summary "API only: get a single resource."
find.arguments "<type>/<title>"
find.returns "A Puppet::Resource object."
find.examples <<-'EOT'
Print information about a user on this system (API example):
puts Puppet::Face[:resource, '0.0.1'].find("user/luke").to_pson
EOT
save = get_action(:save)
save.summary "API only: create a new resource."
save.description <<-EOT
API only: creates a new resource.
EOT
save.arguments "<resource_object>"
save.returns "The same resource object passed as an argument."
save.examples <<-'EOT'
Create a new file resource (API example):
my_resource = Puppet::Resource.new(
:file,
"/tmp/demonstration",
:parameters => {:ensure => :present, :content => "some\nthing\n"}
)
Puppet::Face[:resource, '0.0.1'].save(my_resource)
EOT
end
|