Скорее всего, я думаю, что вы не должны использовать ${var.env}
в шаблоне, а скорее ${env}
.
Есть несколько частей, как это работает. Я должен предположить, что вам не хватает одной из этих частей. Я могу привести простой пример.
Из моих собственных определений пользовательских данных, несколько сильно упрощенных примеров:
variable "product" {
default = ""
}
data "template_file" "userdata" {
template = file("${path.module}/userdata.sh")
vars = {
product = var.product
}
}
Из моего terraform.tfvars
файла:
product = "radar"
Где-то в файле userdata.sh
, который является шаблоном:
"product": "${product}",
Шаблон, конечно, более сложный, чем этот. Я бы посоветовал начать с простого файла и проверить, что он получился таким, каким вы хотите, а затем использовать его. Как только вы увидите, как переменные проходят по цепочке так, как вы хотите, должно быть просто создать более сложный bootstrap.