terraform/modules/cloud-dns/variables.tf (77 lines of code) (raw):

# # 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. # ############################################################################### # zone variables # ############################################################################### variable "domain" { description = "Zone domain, must end with a period." type = string } variable "name" { description = "Zone name, must be unique within the project." type = string } variable "private_visibility_config_networks" { description = "List of VPC self links that can see this zone." default = [] type = list(string) } variable "project_id" { description = "Project id for the zone." type = string } variable "target_name_server_addresses" { description = "List of target name servers for forwarding zone." default = [] type = list(map(any)) } variable "target_network" { description = "Peering network." default = "" type = string } variable "description" { description = "zone description (shown in console)" default = "Managed by Terraform" type = string } variable "type" { description = "Type of zone to create, valid values are 'public', 'private', 'forwarding', 'peering', 'reverse_lookup' and 'service_directory'." default = "private" type = string } variable "dnssec_config" { description = "Object containing : kind, non_existence, state. Please see https://www.terraform.io/docs/providers/google/r/dns_managed_zone#dnssec_config for futhers details" type = any default = {} } variable "labels" { type = map(any) description = "A set of key/value label pairs to assign to this ManagedZone" default = {} } variable "default_key_specs_key" { description = "Object containing default key signing specifications : algorithm, key_length, key_type, kind. Please see https://www.terraform.io/docs/providers/google/r/dns_managed_zone#dnssec_config for futhers details" type = any default = {} } variable "default_key_specs_zone" { description = "Object containing default zone signing specifications : algorithm, key_length, key_type, kind. Please see https://www.terraform.io/docs/providers/google/r/dns_managed_zone#dnssec_config for futhers details" type = any default = {} } variable "force_destroy" { description = "Set this true to delete all records in the zone." default = false type = bool } variable "service_namespace_url" { type = string default = "" description = "The fully qualified or partial URL of the service directory namespace that should be associated with the zone. This should be formatted like https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace_id} or simply projects/{project}/locations/{location}/namespaces/{namespace_id}." } ############################################################################### # record variables # ############################################################################### variable "recordsets" { type = list(object({ name = string type = string ttl = number records = list(string) })) description = "List of DNS record objects to manage, in the standard terraform dns structure." default = [] }