According to the tagging documentation[1], tags are automatically created for enclosing node, define, and class structures. 1. http://projects.puppetlabs.com/projects/1/wiki/Using_Tags#Automatic-Tagging If I create three classes like this: class first { tag(''doot'') } class second { if tagged(first) { warning(''first tag found'') } else { warning(''first tag not found'') } if tagged(doot) { warning(''doot tag found'') } else { warning(''doot tag not found'') } if tagged(third) { warning(''third tag found'') } else { warning(''third tag not found'') } } class third { } and declare them: class { ''first'':; ''second'':; ''third'':; } why does the ''first'' tag exist within the ''second'' class? This seems to be inconsistent with the documentation since ''first'' doesn''t enclose ''second''. But given that the ''first'' tag is set, why isn''t the ''third'' tag also set? Finally, is there a way to extend the scope of a tag through explicit dependencies? I''d like to do something like: Class[''first''] -> Class[''second''] <- Class[''third''] such that tags ''first'', ''doot'', and ''third'' are all present in ''second''. Thanks, Christian -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.