On Jan 19, 11:01 am, "R.I.Pienaar" <r...@devco.net> wrote:
> ----- Original Message -----
> > Defined() doesn't suck! It's a 100% reliable way to check what
> > classes and defined types are available to the autoloader. I challenge 
> > anyone
> > to find me an example of this usage that fails.
>
> can you give an example of this use case pls?

Well... that's something I realized after I posted that, is I'm not
sure if anyone WANTS a reliable way to test the autoloader. (Obviously
people do want a way to check for resource instances, which is why
defined() keeps getting used for that...)

But anyway! Say you make a module for a network service and you want
it to be able to manage its own firewall rule. You know of a defined
type for firewall rules, and you're using it, but you want your module
to be portable and you know of good reasons why someone wouldn't be
using your iptables module.

So, you can conditionally declare the rule if the defined type is
available to the autoloader, and otherwise you don't attempt to manage
the firewall and expect that the user has read the documentation and
will make a hole for the service themselves.

if defined(firewall::iptables::rule) {
  firewall::iptables::rule {'mysql_server':
    ...etc. etc.
  }
}

See? It's just a way to peek around at what the user has installed.

Which... maybe implies that it should be renamed to "installed()."
Dunno.

-- 
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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to