diff --git a/blueprints/fedramp-high/gemini-enterprise/gemini-stage-0/terraform.tfvars.sample b/blueprints/fedramp-high/gemini-enterprise/gemini-stage-0/terraform.tfvars.sample index c28a8520d..336162cc4 100644 --- a/blueprints/fedramp-high/gemini-enterprise/gemini-stage-0/terraform.tfvars.sample +++ b/blueprints/fedramp-high/gemini-enterprise/gemini-stage-0/terraform.tfvars.sample @@ -40,29 +40,33 @@ user_groups = ["group:gcp-gemini-enterprise-users@customer-domain.com"] enable_chrome_enterprise_premium = false # KMS Key ID for CMEK encryption (must be in the same location as geolocation) kms_key_id = "projects/prefx-main-xxx-x/locations/us/keyRings/prefx-gemini-keyring/cryptoKeys/prefx-gemini-key" -create_resource_keys = false # Set to true to create a separate key for resources in Greenfield # Data Stores create_data_stores = true -# GCS Data Stores (leave list empty [] if no GCS Data Stores are required) -gcs_data_store_names = ["company-docs", "knowledge-base", "team-playbooks"] +# GCS Data Stores (leave map empty {} if no GCS Data Stores are required) +gcs_data_store_configs = { + "company-docs" = { + name = "company-docs" + create_bucket = true + display_name = "Company Docs" + } + "knowledge-base" = { + name = "knowledge-base" + create_bucket = true + display_name = "Knowledge Base" + } +} -# BigQuery Data Stores (leave list empty [] if no BigQuery Data Stores are required) -bq_data_store_configs = [ - { - dataset_id = "internal_wiki" - table_id = "articles_v2" - }, - { - dataset_id = "product_data" - table_id = "specs_latest" - }, - { - dataset_id = "support_tickets" - table_id = "tickets_archive" - }, -] +# BigQuery Data Stores (leave map empty {} if no BigQuery Data Stores are required) +bq_data_store_configs = { + "internal-wiki" = { + dataset_id = "internal_wiki" + table_id = "articles_v2" + create_dataset = true + display_name = "Internal Wiki" + } +} # Gemini Enterprise Application Load Balancer type ("internal" or "external") # By default, "external" follows the CNAP architecture, which utilizes external ingress diff --git a/blueprints/fedramp-high/gemini-enterprise/gemini-stage-1/load_balancer.tf b/blueprints/fedramp-high/gemini-enterprise/gemini-stage-1/load_balancer.tf index 0b2128eb4..f3c08c91f 100644 --- a/blueprints/fedramp-high/gemini-enterprise/gemini-stage-1/load_balancer.tf +++ b/blueprints/fedramp-high/gemini-enterprise/gemini-stage-1/load_balancer.tf @@ -190,12 +190,16 @@ resource "google_compute_forwarding_rule" "gemini_enterprise_forwarding_rule" { target = google_compute_region_target_https_proxy.gemini_enterprise_https_proxy[0].id } -# Data source to get the subnet created in stage-0 +# Data source to get the subnet created in stage-0 or Shared VPC data "google_compute_subnetwork" "gemini_enterprise_vpc_subnet" { count = data.terraform_remote_state.stage_0.outputs.deployment_type == "internal" ? 1 : 0 - project = data.terraform_remote_state.stage_0.outputs.main_project_id - name = "gemini-enterprise-vpc-subnet" - region = data.terraform_remote_state.stage_0.outputs.region + project = var.host_project_id != "" ? var.host_project_id : ( + try(data.terraform_remote_state.stage_0.outputs.use_shared_vpc, false) ? data.terraform_remote_state.stage_0.outputs.network_project_id : data.terraform_remote_state.stage_0.outputs.main_project_id + ) + name = var.subnet_name != "" ? var.subnet_name : ( + try(data.terraform_remote_state.stage_0.outputs.use_shared_vpc, false) ? data.terraform_remote_state.stage_0.outputs.shared_vpc_subnet_name : "${data.terraform_remote_state.stage_0.outputs.prefix}-vpc-subnet" + ) + region = data.terraform_remote_state.stage_0.outputs.region } # --- IAP Access Roles --- diff --git a/blueprints/fedramp-high/gemini-enterprise/gemini-stage-1/variables.tf b/blueprints/fedramp-high/gemini-enterprise/gemini-stage-1/variables.tf index 3fad94bd0..3fcb0bf2b 100644 --- a/blueprints/fedramp-high/gemini-enterprise/gemini-stage-1/variables.tf +++ b/blueprints/fedramp-high/gemini-enterprise/gemini-stage-1/variables.tf @@ -50,3 +50,10 @@ variable "host_project_id" { type = string default = "" } + +variable "subnet_name" { + description = "The name of the subnetwork for internal load balancer deployments. If empty, falls back to stage 0 outputs or default." + type = string + default = "" +} +