Eu tenho um código terraform que se parece com isto:
locals {
overrides = {
foo = {
connections = {
connection-one = {
bool_setting = "true"
}
connection-two = {
string_value = "primary"
}
}
}
}
my_json = {
"description" = "blah"
"psk" = {
for_each = try(local.overrides.foo.connections, {}) # <-- problem
each.key : random_string.password[each.key]
}
}
}
resource "random_string" "password" {
for_each = try(local.overrides.foo.connections, {})
length = 20
special = true
}
output "json_output" {
value = jsonencode(local.my_json)
}
Eu sei que meu código está errado porque for_each
não são permitidos blocos onde apontei o problema, mas minha esperança é que esse trecho demonstre o que estou tentando alcançar.
NB: local.overrides
nem sempre pode ter o connections
atributo, daí o try()
.
Eu gostaria de uma saída parecida com a abaixo:
{
"description": "blah",
"psk": {
"connection-one": "g2rL6IEF1XXp_JL]N<H!",
"connection-two": "EVBQvSj@5a9lo:OZ<S_T"
}
}
Como faço para conseguir isso no Terraform?