【发布时间】:2021-08-16 04:10:25
【问题描述】:
我有这个 json 文件名为:dev.auto.tfvars.json,其内容:
{
"config": {
"KEY1": "VAL2",
"KEY2": "VAL2"
}
}
现在,我想将 config(它是一个对象)导入到我的 terraform tf 模板中的单个 terraform 环境变量中,如下所示(main.tf 文件):
variable config { type = map }
...
resource "aws_lambda_function" "mylambda" {
...
environment {
variables = {
config = var.config
}
}
}
这样做的目的是通过我的应用程序 server.js 中的 1 个配置变量读取整个 JSON:
const allConfig = process.env.config;
console.log(allConfig.KEY1) // Will print VAL1
我想避免像这样引用我的 main.tf 文件中的每个变量(这很乏味):
variable KEY1{}
variable KEY2{}
...
resource "aws_lambda_function" "mylambda" {
...
environment {
variables = {
KEY1 = var.KEY1
KEY2 = var.KEY2
}
}
当我尝试上面的解决方案时,terraform 会抛出一个错误:
var.config is a map of dynamic, known only after apply
Inappropriate value for attribute "variables": element "config": string
required.
【问题讨论】:
标签: terraform