Skip to content

admin-api, app-apiをadmin-bff-api, app-bff-apiにリネーム - #25

Merged
kantacky merged 1 commit into
mainfrom
kantacky/rename-bff
Oct 11, 2026
Merged

kantacky merged 1 commit into
mainfrom
kantacky/rename-bff

Conversation

@kantacky

@kantacky kantacky commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

概要

admin-api / app-api を admin-bff-api / app-bff-api にリネームします。Cloud Run サービス名は既に BFF 名だったため、残りの Terraform 上の命名を揃えます。

変更点

  • ディレクトリ: terraform/google/server/{admin,app}-api → {admin,app}-bff-api
  • digger.yml: プロジェクト名・パスを server-*-bff-api-{dev,stg,prd} に変更
  • リソースアドレス *_api → *_bff_api(moved ブロックで追従)
  • backend prefix: server/*-api-{env} → server/*-bff-api-{env}
  • Service Account ID / 表示名を *-bff-api[-env] / Admin/App BFF API に変更
  • BFF廃止前提の TODO コメントを削除

apply 前の注意

  • state の移行が必要: backend prefix 変更のため、admin / app × dev / stg / prd の 6 スタック分の state を新 prefix にコピーしてから plan/apply すること
    for svc in admin app; do
      for env in dev stg prd; do
        gsutil cp gs://swift2023groupc-tfstate/server/${svc}-api-${env}/default.tfstate \
                  gs://swift2023groupc-tfstate/server/${svc}-bff-api-${env}/default.tfstate
      done
    done
  • Service Account が再作成される: ID 変更は replace となり、IAM バインディング・invoker 権限も付け替わるため、一時的にサービス間呼び出しが失敗する可能性あり

確認

  • state を新 prefix にコピー
  • 各環境で plan を確認(Cloud Run は in-place 更新、SA は replace になること)

🤖 Generated with Claude Code

https://claude.ai/code/session_01B43QaWjx5YxszAQd71f2TF

Cloud Runサービス名は既にBFF名になっていたため、Terraformのディレクトリ、
Diggerプロジェクト名、リソースアドレス、backend prefix、Service Account IDを
BFF名に揃えた。リソースアドレスの変更はmovedブロックで追従させる。
BFF廃止を前提としたTODOコメントは不要になったため削除した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B43QaWjx5YxszAQd71f2TF
@kantacky kantacky self-assigned this Oct 11, 2026
@kantacky
kantacky marked this pull request as ready for review October 11, 2026 04:43
@kantacky

Copy link
Copy Markdown
Member Author

digger plan

@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Digger run report at 2026-10-11 04:47:21 (UTC)
Plan output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.admin_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.admin_api)
  ~ resource "google_cloud_run_v2_service" "admin_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-dev"
        name                    = "admin-bff-api-dev"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZYqd88LAU=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev" -> "academic-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZYPaAkvaI=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev" -> "announcement-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZYTDGHW/M=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev" -> "user-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.admin_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.admin_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "admin_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.admin_bff_api must be replaced
  # (moved from google_service_account.admin_api)
-/+ resource "google_service_account" "admin_bff_api" {
      ~ account_id      = "admin-api-dev" -> "admin-bff-api-dev" # forces replacement
      ~ display_name    = "Admin API (Dev)" -> "Admin BFF API (Dev)"
      ~ email           = "admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "107490271781949571562" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 5 to add, 1 to change, 5 to destroy.

Changes to Outputs:
  ~ service_account_email  = "admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
Terraform plan validation check (server-admin-bff-api-dev) Terraform plan validation checks succeeded ✅
Plan summary
CHANGE RESOURCE
update google_cloud_run_v2_service.admin_bff_api
recreate google_cloud_run_v2_service_iam_member.academic_service_invoker
google_cloud_run_v2_service_iam_member.announcement_service_invoker
google_cloud_run_v2_service_iam_member.user_service_invoker
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]
google_service_account.admin_bff_api
CHANGE OUTPUT
update service_account_email
service_account_name
Instructions

▶️ To apply these changes, run the following command:

digger apply -p server-admin-bff-api-dev

⏩ To apply all changes in this PR:

digger apply

🚮 To unlock all projects in this PR:

digger unlock
Plan output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.admin_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.admin_api)
  ~ resource "google_cloud_run_v2_service" "admin_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api"
        name                    = "admin-bff-api"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "admin-api@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZUvR+yRD0=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api" -> "academic-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZUvR+yXDI=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api" -> "announcement-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZUvR+ySDQ=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api" -> "user-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.admin_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.admin_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "admin_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.admin_bff_api must be replaced
  # (moved from google_service_account.admin_api)
-/+ resource "google_service_account" "admin_bff_api" {
      ~ account_id      = "admin-api" -> "admin-bff-api" # forces replacement
      ~ display_name    = "Admin API" -> "Admin BFF API"
      ~ email           = "admin-api@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "117255645705018996499" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 5 to add, 1 to change, 5 to destroy.

Changes to Outputs:
  ~ service_account_email  = "admin-api@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
Terraform plan validation check (server-admin-bff-api-prd) Terraform plan validation checks succeeded ✅
Plan summary
CHANGE RESOURCE
update google_cloud_run_v2_service.admin_bff_api
recreate google_cloud_run_v2_service_iam_member.academic_service_invoker
google_cloud_run_v2_service_iam_member.announcement_service_invoker
google_cloud_run_v2_service_iam_member.user_service_invoker
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]
google_service_account.admin_bff_api
CHANGE OUTPUT
update service_account_email
service_account_name
Instructions

▶️ To apply these changes, run the following command:

digger apply -p server-admin-bff-api-prd

⏩ To apply all changes in this PR:

digger apply

🚮 To unlock all projects in this PR:

digger unlock
Plan output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.admin_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.admin_api)
  ~ resource "google_cloud_run_v2_service" "admin_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-stg"
        name                    = "admin-bff-api-stg"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZUvKv54kM=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg" -> "academic-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZUvKv4HlU=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg" -> "announcement-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZUvKv5jS4=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg" -> "user-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.admin_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.admin_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "admin_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.admin_bff_api must be replaced
  # (moved from google_service_account.admin_api)
-/+ resource "google_service_account" "admin_bff_api" {
      ~ account_id      = "admin-api-stg" -> "admin-bff-api-stg" # forces replacement
      ~ display_name    = "Admin API (Stg)" -> "Admin BFF API (Stg)"
      ~ email           = "admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "111514960291778822668" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 5 to add, 1 to change, 5 to destroy.

Changes to Outputs:
  ~ service_account_email  = "admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
Terraform plan validation check (server-admin-bff-api-stg) Terraform plan validation checks succeeded ✅
Plan summary
CHANGE RESOURCE
update google_cloud_run_v2_service.admin_bff_api
recreate google_cloud_run_v2_service_iam_member.academic_service_invoker
google_cloud_run_v2_service_iam_member.announcement_service_invoker
google_cloud_run_v2_service_iam_member.user_service_invoker
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]
google_service_account.admin_bff_api
CHANGE OUTPUT
update service_account_email
service_account_name
Instructions

▶️ To apply these changes, run the following command:

digger apply -p server-admin-bff-api-stg

⏩ To apply all changes in this PR:

digger apply

🚮 To unlock all projects in this PR:

digger unlock
Plan output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.app_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.app_api)
  ~ resource "google_cloud_run_v2_service" "app_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-dev"
        name                    = "app-bff-api-dev"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZYqd88LAU=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev" -> "academic-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZYPaAkvaI=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev" -> "announcement-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZYTDGHW/M=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev" -> "user-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/firebaseappcheck.tokenVerifier"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_project_iam_member.app_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.app_bff_api must be replaced
  # (moved from google_service_account.app_api)
-/+ resource "google_service_account" "app_bff_api" {
      ~ account_id      = "app-api-dev" -> "app-bff-api-dev" # forces replacement
      ~ display_name    = "App API (Dev)" -> "App BFF API (Dev)"
      ~ email           = "app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "101113242206574052374" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 6 to add, 1 to change, 6 to destroy.

Changes to Outputs:
  ~ service_account_email  = "app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
Terraform plan validation check (server-app-bff-api-dev) Terraform plan validation checks succeeded ✅
Plan summary
CHANGE RESOURCE
update google_cloud_run_v2_service.app_bff_api
recreate google_cloud_run_v2_service_iam_member.academic_service_invoker
google_cloud_run_v2_service_iam_member.announcement_service_invoker
google_cloud_run_v2_service_iam_member.user_service_invoker
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]
google_service_account.app_bff_api
CHANGE OUTPUT
update service_account_email
service_account_name
Instructions

▶️ To apply these changes, run the following command:

digger apply -p server-app-bff-api-dev

⏩ To apply all changes in this PR:

digger apply

🚮 To unlock all projects in this PR:

digger unlock
Plan output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.app_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.app_api)
  ~ resource "google_cloud_run_v2_service" "app_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api"
        name                    = "app-bff-api"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "app-api@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZUvR+yRD0=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api" -> "academic-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZUvR+yXDI=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api" -> "announcement-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZUvR+ySDQ=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api" -> "user-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/firebaseappcheck.tokenVerifier"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_project_iam_member.app_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.app_bff_api must be replaced
  # (moved from google_service_account.app_api)
-/+ resource "google_service_account" "app_bff_api" {
      ~ account_id      = "app-api" -> "app-bff-api" # forces replacement
      ~ display_name    = "App API" -> "App BFF API"
      ~ email           = "app-api@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "115312484936584041352" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 6 to add, 1 to change, 6 to destroy.

Changes to Outputs:
  ~ service_account_email  = "app-api@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
Terraform plan validation check (server-app-bff-api-prd) Terraform plan validation checks succeeded ✅
Plan summary
CHANGE RESOURCE
update google_cloud_run_v2_service.app_bff_api
recreate google_cloud_run_v2_service_iam_member.academic_service_invoker
google_cloud_run_v2_service_iam_member.announcement_service_invoker
google_cloud_run_v2_service_iam_member.user_service_invoker
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]
google_service_account.app_bff_api
CHANGE OUTPUT
update service_account_email
service_account_name
Instructions

▶️ To apply these changes, run the following command:

digger apply -p server-app-bff-api-prd

⏩ To apply all changes in this PR:

digger apply

🚮 To unlock all projects in this PR:

digger unlock
Plan output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.app_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.app_api)
  ~ resource "google_cloud_run_v2_service" "app_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-stg"
        name                    = "app-bff-api-stg"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZUvKv54kM=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg" -> "academic-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZUvKv4HlU=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg" -> "announcement-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZUvKv5jS4=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg" -> "user-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/firebaseappcheck.tokenVerifier"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_project_iam_member.app_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.app_bff_api must be replaced
  # (moved from google_service_account.app_api)
-/+ resource "google_service_account" "app_bff_api" {
      ~ account_id      = "app-api-stg" -> "app-bff-api-stg" # forces replacement
      ~ display_name    = "App API (Stg)" -> "App BFF API (Stg)"
      ~ email           = "app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "117397473413387533618" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 6 to add, 1 to change, 6 to destroy.

Changes to Outputs:
  ~ service_account_email  = "app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
Terraform plan validation check (server-app-bff-api-stg) Terraform plan validation checks succeeded ✅
Plan summary
CHANGE RESOURCE
update google_cloud_run_v2_service.app_bff_api
recreate google_cloud_run_v2_service_iam_member.academic_service_invoker
google_cloud_run_v2_service_iam_member.announcement_service_invoker
google_cloud_run_v2_service_iam_member.user_service_invoker
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]
google_service_account.app_bff_api
CHANGE OUTPUT
update service_account_email
service_account_name
Instructions

▶️ To apply these changes, run the following command:

digger apply -p server-app-bff-api-stg

⏩ To apply all changes in this PR:

digger apply

🚮 To unlock all projects in this PR:

digger unlock

@kantacky

Copy link
Copy Markdown
Member Author

digger apply

@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Digger run report at 2026-10-11 04:55:40 (UTC)
Apply output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.admin_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.admin_api)
  ~ resource "google_cloud_run_v2_service" "admin_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-dev"
        name                    = "admin-bff-api-dev"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZYqd88LAU=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev" -> "academic-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZYPaAkvaI=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev" -> "announcement-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZYTDGHW/M=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev" -> "user-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.admin_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.admin_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "admin_bff_api" {
      ~ etag    = "BwZdiRaL2Ak=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.admin_bff_api must be replaced
  # (moved from google_service_account.admin_api)
-/+ resource "google_service_account" "admin_bff_api" {
      ~ account_id      = "admin-api-dev" -> "admin-bff-api-dev" # forces replacement
      ~ display_name    = "Admin API (Dev)" -> "Admin BFF API (Dev)"
      ~ email           = "admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "107490271781949571562" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 5 to add, 1 to change, 5 to destroy.

Changes to Outputs:
  ~ service_account_email  = "admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/admin-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Destroying... [id=swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev/roles/run.invoker/serviceAccount:admin-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destruction complete after 8s
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Destruction complete after 8s
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destruction complete after 9s
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destruction complete after 9s
google_service_account.admin_bff_api: Destroying... [id=projects/swift2023groupc/serviceAccounts/admin-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_service_account.admin_bff_api: Destruction complete after 0s
google_service_account.admin_bff_api: Creating...
google_service_account.admin_bff_api: Still creating... [00m10s elapsed]
google_service_account.admin_bff_api: Creation complete after 13s [id=projects/swift2023groupc/serviceAccounts/admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Creating...
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.user_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creating...
google_cloud_run_v2_service.admin_bff_api: Modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-dev]
google_cloud_run_v2_service_iam_member.user_service_invoker: Creation complete after 6s [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev/roles/run.invoker/serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creation complete after 7s [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev/roles/run.invoker/serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creation complete after 8s [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev/roles/run.invoker/serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Creation complete after 8s [id=swift2023groupc/roles/logging.logWriter/serviceAccount:admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service.admin_bff_api: Still modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-dev, 00m10s elapsed]
google_cloud_run_v2_service.admin_bff_api: Modifications complete after 12s [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-dev]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 5 added, 1 changed, 5 destroyed.

Outputs:

cloud_run_service_id = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-dev"
cloud_run_service_name = "admin-bff-api-dev"
cloud_run_service_uri = "https://admin-bff-api-dev-3b24rx4ldq-an.a.run.app"
service_account_email = "admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
service_account_name = "projects/swift2023groupc/serviceAccounts/admin-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
Apply output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.admin_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.admin_api)
  ~ resource "google_cloud_run_v2_service" "admin_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api"
        name                    = "admin-bff-api"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "admin-api@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZUvR+yRD0=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api" -> "academic-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZUvR+yXDI=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api" -> "announcement-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZUvR+ySDQ=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api" -> "user-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.admin_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.admin_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "admin_bff_api" {
      ~ etag    = "BwZdiWdX1io=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.admin_bff_api must be replaced
  # (moved from google_service_account.admin_api)
-/+ resource "google_service_account" "admin_bff_api" {
      ~ account_id      = "admin-api" -> "admin-bff-api" # forces replacement
      ~ display_name    = "Admin API" -> "Admin BFF API"
      ~ email           = "admin-api@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "117255645705018996499" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 5 to add, 1 to change, 5 to destroy.

Changes to Outputs:
  ~ service_account_email  = "admin-api@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/admin-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
google_cloud_run_v2_service_iam_member.user_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Destroying... [id=swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api/roles/run.invoker/serviceAccount:admin-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destruction complete after 8s
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Destruction complete after 8s
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destruction complete after 8s
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destruction complete after 9s
google_service_account.admin_bff_api: Destroying... [id=projects/swift2023groupc/serviceAccounts/admin-api@swift2023groupc.iam.gserviceaccount.com]
google_service_account.admin_bff_api: Destruction complete after 0s
google_service_account.admin_bff_api: Creating...
google_service_account.admin_bff_api: Still creating... [00m10s elapsed]
google_service_account.admin_bff_api: Creation complete after 13s [id=projects/swift2023groupc/serviceAccounts/admin-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creating...
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Creating...
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creating...
google_cloud_run_v2_service.admin_bff_api: Modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creation complete after 5s [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api/roles/run.invoker/serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Creation complete after 6s [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api/roles/run.invoker/serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creation complete after 7s [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api/roles/run.invoker/serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Creation complete after 8s [id=swift2023groupc/roles/logging.logWriter/serviceAccount:admin-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service.admin_bff_api: Still modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api, 00m10s elapsed]
google_cloud_run_v2_service.admin_bff_api: Modifications complete after 12s [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 5 added, 1 changed, 5 destroyed.

Outputs:

cloud_run_service_id = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api"
cloud_run_service_name = "admin-bff-api"
cloud_run_service_uri = "https://admin-bff-api-3b24rx4ldq-an.a.run.app"
service_account_email = "admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
service_account_name = "projects/swift2023groupc/serviceAccounts/admin-bff-api@swift2023groupc.iam.gserviceaccount.com"
Apply output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.admin_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.admin_api)
  ~ resource "google_cloud_run_v2_service" "admin_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-stg"
        name                    = "admin-bff-api-stg"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZUvKv54kM=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg" -> "academic-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZUvKv4HlU=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg" -> "announcement-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZUvKv5jS4=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg" -> "user-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.admin_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.admin_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "admin_bff_api" {
      ~ etag    = "BwZdiWqbxSo=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.admin_bff_api must be replaced
  # (moved from google_service_account.admin_api)
-/+ resource "google_service_account" "admin_bff_api" {
      ~ account_id      = "admin-api-stg" -> "admin-bff-api-stg" # forces replacement
      ~ display_name    = "Admin API (Stg)" -> "Admin BFF API (Stg)"
      ~ email           = "admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "111514960291778822668" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 5 to add, 1 to change, 5 to destroy.

Changes to Outputs:
  ~ service_account_email  = "admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/admin-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Destroying... [id=swift2023groupc/roles/logging.logWriter/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg/roles/run.invoker/serviceAccount:admin-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destruction complete after 7s
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destruction complete after 8s
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Destruction complete after 8s
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destruction complete after 9s
google_service_account.admin_bff_api: Destroying... [id=projects/swift2023groupc/serviceAccounts/admin-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_service_account.admin_bff_api: Destruction complete after 1s
google_service_account.admin_bff_api: Creating...
google_service_account.admin_bff_api: Still creating... [00m10s elapsed]
google_service_account.admin_bff_api: Creation complete after 18s [id=projects/swift2023groupc/serviceAccounts/admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.user_service_invoker: Creating...
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Creating...
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creating...
google_cloud_run_v2_service.admin_bff_api: Modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-stg]
google_cloud_run_v2_service_iam_member.user_service_invoker: Creation complete after 6s [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg/roles/run.invoker/serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creation complete after 7s [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg/roles/run.invoker/serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creation complete after 8s [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg/roles/run.invoker/serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.admin_bff_api["roles/logging.logWriter"]: Creation complete after 8s [id=swift2023groupc/roles/logging.logWriter/serviceAccount:admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service.admin_bff_api: Still modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-stg, 00m10s elapsed]
google_cloud_run_v2_service.admin_bff_api: Modifications complete after 12s [id=projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-stg]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 5 added, 1 changed, 5 destroyed.

Outputs:

cloud_run_service_id = "projects/swift2023groupc/locations/asia-northeast1/services/admin-bff-api-stg"
cloud_run_service_name = "admin-bff-api-stg"
cloud_run_service_uri = "https://admin-bff-api-stg-3b24rx4ldq-an.a.run.app"
service_account_email = "admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
service_account_name = "projects/swift2023groupc/serviceAccounts/admin-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
Apply output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.app_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.app_api)
  ~ resource "google_cloud_run_v2_service" "app_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-dev"
        name                    = "app-bff-api-dev"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZdiWcsFRI=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev" -> "academic-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZdiWc/yBA=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev" -> "announcement-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZdiWcrX54=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev" -> "user-api-dev"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/firebaseappcheck.tokenVerifier"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiW5IlnA=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_project_iam_member.app_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiW5IlnA=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.app_bff_api must be replaced
  # (moved from google_service_account.app_api)
-/+ resource "google_service_account" "app_bff_api" {
      ~ account_id      = "app-api-dev" -> "app-bff-api-dev" # forces replacement
      ~ display_name    = "App API (Dev)" -> "App BFF API (Dev)"
      ~ email           = "app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "101113242206574052374" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 6 to add, 1 to change, 6 to destroy.

Changes to Outputs:
  ~ service_account_email  = "app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/app-api-dev@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Destroying... [id=swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev/roles/run.invoker/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Destroying... [id=swift2023groupc/roles/logging.logWriter/serviceAccount:app-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destruction complete after 8s
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Destruction complete after 8s
google_cloud_run_v2_service_iam_member.user_service_invoker: Destruction complete after 8s
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destruction complete after 8s
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Destruction complete after 9s
google_service_account.app_bff_api: Destroying... [id=projects/swift2023groupc/serviceAccounts/app-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_service_account.app_bff_api: Destruction complete after 0s
google_service_account.app_bff_api: Creating...
google_service_account.app_bff_api: Still creating... [00m10s elapsed]
google_service_account.app_bff_api: Creation complete after 12s [id=projects/swift2023groupc/serviceAccounts/app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Creating...
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Creating...
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.user_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creating...
google_cloud_run_v2_service.app_bff_api: Modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-dev]
google_cloud_run_v2_service_iam_member.user_service_invoker: Creation complete after 5s [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api-dev/roles/run.invoker/serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creation complete after 6s [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api-dev/roles/run.invoker/serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creation complete after 7s [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-dev/roles/run.invoker/serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Creation complete after 8s [id=swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Creation complete after 8s [id=swift2023groupc/roles/logging.logWriter/serviceAccount:app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service.app_bff_api: Still modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-dev, 00m10s elapsed]
google_cloud_run_v2_service.app_bff_api: Modifications complete after 12s [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-dev]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 6 added, 1 changed, 6 destroyed.

Outputs:

cloud_run_service_id = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-dev"
cloud_run_service_name = "app-bff-api-dev"
cloud_run_service_uri = "https://app-bff-api-dev-3b24rx4ldq-an.a.run.app"
service_account_email = "app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
service_account_name = "projects/swift2023groupc/serviceAccounts/app-bff-api-dev@swift2023groupc.iam.gserviceaccount.com"
Apply output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.app_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.app_api)
  ~ resource "google_cloud_run_v2_service" "app_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api"
        name                    = "app-bff-api"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "app-api@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZdiWpnDpI=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api" -> "academic-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZdiWp+7BQ=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api" -> "announcement-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZdiWpuL+k=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api" -> "user-api"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/firebaseappcheck.tokenVerifier"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiXFZ2A0=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_project_iam_member.app_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiXFZ2A0=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.app_bff_api must be replaced
  # (moved from google_service_account.app_api)
-/+ resource "google_service_account" "app_bff_api" {
      ~ account_id      = "app-api" -> "app-bff-api" # forces replacement
      ~ display_name    = "App API" -> "App BFF API"
      ~ email           = "app-api@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "115312484936584041352" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 6 to add, 1 to change, 6 to destroy.

Changes to Outputs:
  ~ service_account_email  = "app-api@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/app-api@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
google_cloud_run_v2_service_iam_member.user_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Destroying... [id=swift2023groupc/roles/logging.logWriter/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Destroying... [id=swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api/roles/run.invoker/serviceAccount:app-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destruction complete after 7s
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destruction complete after 8s
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Destruction complete after 8s
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destruction complete after 8s
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Destruction complete after 8s
google_service_account.app_bff_api: Destroying... [id=projects/swift2023groupc/serviceAccounts/app-api@swift2023groupc.iam.gserviceaccount.com]
google_service_account.app_bff_api: Destruction complete after 1s
google_service_account.app_bff_api: Creating...
google_service_account.app_bff_api: Still creating... [00m10s elapsed]
google_service_account.app_bff_api: Creation complete after 19s [id=projects/swift2023groupc/serviceAccounts/app-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creating...
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Creating...
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Creating...
google_cloud_run_v2_service.app_bff_api: Modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creation complete after 6s [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api/roles/run.invoker/serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creation complete after 8s [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api/roles/run.invoker/serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Creation complete after 8s [id=swift2023groupc/roles/logging.logWriter/serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Creation complete after 8s [id=swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Creation complete after 9s [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api/roles/run.invoker/serviceAccount:app-bff-api@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service.app_bff_api: Still modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api, 00m10s elapsed]
google_cloud_run_v2_service.app_bff_api: Modifications complete after 13s [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 6 added, 1 changed, 6 destroyed.

Outputs:

cloud_run_service_id = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api"
cloud_run_service_name = "app-bff-api"
cloud_run_service_uri = "https://app-bff-api-3b24rx4ldq-an.a.run.app"
service_account_email = "app-bff-api@swift2023groupc.iam.gserviceaccount.com"
service_account_name = "projects/swift2023groupc/serviceAccounts/app-bff-api@swift2023groupc.iam.gserviceaccount.com"
Apply output
Terraform will perform the following actions:

  # google_cloud_run_v2_service.app_bff_api will be updated in-place
  # (moved from google_cloud_run_v2_service.app_api)
  ~ resource "google_cloud_run_v2_service" "app_bff_api" {
        id                      = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-stg"
        name                    = "app-bff-api-stg"
        # (36 unchanged attributes hidden)

      ~ template {
          ~ service_account                  = "app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
            # (10 unchanged attributes hidden)

            # (2 unchanged blocks hidden)
        }

        # (2 unchanged blocks hidden)
    }

  # google_cloud_run_v2_service_iam_member.academic_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "academic_service_invoker" {
      ~ etag     = "BwZdiW4hqTc=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg" -> "academic-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.announcement_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "announcement_service_invoker" {
      ~ etag     = "BwZdiW4hpCo=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg" -> "announcement-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_cloud_run_v2_service_iam_member.user_service_invoker must be replaced
-/+ resource "google_cloud_run_v2_service_iam_member" "user_service_invoker" {
      ~ etag     = "BwZdiW4bkAc=" -> (known after apply)
      ~ id       = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ location = "asia-northeast1" -> (known after apply)
      ~ member   = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
      ~ name     = "projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg" -> "user-api-stg"
      ~ project  = "swift2023groupc" -> (known after apply)
        # (1 unchanged attribute hidden)
    }

  # google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/firebaseappcheck.tokenVerifier"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiXTy6No=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_project_iam_member.app_bff_api["roles/logging.logWriter"] must be replaced
  # (moved from google_project_iam_member.app_api["roles/logging.logWriter"])
-/+ resource "google_project_iam_member" "app_bff_api" {
      ~ etag    = "BwZdiXTy6No=" -> (known after apply)
      ~ id      = "swift2023groupc/roles/logging.logWriter/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member  = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com" # forces replacement
        # (2 unchanged attributes hidden)
    }

  # google_service_account.app_bff_api must be replaced
  # (moved from google_service_account.app_api)
-/+ resource "google_service_account" "app_bff_api" {
      ~ account_id      = "app-api-stg" -> "app-bff-api-stg" # forces replacement
      ~ display_name    = "App API (Stg)" -> "App BFF API (Stg)"
      ~ email           = "app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
      ~ id              = "projects/swift2023groupc/serviceAccounts/app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ member          = "serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
      ~ name            = "projects/swift2023groupc/serviceAccounts/app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
      ~ unique_id       = "117397473413387533618" -> (known after apply)
        # (4 unchanged attributes hidden)
    }

Plan: 6 to add, 1 to change, 6 to destroy.

Changes to Outputs:
  ~ service_account_email  = "app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> "app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
  ~ service_account_name   = "projects/swift2023groupc/serviceAccounts/app-api-stg@swift2023groupc.iam.gserviceaccount.com" -> (known after apply)
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Destroying... [id=swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Destroying... [id=swift2023groupc/roles/logging.logWriter/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destroying... [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg/roles/run.invoker/serviceAccount:app-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Destruction complete after 7s
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Destruction complete after 8s
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Destruction complete after 8s
google_cloud_run_v2_service_iam_member.academic_service_invoker: Destruction complete after 9s
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Destruction complete after 9s
google_service_account.app_bff_api: Destroying... [id=projects/swift2023groupc/serviceAccounts/app-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_service_account.app_bff_api: Destruction complete after 0s
google_service_account.app_bff_api: Creating...
google_service_account.app_bff_api: Still creating... [00m10s elapsed]
google_service_account.app_bff_api: Creation complete after 14s [id=projects/swift2023groupc/serviceAccounts/app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Creating...
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creating...
google_cloud_run_v2_service_iam_member.user_service_invoker: Creating...
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Creating...
google_cloud_run_v2_service.app_bff_api: Modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-stg]
google_cloud_run_v2_service_iam_member.announcement_service_invoker: Creation complete after 6s [id=projects/swift2023groupc/locations/asia-northeast1/services/announcement-api-stg/roles/run.invoker/serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.user_service_invoker: Creation complete after 8s [id=projects/swift2023groupc/locations/asia-northeast1/services/user-api-stg/roles/run.invoker/serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service_iam_member.academic_service_invoker: Creation complete after 8s [id=projects/swift2023groupc/locations/asia-northeast1/services/academic-api-stg/roles/run.invoker/serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/logging.logWriter"]: Creation complete after 9s [id=swift2023groupc/roles/logging.logWriter/serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_project_iam_member.app_bff_api["roles/firebaseappcheck.tokenVerifier"]: Creation complete after 9s [id=swift2023groupc/roles/firebaseappcheck.tokenVerifier/serviceAccount:app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com]
google_cloud_run_v2_service.app_bff_api: Still modifying... [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-stg, 00m10s elapsed]
google_cloud_run_v2_service.app_bff_api: Modifications complete after 13s [id=projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-stg]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 6 added, 1 changed, 6 destroyed.

Outputs:

cloud_run_service_id = "projects/swift2023groupc/locations/asia-northeast1/services/app-bff-api-stg"
cloud_run_service_name = "app-bff-api-stg"
cloud_run_service_uri = "https://app-bff-api-stg-3b24rx4ldq-an.a.run.app"
service_account_email = "app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"
service_account_name = "projects/swift2023groupc/serviceAccounts/app-bff-api-stg@swift2023groupc.iam.gserviceaccount.com"

@kantacky
kantacky added this pull request to the merge queue Oct 11, 2026
Merged via the queue into main with commit 443d6bb Oct 11, 2026
8 checks passed
@kantacky
kantacky deleted the kantacky/rename-bff branch October 11, 2026 05:08
@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Digger run report at 2026-10-11 05:09:01 (UTC)
Unlocking successful Project unlocked (fun-dotto/infra#server-admin-bff-api-dev).
Unlocking successful Project unlocked (fun-dotto/infra#server-admin-bff-api-prd).
Unlocking successful Project unlocked (fun-dotto/infra#server-admin-bff-api-stg).
Unlocking successful Project unlocked (fun-dotto/infra#server-app-bff-api-dev).
Unlocking successful Project unlocked (fun-dotto/infra#server-app-bff-api-prd).
Unlocking successful Project unlocked (fun-dotto/infra#server-app-bff-api-stg).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants