Terraform 在条件内运行

Terraform functions inside conditions

我一直在努力尝试在一个条件下加入 2 个字符串。这是我的

${var.log_expiration_days == "365" ? var.name : join("", [var.name, var.log_expiration_days])}

我得到的错误是这个

Error: Error loading modules: module alb: Error loading .terraform/modules/0daf126f48aa68f4100241c487117a28/main.tf: Error reading config for aws_lb[alb]: parse error at 4:77: expected expression but found "["

我还没有看到任何人 运行 在条件内运行,所以我不知道这是否可能。但是,在 terraform 的官方文档中,它说函数在内部条件下是受支持的。

如有任何帮助,我们将不胜感激。

谢谢!

尝试使用 list 插值创建列表:

${var.log_expiration_days == "365" ? var.name : join("", list(var.name, var.log_expiration_days))}

与其创建变量列表并加入它们,不如使用 format:

可能更好
"${var.log_expiration_days == "365" ? var.name : format("%s%s", var.name, var.log_expiration_days)}"