Skip to content

Commit

Permalink
Explicitly load functions used by ensure_resource
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Dan Bode committed Aug 15, 2012
1 parent b42c82a commit 5d99cdf
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/puppet/parser/functions/ensure_resource.rb
Expand Up @@ -25,9 +25,11 @@
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

0 comments on commit 5d99cdf

Please sign in to comment.