terraform-provider-gcp - 如何安全地从 google_project_iam_policy 资源迁移到 google_project_iam_member?

标签 terraform-provider-gcp

我有一个 TF 项目,当前使用单个 google_project_iam_policy 资源,并且希望转换为使用 google_project_iam_member

documentation警告:

google_project_iam_policy cannot be used in conjunction with google_project_iam_binding and google_project_iam_member or they will fight over what your policy should be.

是否有从一种样式迁移到另一种样式的安全路径?

最佳答案

google_project_iam_policy可能会与 google_project_iam_binding 战斗和google_project_iam_member ,但应该可以在短时间内同时使用它们(前提是它们包含相同的值)。

我还没有测试过这个,但我认为应该可以做类似的事情:

  1. 镜像当前 google_project_iam_policy权限到一组新的 google_project_iam_bindinggoogle_project_iam_member资源
  2. 运行terraform apply将新资源添加到您的 terraform 状态文件
  3. 删除旧的 google_project_iam_policy来自 terraform 配置的资源,但不要运行 terraform apply
  4. 运行terraform state rm <resource-name>对于每个旧的google_project_iam_policy资源
  5. 运行terraform plan并确认没有计划进行任何更改

关于terraform-provider-gcp - 如何安全地从 google_project_iam_policy 资源迁移到 google_project_iam_member?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53291631/

相关文章:

Terraform 每个项目的不同后端

terraform 解决冲突的供应商约束 : no available releases match the given constraints

terraform - 创建具有版本控制的 GCS 存储桶

google-cloud-platform - 如何获取 GKE 集群哈希值以更新 GCP 防火墙规则

firebase - Google-beta 似乎正在使用不存在的项目和 google_firebase_project。我应该怎么办?

google-cloud-platform - 无法将 `google_dns_record_set` 从 count 转换为 for_each

terraform - 使用 Terraform 的 GCP 中的 Stackdriver "Alert & Notification"

google-cloud-platform - 带有私有(private) Google Cloud 存储库的 GKE 上的 ImagePullBackOff