jch*_*241 3 terraform terraform-provider-aws
在我的 lambda.tf 中,我有一个数据资源
data "template_file" "handler" {
template = "${file("${path.module}/templates/handler.js")}"
vars = {
ENDPOINT = "${var.domain}"
PASSWORD = "${var.password}"
}
}
Run Code Online (Sandbox Code Playgroud)
但是 - 我遇到语法错误:
Error: failed to render : <template_file>:280,49-50: Extra characters after interpolation expression; Expected a closing brace to end the interpolation expression, but found extra characters.
on ../docs/lambda.tf line 1, in data "template_file" "handler":
1: data "template_file" "handler" {
Run Code Online (Sandbox Code Playgroud)
Terraform 是否允许在插值内进行插值?如果是这样 - 任何有关指出错误所在的建议将不胜感激。
地形v0.12.9。提供商“aws”版本"~> 2.7"
不太清楚您的模板文件是什么样子或您想要做什么,所以这里有几个不同的答案。
您可以使用双美元符号来逃避插值:$${foo}将被渲染为文字${foo}。
Terraform 不允许动态构造变量名,因为它需要能够静态分析配置(即不计算任何表达式),以确定必须以哪种顺序解析表达式。
Terraform 支持可用于实现此效果的地图数据结构。
variable "var1" {
default = "value1"
}
variable "var2" {
default = "value2"
}
locals {
var3 = "${var.var1}_${var.var2}"
values = {
"value1_value2" = "local1"
"value2_value3" = "local2"
"value3_value4" = "local3"
}
}
output "val_output" {
value = "${local.values[local.var3]}"
}
Run Code Online (Sandbox Code Playgroud)
如果两者都不是您要查找的内容,则需要共享您的模板文件或重复错误的修改版本。
| 归档时间: |
|
| 查看次数: |
11634 次 |
| 最近记录: |