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