В ваших модулях он не может знать переменные окружения, которые вы пытаетесь сделать с помощью TF_VAR_XXX
. Вы должны построить мост, чтобы перенести его.
Вот исправление
variable "PW" {}
module "terra_module" {
source = "./terra1/"
PW = "${var.PW}"
}
Я знал, что это какая-то раздражающая работа по копированию / вставке, но это так terraform
работает
Если вы хотите получить выходные данные из этого модуля, вам нужно добавить еще один output
(перенести его обратно)
Таким образом, полный main.tf
становится:
variable "PW" {}
module "terra_module" {
source = "./terra1/"
PW = "${var.PW}"
}
output "data" {
value = "${module.terra_module.data}"
}
Тогда вы получите:
$ TF_VAR_PW=bar terraform apply
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
Outputs:
data = bar