summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/augeas
diff options
context:
space:
mode:
authorDominic Cleal <dcleal@redhat.com>2011-02-25 22:13:33 +0000
committerDominic Cleal <dcleal@redhat.com>2011-02-25 22:13:33 +0000
commit67ed16031c6f1695a5b9933169b1f8ec1a4cce53 (patch)
tree56ddfafa1bcb0b8b33aa850e1863faf3cf1a489a /lib/puppet/provider/augeas
parent45cba13ee6d67c9c48e6db7b810f2fc55b1b14b8 (diff)
downloadpuppet-67ed16031c6f1695a5b9933169b1f8ec1a4cce53.tar.gz
puppet-67ed16031c6f1695a5b9933169b1f8ec1a4cce53.tar.xz
puppet-67ed16031c6f1695a5b9933169b1f8ec1a4cce53.zip
(#6494) Add defnode command to Augeas provider
Uses Augeas' defnode command which creates a variable pointing to a node, creating it with 'set' if it doesn't already exist.
Diffstat (limited to 'lib/puppet/provider/augeas')
-rw-r--r--lib/puppet/provider/augeas/augeas.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb
index 89f08ac00..59513e35a 100644
--- a/lib/puppet/provider/augeas/augeas.rb
+++ b/lib/puppet/provider/augeas/augeas.rb
@@ -37,6 +37,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do
"insert" => [ :string, :string, :path ],
"get" => [ :path, :comparator, :string ],
"defvar" => [ :string, :path ],
+ "defnode" => [ :string, :path, :string ],
"match" => [ :path, :glob ],
"size" => [:comparator, :int],
"include" => [:string],
@@ -359,6 +360,10 @@ Puppet::Type.type(:augeas).provide(:augeas) do
debug("sending command '#{command}' with params #{cmd_array.inspect}")
rv = aug.defvar(cmd_array[0], cmd_array[1])
fail("Error sending command '#{command}' with params #{cmd_array.inspect}") if (!rv)
+ when "defnode"
+ debug("sending command '#{command}' with params #{cmd_array.inspect}")
+ rv = aug.defnode(cmd_array[0], cmd_array[1], cmd_array[2])
+ fail("Error sending command '#{command}' with params #{cmd_array.inspect}") if (!rv)
else fail("Command '#{command}' is not supported")
end
rescue SystemExit,NoMemoryError