On Friday, July 4, 2014 9:42:00 AM UTC-5, henrik lindberg wrote:
>
> Next up in the quest to understand and specify how defaults work /
> should work is the support to set class parameters via the resource
> default expression.
>
> You can do this, to set defaults on classes
>
> class a ($x) {
> notice "The x is $x"
> }
> Class { x => 'the default' }
> include a
>
> The output is "The x is the default"
>
> This is a very blunt instrument as it is not possible to define the
> defaults for a particular class. And (drumroll), it is almost useless as
> the parameters specified must be parameters that exist in *all classes*.
>
> The only possible meaningful use of this is to set meta parameters such
> as `audit`, or `loglevel` on every class.
>
> Can we remove this support?
>
>
Dressing classes in resource clothing doesn't make them resources.
Neither, really, does using some of the same abstractions to represent the
two, except in a rather technical sense. At the DSL level, Puppet classes
have always had substantially different semantics from bona fide resources,
and that this question even arises springs from a steadfast and
well-intentioned, but less-well conceived, attempt to ignore that. This is
not at all the only area where ignoring the distinction causes trouble.
Resource-like class declaration syntax should never have been
introduced.<descend from='soapbox'/>
TL/DR: tear it out -- we never should have had it anyway!
John
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-dev/b2ab233f-2f55-4e6b-b414-309a8b2aecc8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.