4-appfactory/envs/shared/remote.tf (39 lines of code) (raw):

/** * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // These values are retrieved from the saved terraform state of the execution // of previous step using the terraform_remote_state data source. locals { cluster_projects_ids = [for state in data.terraform_remote_state.multitenant : state.outputs.cluster_project_id] acronym = flatten([for state in data.terraform_remote_state.multitenant : state.outputs.acronyms])[0] gar_project_id = data.terraform_remote_state.bootstrap.outputs.tf_project_id gar_image_name = data.terraform_remote_state.bootstrap.outputs.tf_repository_name gar_tag_version = data.terraform_remote_state.bootstrap.outputs.tf_tag_version_terraform } data "terraform_remote_state" "multitenant" { for_each = var.envs backend = "gcs" config = { bucket = var.remote_state_bucket prefix = "terraform/multi_tenant/${each.key}" } } data "terraform_remote_state" "bootstrap" { backend = "gcs" config = { bucket = var.remote_state_bucket prefix = "terraform/bootstrap" } }