Terraform模块-变量和.tfvars

时间:2018-08-14 12:46:41

标签: variables module terraform

Terraform模块和变量存在问题,我对我做错了事感到茫然。

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

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

在我的模块文件夹中,我有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初始化而没有任何问题,但是尝试运行terraform计划时,它只是显示为红色而无法运行。如果我将变量手动输入到帐户文件夹中的main.tf中,则此方法有效。但是我想将任何敏感内容剥离到.tfvars文件中,否则将在其他地方结束。

我希望我做的事情显然不对!还尝试从account1的文件夹内进行-var-file = terraform.tfvars切换。

任何想法都很棒。正如我所读的所有内容都暗示这应该起作用。

谢谢 斯蒂芬

enter image description here

1 个答案:

答案 0 :(得分:0)

只需从一个新文件夹中运行它-仅占用我的配置的一部分并且运行良好-因此文件中必须包含某些内容。如果有人碰到