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.

Reply via email to