On 2014-29-05 19:59, jcbollinger wrote:


On Thursday, May 29, 2014 9:23:54 AM UTC-5, Mark McFate 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 {



I think you can spell that as

if $creates { [...]

(See the docs on truthiness
<http://docs.puppetlabs.com/puppet/3/reference/lang_datatypes.html#automatic-conversion-to-boolean>.)

Alternatively, you could take advantage of the fact that interpolating
an unset variable gets you the empty string:

if "$creates" == '' { [...]

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



You want

   creates => undef

for that approach (no quotes).  That's an affirmative declaration of not
specifying any value, even an empty one, for the given parameter.

To be pedantic, it means "use the default value".

You do not need the conditional construct around the resource, simply
use

   creates => $creates

Since, if $creates is undefined, so will creates parameter be.
(at least in theory, but may depend on the impl of the exec resource type).

- henrik


--

Visit my Blog "Puppet on the Edge"
http://puppet-on-the-edge.blogspot.se/

--
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 puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/lmi0bc%24jjo%241%40ger.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to