我在另一个目录中有模块。所以我想添加 backend.tf 并从 linux environment variable 设置提供程序数据。
但是 terraform 给出错误。
我的结构如下所示。
main.tf
└── vpc
├── backend.tf
├── export.sh
├── vars.tf
└── vpc.tf
## main.tf
module "my_vpc" {
source = "../../vpc"
instance_tenancy = "default"
}
## backend.tf
terraform {
backend "s3" {
region = "${var.aws_region}"
bucket = "${var.TERRAFORM_BUCKET}-vpc"
profile = "${var.ORGANISATION}"
key = "${var.ORGANISATION}"
}
}
provider aws {
profile = "${var.ORGANISATION}"
region = "${var.aws_region}"
}
我已经从终端导出了变量 ORGANISATION、REGION 和 TERRAFORM_BUCKET 变量,但它给出了这个错误:
Error: module "my_vpc": missing required argument "aws_region"
Error: module "my_vpc": missing required argument "TERRAFORM_BUCKET"
Error: module "my_vpc": missing required argument "ORGANISATION"
我该如何解决这个问题?
注意:通过环境变量从模块调用 backend.tf。(动态和默认变量)
请帮忙 !