How to get values from pseudo-nested maps?
emcniece opened this issue · 0 comments
emcniece commented
Hey, thank you for your work! Still doing some testing, but I've got a quick question: is it possible to get nested values from fake nested maps?
Context: I'm kind of hacking 0.11.0 to have nested maps, unable to upgrade to 0.12.0. I've got some environments that I want to iterate through elsewhere, and I'm trying to figure out how to get & set values inside a structure that looks like this:
locals {
"block1" = {
dev.env1 = "dev-var1"
dev.env2 = "dev-var2"
prod.env1 = "prod-var1"
prod.env2 = "prod-var2"
cat = "meow"
}
"block2" = {
dev.env3 = "dev-var3"
dev.env4 = "dev-var4"
prod.env3 = "prod-var3"
prod.env4 = "prod-var4"
}
}
So far, the only value I can extract from here is this:
cat test.tf | hclq get 'locals.block1.cat'
"meow"
Attempting to access the other commands seems to all return []
:
cat ./test.tf | hclq get 'locals.block1.dev'
cat ./test.tf | hclq get 'locals.block1.dev.*'
cat ./test.tf | hclq get 'locals.block1.dev[]'
cat ./test.tf | hclq get 'locals.block1.dev[].*'
cat ./test.tf | hclq get 'locals.block1.dev.env1'
cat ./test.tf | hclq get 'locals.block1.dev.env1*'
cat ./test.tf | hclq get 'locals.block1.dev.env1.*'
cat ./test.tf | hclq get 'locals.block1.dev.env1[]'
Do you by chance know if it's possible to get & set the value for one of these dot-notated dev.env1
values?