]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Explicitly load functions used by ensure_resource
authorDan Bode <dan@puppetlabs.com>
Wed, 15 Aug 2012 22:57:45 +0000 (15:57 -0700)
committerJeff McCune <jeff@puppetlabs.com>
Thu, 25 Oct 2012 17:57:40 +0000 (10:57 -0700)
The ensure_resource function actually calls two
other functions, create_resources and defined_with_param.

When calling Puppet functions from Ruby, you sometimes have
to load the functions manually if they have not been called
before.

This commit explicitly loads the functions that ensure_resource
depends on from within the function.

lib/puppet/parser/functions/ensure_resource.rb

index 6a9e2ed3df2a9a34739d66a56706e911061895e0..fba2035617e7bf3006a3e9c013f7e071009778e3 100644 (file)
@@ -25,9 +25,11 @@ ENDOFDOC
   raise(ArgumentError, 'Must specify a type') unless type
   raise(ArgumentError, 'Must specify a title') unless title
   params ||= {}
+  Puppet::Parser::Functions.function(:defined_with_params)
   if function_defined_with_params(["#{type}[#{title}]", params])
     Puppet.debug("Resource #{type}[#{title}] not created b/c it already exists")
   else
+    Puppet::Parser::Functions.function(:create_resources)
     function_create_resources([type.capitalize, { title => params }])
   end
 end