首页 文章

Terraform模块 - 变量和.tfvars

提问于
浏览
0

有一个Terraform模块和变量的问题,我不知道我做错了什么 .

我有一个看起来像这样的文件夹结构;

Accounts
    |_____Account1
    |        Main.tf
    |        terraform.tfvars
    |_____Account2
    |_____Account3
    |_____Modules
             |________VPC
                      Main.tf
                      Variables.tf

在我的modules文件夹中,我有我的main.tf和variables.tf,在帐户下我还有我的main.tf(调用模块vpc)和terrform.tfvars .

如何使用我的terraform.tfvars将安全凭据传递到我的账户文件夹中的main.tf?

VPC模块中我的Variables.tf中的变量看起来像这样;

variable "aws_access_key" {
  default = ""
 }

在我的帐户文件夹中,在Main.tf中我试图以这种方式调用tfvars;

variable "aws_access_key" {}

module "VPC" {
source = "/Accounts/Modules/VPC"
aws_access_key = "${var.aws_access_key}"
}

可以运行terraform init而没有任何问题,但是尝试运行terraform计划,它只是以红色显示并且无法运行 . 如果我手动将变量输入到帐户文件夹中的main.tf中,这确实有效 . 但我想删除任何敏感的.tfvars文件,这将最终在其他地方 .

我希望我做的事情显然是错的!还尝试了从account1文件夹中的-var-file = terraform.tfvars开关 .

任何想法都会很棒 . 因为我读到的所有内容都倾向于暗示这应该是有效的 .

谢谢Stephen

enter image description here

1 回答

  • 0

    只是从一个新文件夹运行它 - 只占用我的配置的一部分并运行正常 - 所以必须在文件中的东西 . 如果有其他人遇到这个

相关问题