On May 29, 2014, at 10:23 AM, Mark McFate <[email protected]> wrote:

> I'm probably going about this all wrong, but I have an instance where I've 
> employed a Puppet module and need to sometimes add a "creates" attribute to 
> one of the exec's defined there.  My code (below) is probably all wrong, but 
> I think you'll see what I am trying to do...
> 
>   if $creates != nil {
>     exec { "drush-${title}" :
>       command => "drush ${command} ${root_option} ${uri_option} 
> ${force_option} ${additional_options}",
>       path    => [ '/bin', '/usr/bin' ],
>       creates => $creates, 
>     }
>   } else {
>     exec { "drush-${title}" :
>       command => "drush ${command} ${root_option} ${uri_option} 
> ${force_option} ${additional_options}",
>       path    => [ '/bin', '/usr/bin' ],
>     }
>   }
>  
> This doesn't work and neither does specifying an empty or nil attribute, like 
> "creates => ''" or "creates => nil".  
> 
> If nothing else, I will create two different exec's, one with and the other 
> without a creates attribute.  Can anyone suggest a more elegant solution?
> 
> Thanks in advance.


This can likely be solved with the defined() function. 
http://docs.puppetlabs.com/references/latest/function.html#defined

exec { "drush-${title}" :
    command => "drush ${command} ${root_option} ${uri_option} ${force_option} 
${additional_options}",
    path    => [ '/bin', '/usr/bin' ],
    if defined('$creates') {
        creates => $creates,
    }
}

--
Peter

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" 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-users/2E296E12-92B7-4CB3-B32A-B23653FB4519%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to