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.

Reply via email to