On Thu, Sep 5, 2013 at 2:31 PM, Jeff McCune <[email protected]> wrote:
>
> I mentioned a site module. Consider this example. What is the result?
>
> 1 class site::motd($template = 'site/motd') {
> 2 notify { 'motd': message => "template is $template" }
> 3 }
> 4
> 5 class goal {
> 6 notify { "site::motd::template":
> 7 message => "::site::motd::template is ${::site::motd::template}
> (should be ${::node_template})"
> 8 }
> 9 }
> 10
> 11 class container {
> 12 contain('site::motd')
> 13 }
> 14
> 15 node default {
> 16 $node_template = 'site/motd.jeff'
> 17 class { 'container': }
> 18 -> class { 'goal':}
> 19
> 20 class { 'site::motd': template => $node_template }
> 21 }
>
> The result I expect is that the class declaration on line 20 trumps all
> other includes because it is the most specific regarding explicit class
> parameters.
>
Your example fails either way. If contain doesn't call include, then
site::motd is not in the catalog at the time contain is evaluated so the
function call fails.
--
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev.
For more options, visit https://groups.google.com/groups/opt_out.