【发布时间】:2021-06-15 05:26:09
【问题描述】:
我有一个 Terraform 配置(v0.14,AWS 提供商 3.32.0),其中我将某些资源类型的参数定义为对象(输入变量)。这是一个(简化的)示例:
variable "docker_config" {
type = object({
internal = number
external = number
protocol = string
})
default =
{
internal = 8300
external = 8300
protocol = "tcp"
}
}
但是,我希望能够通过命令行或环境变量覆盖单个值。 我可以覆盖对象的各个值而不必传递整个对象吗?因此,请使用默认值并根据需要覆盖它们:
e。 G。
TF_VAR_docker_config.internal = 1234
或
TF_VAR_docker_config = "{internal = 1234}"
这会导致:
{
internal = 1234
external = 8300
protocol = "tcp"
}
我的测试不起作用。可能吗?如果是,怎么做?
【问题讨论】:
标签: terraform terraform-provider-aws terraform0.12+