summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorLuke Kanies <luke@puppetlabs.com>2010-05-19 23:33:41 -0700
committertest branch <puppet-dev@googlegroups.com>2010-02-17 06:50:53 -0800
commit0dd4201697117645d4f4137b4678dd90671a4a89 (patch)
treed2a92b5a50eed9bef273f1b5b0e33fe3139e5613 /lib/puppet
parentb96cd6cc6e381b83abde6b3b3e5a6b6604f909c1 (diff)
downloadpuppet-0dd4201697117645d4f4137b4678dd90671a4a89.tar.gz
puppet-0dd4201697117645d4f4137b4678dd90671a4a89.tar.xz
puppet-0dd4201697117645d4f4137b4678dd90671a4a89.zip
Fixing #3072 - Resource generation is recursive
This allows you to create builtin nested resource types that generate other resources that generate other resources ad naseum. The primary point of this feature is that you can make builtin resource types that have a lot of the same encapsulation abilities of defined resource types. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/transaction.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/puppet/transaction.rb b/lib/puppet/transaction.rb
index 88563242e..ebbc7898f 100644
--- a/lib/puppet/transaction.rb
+++ b/lib/puppet/transaction.rb
@@ -198,6 +198,9 @@ class Puppet::Transaction
@catalog.add_resource(res) do |r|
r.finish
make_parent_child_relationship(resource, [r])
+
+ # Call 'generate' recursively
+ generate_additional_resources(r, method)
end
true
rescue Puppet::Resource::Catalog::DuplicateResourceError