summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/functions/create_resources.rb
diff options
context:
space:
mode:
authorJeff McCune <jeff@puppetlabs.com>2011-07-10 12:57:23 -0700
committerJeff McCune <jeff@puppetlabs.com>2011-07-10 12:57:23 -0700
commit8fe2e555ac3d57f5b6503ffe1a5466db8d6e190a (patch)
treed5a5060944d69303deda8ce7b0b8fd85b853b747 /lib/puppet/parser/functions/create_resources.rb
parentd58eacd6b4abc804bc5326184ed59c309fd04149 (diff)
parent5826f7399325c784a5e8e33c7fabc46e202334a8 (diff)
downloadpuppet-8fe2e555ac3d57f5b6503ffe1a5466db8d6e190a.tar.gz
puppet-8fe2e555ac3d57f5b6503ffe1a5466db8d6e190a.tar.xz
puppet-8fe2e555ac3d57f5b6503ffe1a5466db8d6e190a.zip
Merge branch 'ticket/2.7.x/8032_create_resource_containment' into 2.7.x
* ticket/2.7.x/8032_create_resource_containment: (#8032) Add containment to create_resources
Diffstat (limited to 'lib/puppet/parser/functions/create_resources.rb')
-rw-r--r--lib/puppet/parser/functions/create_resources.rb11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/puppet/parser/functions/create_resources.rb b/lib/puppet/parser/functions/create_resources.rb
index 430f110b4..3b8bb3543 100644
--- a/lib/puppet/parser/functions/create_resources.rb
+++ b/lib/puppet/parser/functions/create_resources.rb
@@ -27,15 +27,16 @@ Takes two parameters:
args[1].each do |title, params|
raise ArgumentError, 'params should not contain title' if(params['title'])
case type_of_resource
- when :type
- res = resource.hash2resource(params.merge(:title => title))
- catalog.add_resource(res)
- when :define
+ # JJM The only difference between a type and a define is the call to instantiate_resource
+ # for a defined type.
+ when :type, :define
p_resource = Puppet::Parser::Resource.new(type_name, title, :scope => self, :source => resource)
params.merge(:name => title).each do |k,v|
p_resource.set_parameter(k,v)
end
- resource.instantiate_resource(self, p_resource)
+ if type_of_resource == :define then
+ resource.instantiate_resource(self, p_resource)
+ end
compiler.add_resource(self, p_resource)
when :class
klass = find_hostclass(title)