我正在尝试在运行
backend.tf
命令时为每个环境设置 terraform init
,但 terraform init
无法识别 backend
文件内的 backend.tf
块。这是我的文件夹结构
project --|
|- env/--|-dev/------|-backend.tf
|-terraform.tfvar
|- stage/---|-backend.tf
|-terraform.tfvar
|-main.tf
|-output.tf
|-variables.tf
|-modules/-|-lambda--|----python/
|----zip/
|--main.tf
|--output.tf
|--variables.tf
|--requirement.tf
我为每个环境保留了
backend.tf
并从 env/
文件夹运行我的 terraform 命令。
这里是 init 命令
project/dev> terraform init -reconfigure -backend-config="dev/backend.tf"
但是 terraform 无法识别 backend.tf
文件夹中的 dev
。
这是我的
backend.tf
文件
terraform {
backend "s3" {
bucket = "bucket-terraform"
key = "service-513/terraform.tfstate"
region = "us-west-2"
dynamodb_table = "table-terraform"
}
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
运行 Terraform init 后,出现警告:
╷
│ Warning: Missing backend configuration
│
│ -backend-config was used without a "backend" block in the configuration.
│
│ If you intended to override the default local backend configuration,
│ no action is required, but you may add an explicit backend block to your
│ configuration to clear this warning:
│
│ terraform {
│ backend "local" {}
│ }
│
│ However, if you intended to override a defined backend, please verify that
│ the backend configuration is present and valid.
│
╵
不知道为什么会这样。如果有人能指导我正确的方向,我将不胜感激。