# Copyright 2023 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 # # https://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. variable "deletion_protection" { description = "Prevent Terraform from destroying data storage resources (storage buckets, GKE clusters, CloudSQL instances) in this blueprint. When this field is set in Terraform state, a terraform destroy or terraform apply that would delete data storage resources will fail." type = bool default = false nullable = false } variable "location" { description = "The location where resources will be deployed." type = string default = "EU" } variable "network_config" { description = "Shared VPC network configurations to use. If null networks will be created in projects with preconfigured values." type = object({ host_project = string network_self_link = string subnet_self_link = string }) default = null } variable "prefix" { description = "Prefix used for resource names." type = string validation { condition = var.prefix != "" error_message = "Prefix cannot be empty." } } variable "project_create" { description = "Provide values if project creation is needed, uses existing project if null. Parent format: folders/folder_id or organizations/org_id." type = object({ billing_account_id = string parent = string }) default = null } variable "project_id" { description = "Project id, references existing project if `project_create` is null." type = string } variable "region" { description = "The region where resources will be deployed." type = string default = "europe-west1" } variable "service_encryption_keys" { # service encryption key description = "Cloud KMS to use to encrypt different services. Key location should match service region." type = object({ bq = string compute = string storage = string }) default = null }