我有一个自定义模块,可在AWS ECS上创建任务定义,该模块具有如下变量:
variable "extra_vars" {
type = "string"
}
在我的main.tf
内,我做类似的事情:
module "foo" {
source = "git..."
extra_vars =<<EOF
{
"name": "foo",
"value": "bar"
}
EOF
}
问题是这个extra_vars
变量是可选的,但由于它是ECS任务定义的一部分,因此我需要它采用类似JSON的格式,因此我尝试了以下操作:
variable "extra_vars" {
type = "string"
default = "{}"
}
但是失败了。
我的问题在这里:有什么办法定义可选的字符串变量?否则,我可以将extra_vars
设置为null还是什么?
谢谢。
=更新:这是我需要使用变量的地方:
"environment": [
{
"name": "var0",
"value": "value0"
},{
"name": "var1",
"value": "value1"
}, ${var.extra_vars}
]