variables.tf (107 lines of code) (raw):

/** * Copyright 2021 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. */ # -------------------------------------------------------------- # # VARIABLES # -------------------------------------------------------------- # variable "project_id" { type = string description = "Project the resources will be deployed into." } variable "naming_prefix" { type = string description = "A prefix string to be appended in front of all deployed resources so they can be easily traced back." } variable "source_image" { type = string description = "Source image url path for the security appliance being deployed." } variable "region" { type = string default = "us-central1" description = "The GCP Region for deployment." } variable "zones" { type = list(string) default = ["us-central1-a", "us-central1-b", "us-central1-c"] description = "List of GCP Zones for deployment." } variable "traffic_subnet_cidr" { type = string default = "10.127.10.0/24" description = "CIDR range of the subnet where the firewall VMs are inspecting traffic. This VPC will need to be peered to existing VPC's for packet-mirroring, so ensure it is a unique range for your organization." } variable "mgmt_network" { type = string default = "default" description = "The name of an existing VPC that will be used for the management interface of the deployed firewall VMs." } variable "mgmt_subnet" { type = string default = "default" description = "The name of an existing subnet within this VPC (and available for every chosen zone) that will be used for the management interface of the deployed firewall VMs." } variable "machine_type" { type = string default = "n1-standard-4" description = "The machine type for the firewall compute instances." } variable "min_instances" { type = number default = 2 description = "Minimum compute instances in the cluster." } variable "max_instances" { type = number default = 3 description = "Maximum compute instances in the cluster." } variable "cpu_target" { type = number default = 0.75 description = "CPU target for autoscaling." } variable "compute_instance_metadata" { type = map(string) default = {} description = "Key/value pairs that are made available within each VM instance." } variable "block_project_ssh_keys" { type = bool default = false description = "Ability for customers to block or allow the use of project-wide ssh keys in their VM." } variable "create_public_management_ip" { type = bool default = false description = "Allow the creation of a public IP address for the management interface of each VM. IP will be ephemeral instead of static." } variable "scopes" { type = list(string) default = [] description = "The list of access scopes for the service account attached to the VM." } variable "additional_disks" { type = map(any) default = {} description = "Allow the creation of one or more additional persistent disks for the VM instance." } variable "health_check_port" { type = number default = 80 description = "Allow overriding of the default port for health check." } variable "add_protected_network" { type = bool default = false description = "Allow the creation of a protected network interface for the instance template." }