У меня есть лямбда, которая довольно хорошо вызывается во время terraform apply
, и я получаю от нее хороший результат:
output "out_params_map" {
description = "something"
value = module.get_params.result_map
}
показывает правильный результат
terraform apply...
...
Outputs:
out_params_map = [
{
"key1" = "val1"
"key2" = "val2"
},
]
Когда я пытаюсь использовать результат где-то еще, например,
resource "aws_security_group_rule" "this" {
some_param = module.get_params.result_map.key1
}
оба terraform plan
и terraform apply
не работают:
Error: Unsupported attribute
on file.tf line 32, in resource "aws_security_group_rule" "this":
32: some_param = module.get_params.result_map.key1
|----------------
| module.get_params.result_map is empty tuple
This value does not have any attributes.
Я также пробовал:
... = module.get_params.result_map[0].key1
... = jsondecode(module.get_params.result)["key1"]
... = module.get_params.result_map["key1"]
но это тоже не работает.
Дополнительный код можно найти здесь: https://pastebin.com/rQaDJstU
Итак, как использовать результаты вызова в другом месте?
module.get_params.result_map
? Откуда бы это ни пришло, это, вероятно, полезная часть. - person ydaetskcoR   schedule 18.09.2019