Puppet Tips&Tricks: checking if a value is present in an array

I tend to create fairly ubiquitous defines, which allow for a lot of functionality. For that, it would be nice if you could tell puppet “if value X is present in array Y, do this”. I made it a feature request for puppet (#3871), which was luckily accepted and will be implemented in the next version of puppet. However, for the time being I needed this fixed. So I spend some time creating an ugly solution for this in older versions of puppet. Hope it helps someone!

# Setup additional services for this vhost, if any are required.

Start with a general check to prevent a lot of work when it's

not needed.

if $allow != "" { # FIXME Ideally we want something that simply does # for i in allow do include $http::allow_$i # but that doesn't work (yet?). # W00t! That's going to be added in 2.6! #3871 if inline_template("") == "true" { include allow_php5 } if inline_template("") == "true" { include allow_rewrite } if inline_template("") == "true" { include allow_ruby } if inline_template("") == "true" { include allow_python } }


Comments powered by Disqus