On Fri, Sep 14, 2012 at 11:31:08AM -0700, Eric Sorenson wrote:
> Hi, there's an issue that came up recently in the 3.0RCs -- Big thanks to
> Erik Dalén for reporting it in #16221 -- that involves a behaviour change to
> part of the DSL. In a nutshell, this code:
>
[..]>
> class toplevel (
> $maybe = false,
> $optional = undef ) {
> if ($maybe) {
> class { toplevel::secondlevel: optional => undef }
> }
> }
>
> In order to make use of the default for the `optional` parameter in
> toplevel::secondlevel, you'd now need to either test in `toplevel` whether
> `$optional` was passed into it, or have toplevel::secondlevel use an
> `$optional_real` value inside it, similar to what's commonly done to append
> to defaults that are array values.
>
[...]
>
> So, I'm trying to determine whether this is a widespread pattern or an
> edge-case. Do you expect 'param=>undef' to be the same as not specifying
> param at all, or for the receiver to "see" the undef?
>
> Eric Sorenson - [email protected]
> PuppetConf'12 - 27-28 Sep in SF - http://bit.ly/pcsig12
>
I use this a lot to be able to have an optional parameter in a parent
class that is passed to an included class and the included class
determines the default value. Like:
class basic($puppet_cron = undef) {
class { 'puppet::client':
cron => $puppet_cron,
}
}
-Stefan
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.