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:
i.g...@brainsware.org
URL:
http://brainsware.org/
GPG: 8716 7A9F 989B ABD5 100F 4008 F266 55D6 2998 1641