I expect param => undef to be an explicit expression of 'param' not being specified by the current declaration, or as an override, to express the idea of the overridden resource as if 'param' had not been specified. The latter is essential. The former follows for consistency, because
foobar { 'example': param => undef } should not express a different resource state than does Foobar['example'] { param => undef } Moreover, my gut feeling is that having the undef bind to the actual parameter instead of being declaration metasyntax implies a need for users to have more knowledge of the details of the definition's (or class's) implementation than is reasonable. Though users may indeed have such information in some cases, that still doesn't sit well with me. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/F0rGcYv_GAQJ. 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.