jcbollinger: > 1) The "include" statement expresses a requirement that the specified > class be included in the resulting catalog, but it says nothing about > the class's parameters. > > 2) If a class is named in at least one "include" statement that is > executed while compiling a catalog, then the effect depends on whether > the named class is "declared" elsewhere in the manifest: > > 2a) If the class is declared, then include statements referencing it > have no additional effect. > > 2b) If the class is not declared, then it is treated as if the class > were declared, without any explicit parameters, at the point where the > first include statement appears. (Fixing the class declaration to the > first include statement is intended to provide backwards > compatibility.) If such a class declares a parameter for which it > does not define a default value, then an error results.
I agree with the chorus of +1s for this proposal, largely because I feel that this is how people intuitively *expect* this interaction to work right now. This is the least surprising outcome, in general. I just hope it doesn't require too many extra passes over the AST to ensure declaration status! -- "As I soared high into the tag cloud Xeni Jardin carefully put up for me, I couldn't help but wonder how high we were above the blogosphere." -- Carlos Laviola -- 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.