我正在尝试运行terraform init
并指向特定的后端配置。
阅读Terraform上的文档,它只是一个标准的key=value文件,就像tfvars一样。这是我的配置文件的样子:
resource_group_name = "MY_RG_NAME"
storage_account_name = "MY_SA_NAME"
container_name = "MY_C_NAME"
key = "MY_KEY"
我的后端在Azure中,所以如果我的文件在后端。tfbackend文件,我运行
terraform init -backend-config=backend.tfbackend
我启用了跟踪日志记录,我可以看到我的文件没有被读取,因为terraform说它找不到,但它肯定在那里。我和另一个和我一起工作的工程师谈过,他说这个开始不工作了。
有人知道是什么问题吗?当我创建配置文件时,我不知道如何指定后端应该使用azurerm提供程序,我可能会错过吗?
我的步骤:
- 以key=value格式创建我的文件
- run
terraform init -backend-config=<path to file>
我希望Terraform初始化的信息在我的配置文件
您用az login
登录了吗?
terraform
在tf
文件旁边执行?
命令是否与
相似?terraform init
-backend-config="storage_account_name=${STORAGE_ACCOUNT_NAME}"
-backend-config="container_name=${CONTAINER_NAME}"
-backend-config="access_key=$${ACCOUNT_KEY}"
-backend-config="key=${TFSTATE_FILE}"
你的配置不应该是这样的。你需要指定你使用的后端类型,等等。
terraform {
backend "azurerm" {
resource_group_name = "YOUR_RG_NAME"
storage_account_name = "YOUR_SA_NAME"
container_name = "YOUR_C_NAME"
key = "YOUR_KEY"
}
}
我通常将它与提供者(即backend.tf
)分开声明