OK thanks, this helped a lot, and finally with puppet 2.7.9 the 'undef' as
a default value worked.



On Tue, Jan 17, 2012 at 3:59 PM, jcbollinger <john.bollin...@stjude.org>wrote:

>
>
> On Jan 17, 4:34 am, Antidot SAS <antidot...@gmail.com> wrote:
> > Hi everyone,
> >
> > Is there a way to handle default setting easily, let me explain, I want
> to
> > create a user but if the uid is specified I would to use it as follow:
> >
> > ---
> > class user::create ($uid='' ) {
> > user { "$name":
> >   ensure => present,
> >   uid      => "$uid",}
> >
> > ---
> >
> > Or am I forced to used the following code:
> >
> > ---
> > class user::create ($uid='' ) {
> > user { "$name":
> >   ensure => present,
> >
> > }
> >
> > if $uid { User["$name"] { uid => "$uid", }
> >
> > ---
>
>
> Unless you want to limit your self to a maximum of one managed User
> per node, you'll want a definition rather than a class.  You also need
> to understand that the empty string is a string value like any other,
> and assigning it as a resource property is very different from
> assigning no value.  The latter is expressed via the keyword "undef",
> which must be written without the quotes to have that meaning.
>
> Also, I'm not sure whether this is true in the latest Puppet versions,
> but it used to be that you could not set undef as a parameter's
> default value.  For cases such as yours, then, one would typically use
> code similar to this:
>
> define user::create ($uid = '') {
>   user { "$name":
>    ensure => present,
>     uid      => $uid ? { '' => undef, default => $uid }
>  }
> }
>
>
> John
>
> --
> 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.
>
>

-- 
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.

Reply via email to