On 2020-03-13 10:45, Helmut Schneider wrote:
Hi,

I'm using something like this:

netconfig:
   hostname:                'BSDHelmut'
   interfaces:
     "%{facts.networking.primary}":
       ip4:          &ip4   '192.168.124.35'
       cidr4:        &cidr4 '192.168.124.35/24'
       ip4aliases:
         - '192.168.124.36/32'
       ip6:          &ip6   'DHCP'

Can I either do something like

- "%{lookup('netconfig.interfaces.%{facts.networking.primary}.ip4.helmut')}"
- "text*{ip4}text"

Thank you!

No, you cannot do nested interpolations in hiera directly like that.

You would need to write your own hiera backend function to do that kind of combined lookup. It is easier than it sounds.

An alternative to using your own is to use this function as a backend:
https://github.com/hlindberg/tahu/blob/master/lib/puppet/functions/tahu/ppyaml_key.rb

It allows you to write snippets of Puppet Language logic in your data files - thus you can do puppet language interpolation and lookup the result as a key.

- 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/r4gepi%24fqn%241%40ciao.gmane.io.

Reply via email to