Skip to content

Conversation

erikamov
Copy link
Contributor

@erikamov erikamov commented Sep 19, 2025

Description

This PR changes the bucket calitp-state-highway-network-stops location to us-west2 through Terraform.

It is currently using US region and since there is no data I can just replace the location.

This change is important to keep buckets at the same region as BigQuery and part of the Cost Savings plan: #3711

[#3712]

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

How has this been tested?

Tested using terraform plan.

Post-merge follow-ups

  • No action required
  • Actions required (specified below)

Confirm the location was changed.

@erikamov erikamov force-pushed the mov/3712-fix-state-highway-location branch 2 times, most recently from fa8e522 to 9a8b893 Compare September 19, 2025 19:31
@cal-itp cal-itp deleted a comment from github-actions bot Sep 19, 2025
@cal-itp cal-itp deleted a comment from github-actions bot Sep 19, 2025
@cal-itp cal-itp deleted a comment from github-actions bot Sep 19, 2025
Copy link

Terraform plan in iac/cal-itp-data-infra/gcs/us

Plan: 1 to add, 8 to change, 1 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~  update in-place
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # google_storage_bucket.tfer--calitp-state-highway-network-stops must be replaced
-/+ resource "google_storage_bucket" "tfer--calitp-state-highway-network-stops" {
!~      effective_labels            = {
+           "goog-terraform-provisioned" = "true"
        }
-       enable_object_retention     = false -> null
!~      id                          = "**********************************" -> (known after apply)
-       labels                      = {} -> null
!~      location                    = "US" -> "US-WEST2" # forces replacement
        name                        = "calitp-state-highway-network-stops"
!~      project_number              = 1005246706141 -> (known after apply)
!~      rpo                         = "DEFAULT" -> (known after apply)
!~      self_link                   = "https://www.googleapis.com/storage/v1/b/calitp-state-highway-network-stops" -> (known after apply)
!~      terraform_labels            = {
+           "goog-terraform-provisioned" = "true"
        }
!~      time_created                = "2024-10-01T17:58:00.763Z" -> (known after apply)
!~      updated                     = "2024-10-01T17:58:00.763Z" -> (known after apply)
!~      url                         = "gs://calitp-state-highway-network-stops" -> (known after apply)
#        (7 unchanged attributes hidden)

-       hierarchical_namespace {
-           enabled = false -> null
        }

!~      soft_delete_policy (known after apply)
-       soft_delete_policy {
-           effective_time             = "2024-10-01T17:58:00.763Z" -> null
-           retention_duration_seconds = 604800 -> null
        }

-       timeouts {}

!~      versioning (known after apply)

!~      website (known after apply)
    }

  # google_storage_bucket.tfer--rt-parsed-deprecated will be updated in-place
!~  resource "google_storage_bucket" "tfer--rt-parsed-deprecated" {
        id                          = "rt-parsed-deprecated"
        name                        = "rt-parsed-deprecated"
!~      terraform_labels            = {
+           "deprecated" = (known after apply)
        }
#        (16 unchanged attributes hidden)

#        (2 unchanged blocks hidden)
    }

  # google_storage_bucket_iam_binding.tfer--calitp-gtfs-rt-validation will be updated in-place
!~  resource "google_storage_bucket_iam_binding" "tfer--calitp-gtfs-rt-validation" {
        id      = "calitp-gtfs-rt-validation"
!~      members = [
-           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
#            (1 unchanged element hidden)
        ]
#        (3 unchanged attributes hidden)
    }

  # google_storage_bucket_iam_binding.tfer--rt-parsed-deprecated will be updated in-place
!~  resource "google_storage_bucket_iam_binding" "tfer--rt-parsed-deprecated" {
        id      = "rt-parsed-deprecated"
!~      members = [
-           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
#            (1 unchanged element hidden)
        ]
#        (3 unchanged attributes hidden)
    }

  # google_storage_bucket_iam_policy.tfer--calitp-gtfs-rt-parsed will be updated in-place
!~  resource "google_storage_bucket_iam_policy" "tfer--calitp-gtfs-rt-parsed" {
        id          = "calitp-gtfs-rt-parsed"
!~      policy_data = jsonencode(
!~          {
!~              bindings = [
                    {
                        members = [
                            "projectEditor:cal-itp-data-infra",
                            "projectOwner:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyBucketOwner"
                    },
!~                  {
!~                      members = [
                            "projectViewer:cal-itp-data-infra",
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
#                        (1 unchanged attribute hidden)
                    },
                    {
                        members = [
                            "projectEditor:cal-itp-data-infra",
                            "projectOwner:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyObjectOwner"
                    },
                    {
                        members = [
                            "projectViewer:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyObjectReader"
                    },
-                   {
-                       members = [
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
-                       role    = "roles/storage.objectAdmin"
                    },
-                   {
-                       members = [
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
-                       role    = "roles/storage.objectViewer"
                    },
                ]
            }
        )
#        (2 unchanged attributes hidden)
    }

  # google_storage_bucket_iam_policy.tfer--calitp-gtfs-rt-raw-v2 will be updated in-place
!~  resource "google_storage_bucket_iam_policy" "tfer--calitp-gtfs-rt-raw-v2" {
        id          = "calitp-gtfs-rt-raw-v2"
!~      policy_data = jsonencode(
!~          {
!~              bindings = [
                    {
                        members = [
                            "projectEditor:cal-itp-data-infra",
                            "projectOwner:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyBucketOwner"
                    },
!~                  {
!~                      members = [
                            "projectViewer:cal-itp-data-infra",
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
#                        (1 unchanged attribute hidden)
                    },
                    {
                        members = [
                            "projectEditor:cal-itp-data-infra",
                            "projectOwner:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyObjectOwner"
                    },
#                    (2 unchanged elements hidden)
                    {
                        members = [
                            "serviceAccount:gtfs-rt-archiver-v3@cal-itp-data-infra.iam.gserviceaccount.com",
                        ]
                        role    = "roles/storage.objectCreator"
                    },
!~                  {
!~                      members = [
                            "serviceAccount:gtfs-rt-archiver-v3@cal-itp-data-infra.iam.gserviceaccount.com",
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
#                        (1 unchanged attribute hidden)
                    },
                ]
            }
        )
#        (2 unchanged attributes hidden)
    }

  # google_storage_bucket_iam_policy.tfer--calitp-gtfs-rt-validation will be updated in-place
!~  resource "google_storage_bucket_iam_policy" "tfer--calitp-gtfs-rt-validation" {
        id          = "calitp-gtfs-rt-validation"
!~      policy_data = jsonencode(
!~          {
!~              bindings = [
                    {
                        members = [
                            "projectEditor:cal-itp-data-infra",
                            "projectOwner:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyBucketOwner"
                    },
!~                  {
!~                      members = [
                            "projectViewer:cal-itp-data-infra",
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
#                        (1 unchanged attribute hidden)
                    },
                    {
                        members = [
                            "projectEditor:cal-itp-data-infra",
                            "projectOwner:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyObjectOwner"
                    },
                    {
                        members = [
                            "projectViewer:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyObjectReader"
                    },
-                   {
-                       members = [
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
-                       role    = "roles/storage.objectAdmin"
                    },
                ]
            }
        )
#        (2 unchanged attributes hidden)
    }

  # google_storage_bucket_iam_policy.tfer--calitp-gtfs-schedule-raw-v2 will be updated in-place
!~  resource "google_storage_bucket_iam_policy" "tfer--calitp-gtfs-schedule-raw-v2" {
        id          = "calitp-gtfs-schedule-raw-v2"
!~      policy_data = jsonencode(
!~          {
!~              bindings = [
#                    (4 unchanged elements hidden)
                    {
                        members = [
                            "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
                        role    = "roles/storage.objectAdmin"
                    },
-                   {
-                       members = [
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
-                       role    = "roles/storage.objectViewer"
                    },
                ]
            }
        )
#        (2 unchanged attributes hidden)
    }

  # google_storage_bucket_iam_policy.tfer--rt-parsed-deprecated will be updated in-place
!~  resource "google_storage_bucket_iam_policy" "tfer--rt-parsed-deprecated" {
        id          = "rt-parsed-deprecated"
!~      policy_data = jsonencode(
!~          {
!~              bindings = [
                    {
                        members = [
                            "projectEditor:cal-itp-data-infra",
                            "projectOwner:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyBucketOwner"
                    },
!~                  {
!~                      members = [
                            "projectViewer:cal-itp-data-infra",
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
#                        (1 unchanged attribute hidden)
                    },
                    {
                        members = [
                            "projectEditor:cal-itp-data-infra",
                            "projectOwner:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyObjectOwner"
                    },
                    {
                        members = [
                            "projectViewer:cal-itp-data-infra",
                        ]
                        role    = "roles/storage.legacyObjectReader"
                    },
-                   {
-                       members = [
-                           "serviceAccount:project-1005246706141@storage-transfer-service.iam.gserviceaccount.com",
                        ]
-                       role    = "roles/storage.objectAdmin"
                    },
                ]
            }
        )
#        (2 unchanged attributes hidden)
    }

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

Changes to Outputs:
!~  google_storage_bucket_tfer--calitp-state-highway-network-stops_self_link                                   = "https://www.googleapis.com/storage/v1/b/calitp-state-highway-network-stops" -> (known after apply)

📝 Plan generated in Terraform Plan #535

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.

1 participant