如何将列表作为环境变量传递给 Terraform 使用?
How to pass pass a list as env variables to be consumed by Terraform?
我正在开发一个包含这样一个变量的 terraform 项目:
variable "datalake_layers" {
type = list
default = ["raw", "bronze", "silver", "gold"]
}
现在我想通过环境(os 变量)传递列表。我传递其他 os 变量的方式是在执行 terraform 命令之前通过 运行 config.sh 文件。 shell 脚本的内容如下所示:
export TF_VAR_tfinfra_storage_akey="some_storage_key"
export TF_VAR_rg_name="some_resourcegroup_name"
如何使用列表而不是字符串实现类似的设置?我可以像这样设置环境变量并以某种方式将其转换为 Terraform 列表吗?我找不到办法做到这一点。或者有更好的方法吗?
export TF_VAR_datalake_layers="["raw", "bronze", "silver", "gold"]"
是的,但是你必须使用单引号:
export TF_VAR_datalake_layers='["raw", "bronze", "silver", "gold"]'
我正在开发一个包含这样一个变量的 terraform 项目:
variable "datalake_layers" {
type = list
default = ["raw", "bronze", "silver", "gold"]
}
现在我想通过环境(os 变量)传递列表。我传递其他 os 变量的方式是在执行 terraform 命令之前通过 运行 config.sh 文件。 shell 脚本的内容如下所示:
export TF_VAR_tfinfra_storage_akey="some_storage_key"
export TF_VAR_rg_name="some_resourcegroup_name"
如何使用列表而不是字符串实现类似的设置?我可以像这样设置环境变量并以某种方式将其转换为 Terraform 列表吗?我找不到办法做到这一点。或者有更好的方法吗?
export TF_VAR_datalake_layers="["raw", "bronze", "silver", "gold"]"
是的,但是你必须使用单引号:
export TF_VAR_datalake_layers='["raw", "bronze", "silver", "gold"]'