Hi folks,

last week I proposed we add a function to puppetlabs-apache which
converts puppet booleans to httpd's On/Off.

   https://github.com/puppetlabs/puppetlabs-apache/pull/782

of course that has no straight-forward approach, because in some
cases httpd will allow boolean values, as well as strings

   https://httpd.apache.org/docs/current/mod/core.html#acceptpathinfo
   https://httpd.apache.org/docs/current/mod/core.html#usecanonicalname

to name only a few.
My first throw of naming the function bool2httpd(), allowing it to map

   /on/i,  /true/i,  true,  1,             => 'On'
   /off/i, /false/i, false, 0, nil, :undef => 'Off'

and otherwise, simply returning whatever we got lead to the effect of
having a *bad* name. Looking at it now, the solution to this seems
simple: Rename the function to normalise_bool(), allow it an optional
parameter (a regex?) that validates the outliers.


But what about the general problem of mapping a sub-system's directives
and the values they can take to puppet-friendly names, and validating
their types and ranges? It seems a lot of energy is expended in our
manifests, templates, or types/providers to that task.
Especially when a system has a rich set of directives, this can become
very cumbersome. 

If you have similar pains, I invite you to share your stories here.
Maybe someone can think of a solution for your problem, or maybe
we can even find a more general solution.


So long,
-- i
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: [email protected]
URL: http://brainsware.org/
GPG: 8716 7A9F 989B ABD5 100F  4008 F266 55D6 2998 1641

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" 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-dev/440824986.75047.1404432705369.JavaMail.zimbra%40brainsware.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to