Terraform 使用了错误的谷歌项目

问题描述 投票:0回答:3

我删除了项目

projects/project1-301106
,然后创建了一个以
301108
结尾的新项目。但 terraform 总是尝试使用旧项目。

Error: Error creating Network: googleapi: Error 404: The resource 'projects/project1-301106' was not found, notFound

我删除了 .terraform 目录和文件,运行了

terraform init
。还清除了 gcould 和 reauth 但仍然是相同的错误。

google-cloud-platform google-api terraform devops terraform-provider-gcp
3个回答
1
投票

尝试这个解决方案。

删除这些文件和文件夹:

sudo rm -r .terraform .terraform.lock.hcl terraform.tfstate terraform.tfstate.backup

然后:

terraform init

最后:

terraform apply -auto-approve

1
投票

对我来说,这是由于运行

gcloud auth application-default login
导致的,它使用错误的项目在浏览器选项卡中打开。删除 terraform 文件并没有解决我的问题。


0
投票

我不使用 Gcloud,但 Terraform Openstack 提供商遇到了类似的问题,给我带来了困难。无论我做了什么,设置 Terraform 变量,删除

.terraform
,删除
terraform.tfstate
terraform.tfstate.backup
(顺便说一句,不要这样做!),运行
terraform init
等。我总是最终在错误的项目。

...实际上基础设施总是在我从事的上一个项目中创建的...

所以我偶然发现了问题所在:是一些环境变量在某种程度上产生了干扰(对于 OpenStack 用户来说,这些是以

OS
开头的变量)。我需要这些变量来与
openstack
命令行 API 客户端一起使用。我的解决方案是在使用 Terraform 之前
unset
所有“^OS”变量。

我认为 GCloud 可能存在类似问题,因为 Terraform 考虑了一些环境变量(请参阅 provider_reference#provider-default-values-configuration):

  • GOOGLE_PROJECT
  • GOOGLE_CLOUD_PROJECT
  • GCLOUD_PROJECT
  • CLOUDSDK_CORE_PROJECT

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.