GCP - Terraform - google_project_services 模块中断 Terraform 管道

GCP - Terraform - google_project_services module breaks terraform pipeline

根据主题标题,当使用此模块仅删除默认网络而不删除其他任何内容时,此模块完全破坏了我的地形,即使模块已 removed/commented 退出,我仍然遇到相同的错误:

resource "google_project_service" "service" {
  project = var.project_id
  service = "compute.googleapis.com"
  disable_dependent_services = false
  disable_on_destroy = false

  provisioner "local-exec" {
    command = "gcloud -q compute networks delete default --project=${var.project_id}"
  }
}

这是我得到的错误(用“project_id”替换了我的实际项目 ID):

Error: Error when reading or editing Project Service project_id/compute.googleapis.com: Error disabling service "compute.googleapis.com" for project "project_id": googleapi: Error 400: The service compute.googleapis.com is depended on by the following active service(s): container.googleapis.com; Please specify disable_dependent_services=true if you want to proceed with disabling all services.
│ Help Token: Ae-hA1POavq8x9V18i7Um0cW3sx_9lXuuNzjqDzX3zZ3HEYjJ91bGelEobL22DVMdY27NCRrCtZbyE-GbagPtdmxWhdpSamwl0JJomQ4KTRUQDK5
│ Details:
│ [
│   {
│     "@type": "type.googleapis.com/google.rpc.PreconditionFailure",
│     "violations": [
│       {
│         "subject": "?error_code=100001\u0026service_name=compute.googleapis.com\u0026services=container.googleapis.com",
│         "type": "googleapis.com"
│       }
│     ]
│   },
│   {
│     "@type": "type.googleapis.com/google.rpc.ErrorInfo",
│     "domain": "serviceusage.googleapis.com",
│     "metadata": {
│       "service_name": "compute.googleapis.com",
│       "services": "container.googleapis.com"
│     },
│     "reason": "COMMON_SU_SERVICE_HAS_DEPENDENT_SERVICES"
│   }

│ ] │ , failedPrecondition

在使用 terraform 在新创建的项目中启用 gcp api 时,此模块之前遇到过类似问题,因此停止使用它。

有什么办法可以解决上述问题吗?

我正在执行 terraform 初始化、刷新、计划和应用,这失败了并在 terraform 应用阶段出现了上述错误。

因为一些其他服务使用 compute.googleapis.com 作为依赖服务。所以它停止 compute.googleapis.com 禁用,因为它可能会影响那些依赖服务。这是参考 Doc1 像这样尝试它应该工作

 disable_dependent_services = True

似乎 module/resource 仍在状态文件中定义,删除修复它