/** * 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 * * 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. */ variable "admin_principal" { description = "User or group that is assigned roles, in IAM format (`group:foo@example.com`)." type = string default = null } # Documentation: https://cloud.google.com/run/docs/securing/managing-access#making_a_service_public variable "cloud_run_invoker" { type = string description = "IAM member authorized to access the end-point (for example, 'user:YOUR_IAM_USER' for only you or 'allUsers' for everyone)." default = "allUsers" } variable "cloudsql_password" { type = string description = "CloudSQL password (will be randomly generated by default)." default = null } variable "connector" { type = string description = "Existing VPC serverless connector to use if not creating a new one." default = null } variable "create_connector" { type = bool description = "Should a VPC serverless connector be created or not." default = true } 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 } # PSA: documentation: https://cloud.google.com/vpc/docs/configure-private-services-access#allocating-range variable "ip_ranges" { description = "CIDR blocks: VPC serverless connector, Private Service Access(PSA) for CloudSQL, CloudSQL VPC." type = object({ connector = string psa = string sql_vpc = string }) default = { connector = "10.8.0.0/28" psa = "10.60.0.0/24" sql_vpc = "10.0.0.0/20" } } 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 is in 'folders/nnn' or 'organizations/nnn' format." 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" { type = string description = "Region for the created resources." default = "europe-west4" } variable "wordpress_image" { type = string description = "Image to run with Cloud Run, starts with \"gcr.io\"." } variable "wordpress_password" { type = string description = "Password for the Wordpress user (will be randomly generated by default)." default = null } variable "wordpress_port" { type = number description = "Port for the Wordpress image." default = 8080 }