On Fri, Oct 15, 2010 at 01:04:29AM -0700, luke.bigum wrote:
> Someone correct me if I am wrong, but defined() is useful for checking
> if types or classes exist ("are known about") but does not check
> whether a class is DECLARED - there's a difference. Note the
> documentation sentence "This is useful for checking whether a class is
> defined and only including it if it is".

You're not wrong.  That said, I'd actually advice the OP against trying
this kind of thing.  Generally, I find specific class dependencies are
something to avoid.  The only place I tolerate them is in "role"
classes, which is where I usually set up any dependencies between
modules that are required, and there I don't need to use defined() or
tagged() to check them, because I know precisely which classes have been
included.

Every time you add a dependency to a specific class, you cause problems
for the person who finds a need to creat a new class that inherits from
it.  That person will often be you and kicking yourself is not
rewarding.  Looking at my manifests and modules, the *only* places I
have a dependency on a named class is in my site::role classes and in
the samba::packages class where the named classes are internal to the
samba module and contain collections of packages (and their
dependencies) relevant to specific versions of Samba.

-- 
Bruce

Explota!: miles de lemmings no pueden estar equivocados.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to