Hi,
sounds like a complex problem.
Here's a simple counter case that shows why I don't think that any ENC
out there does this.
class resolv::params {
if $ipaddress =~ /^192/ {
$ns1 = '192.168.0.1'
}
else {
$ns1 = '8.8.8.8'
}
}
The raison d'etre (as far as I know it - never used this pattern myself)
for params classes is their ability to centrally define defaults that
are derived from fact values. The ENC would have to interpret the
manifest for the params class in question, using the node's stored data
as the basis.
Doing this on the fly does not sound feasible to me - this is quite an
expensive operation. So the ENC would have to maintain some kind of
cache for all those values. This, in turn, sounds like a lot of work.
The it probably would be a cool feature to add to the ENC of your choice :-)
Cheers,
Felix