Terraform模块中的可选字符串变量

时间:2018-09-06 19:41:46

标签: terraform terraform-provider-aws

我有一个自定义模块,可在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}
]

0 个答案:

没有答案