Terraform在条件内运行

时间:2018-06-01 21:16:19

标签: interpolation terraform

我一直在努力尝试在条件中加入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的官方文档中,它表示在条件内支持函数。

任何帮助都将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

使用format可能会更好,而不是创建变量列表并加入它们:

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