Indeed it was about looking up a value to use as part of a following lookup, so a lookup in a lookup. I was already afraid this would not be possible. Thanks for the suggestion of using separate yaml files, I'll explore that idea further.
On Tuesday, 18 May 2021 at 11:17:00 UTC+2 [email protected] wrote: > Hi Erwin and Martin, > > I think there's a difference here - Erwin it seems you're trying to do > nested interpolation, while Martin it appears your example is for lookups > nested in hiera data. > > Erwin as far as I'm aware, nested interpolation in the manner you suggest > is not possible. At least I've not been able to get it to work, and I found > this engineering ticket a while back: > https://tickets.puppetlabs.com/plugins/servlet/mobile#issue/HI-532 > > You can sometimes usually work around this by restructuring your hiera > data. In your example, perhaps you could have a prod.yaml and a test.yaml > file that each define their own env_hash, and then edit your hiera.yaml so > the node includes the correct file based on its environment (if you have > environment available as a fact) > > > > On Tue, 18 May 2021, 6:38 pm Martin Alfke, <[email protected]> wrote: > >> Hi Erwin, >> >> Nested lookups are possible. >> >> We did a blog post on this topic: >> https://blog.example42.com/2020/01/21/hiera-nested-lookups/ >> >> Just be sure: >> >> A nested lookup (like in your example) always returns a string. >> If you need arrays or hashes within a nested lookup you must use the >> alias function. >> >> hth, >> Martin >> >> On 18. May 2021, at 10:23, Erwin Bogaard <[email protected]> wrote: >> >> Hi, >> >> I've been looking for this for a ling time, but can't find a definitive >> answer to my question: is it possible to use a lookup in a lookup? >> >> For example: >> aaa::bbb: >> "mvn:com.xxx.bus/xxx-features/%{lookup('xxx::apps::env_hash.%{lookup('xxx::apps::env')}.yyy.version')}/xml/features" >> >> Should lead to the following string: >> "mvn:com.xxx.bus/xxx-features/2.0.4/xml/features" >> >> If "xxx::apps::env" has the value 'test'. >> And "xxx::apps::env_hash.test.yyy.version" has the value '2.0.4'. >> >> The idea is that I would like one variable, "xxx::apps::env", make it >> possible to switch in a hash from the 'test'-branch to the 'prod'-branch, >> for example. Where each branch in that hash contains certain specified >> different versions and/or other variables. >> >> Thanks! >> >> -- >> 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 [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-users/5068271c-bac1-4beb-b097-91803dbf3e2en%40googlegroups.com >> >> <https://groups.google.com/d/msgid/puppet-users/5068271c-bac1-4beb-b097-91803dbf3e2en%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> >> -- >> 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 [email protected]. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-users/BFCDA3D6-80FA-4BFA-8E94-475F62A3A362%40gmail.com >> >> <https://groups.google.com/d/msgid/puppet-users/BFCDA3D6-80FA-4BFA-8E94-475F62A3A362%40gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/cce33618-d424-46ed-b633-aec0976663f3n%40googlegroups.com.
