如何从另一个模块传递 tfvars?

How can I pass the tfvars from another module?

这是我的设置: main.tf:

module "foo" {
  source      = "../../../foo-module"
  name          = "bar"
  foo_nets = "${var.foo_nets}"
}

foo-module/terraform.tfvars:

foo_nets = ["1", "2", "3"]
➜  terraform plan -var-file=../../foo-module/terraform.tfvars -target=module.foo 
Error: module 'foo': unknown variable referenced: 'foo_nets'; define it with a 'variable' block

您的 foo-module/terraform.tfvars 没有定义名为 foo_nets 的变量,它只为名为 foo_nets 的变量定义默认值(如果该变量恰好存在)。您仍然需要在 foo-module 文件夹中的 terraform 文件中的某处定义变量,如下所示:

variable "foo_nets" {
}