/** * Copyright 2022 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 "project_id" { type = string default = "my-project" } variable "name" { type = string default = "my-vpc" } variable "auto_create_subnetworks" { type = bool default = false } variable "iam" { type = map(map(set(string))) default = null } variable "log_configs" { type = any default = null } variable "log_config_defaults" { type = any default = { aggregation_interval = "INTERVAL_5_SEC" flow_sampling = 0.5 metadata = "INCLUDE_ALL_METADATA" } } variable "peering_config" { type = object({ peer_vpc_self_link = string export_routes = bool import_routes = bool }) default = null } variable "psa_config" { description = "The Private Service Access configuration." type = any default = null } variable "routes" { type = any default = null } variable "routing_mode" { description = "The network routing mode (default 'GLOBAL')." type = string default = "GLOBAL" } variable "shared_vpc_host" { description = "Enable shared VPC for this project." type = bool default = false } variable "shared_vpc_service_projects" { description = "Shared VPC service projects to register with this host." type = list(string) default = [] } variable "subnets" { description = "The list of subnets being created." type = any default = [] } variable "subnet_descriptions" { description = "Optional map of subnet descriptions, keyed by subnet name." type = map(string) default = {} } variable "subnet_flow_logs" { description = "Optional map of boolean to control flow logs (default is disabled), keyed by subnet name." type = map(bool) default = {} } variable "subnet_private_access" { description = "Optional map of boolean to control private Google access (default is enabled), keyed by subnet name." type = map(bool) default = {} } variable "private_service_networking_range" { description = "RFC1919 CIDR range used for Google services that support private service networking." type = string default = null } variable "data_folder" { description = "An optional folder containing the subnet configurations in YaML format." type = string default = null }