GCP 上的 Terraform - 错误 409:请求的实体已存在

dis*_*ame 4 google-cloud-platform terraform

我正在尝试创建一个 IAM 工作负载身份池和一个池提供程序。

\n

但是,terraform apply连续运行多次会引发错误,指出所请求的实体已存在。

\n

这实际上是正确的,但是为什么这是一个问题以及如何避免这样的错误?

\n
\xe2\x94\x82 Error: Error creating WorkloadIdentityPool: googleapi: Error 409: Requested entity already exists\n\xe2\x94\x82 \n\xe2\x94\x82   with google_iam_workload_identity_pool.github,\n\xe2\x94\x82   on main.tf line 36, in resource "google_iam_workload_identity_pool" "github":\n\xe2\x94\x82   36: resource "google_iam_workload_identity_pool" "github" {\n
Run Code Online (Sandbox Code Playgroud)\n

这是 Terraform 描述:

\n
resource "google_iam_workload_identity_pool" "github" {\n  workload_identity_pool_id = "github-identity-pool"\n  display_name              = "GitHub Workload Identity Pool"\n}\n\nresource "google_iam_workload_identity_pool_provider" "github_identity_pool_provider" {\n  workload_identity_pool_id          = google_iam_workload_identity_pool.github.workload_identity_pool_id\n  workload_identity_pool_provider_id = "github-oidc"\n  display_name                       = "GitHub OIDC Provider"\n  attribute_mapping                  = {\n    "google.subject" = "assertion.sub"\n  }\n  oidc {\n    issuer_uri = "https://token.actions.githubusercontent.com"\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

小智 6

根据谷歌云文档,工作流身份池有 30 天的宽限期“不可删除”,并且名称不能重复使用。

您可以在删除后最多 30 天内取消删除提供商。30 天后,删除将被永久删除。在永久删除提供程序之前,您在创建新提供程序时无法重复使用其名称。

https://cloud.google.com/iam/docs/manage-workload-identity-pools-providers#delete-provider