generated from clouddrove/terraform-module-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
107 lines (88 loc) · 3.15 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
###############################################################################
# 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_network" {
description = "Peering network."
default = ""
type = string
}
variable "description" {
description = "zone description (shown in console)"
default = "Managed by CloudDrove"
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
}
###############################################################################
# record variables #
###############################################################################
variable "recordsets" {
type = list(object({
name = string
type = string
ttl = number
records = optional(list(string), null)
routing_policy = optional(object({
wrr = optional(list(object({
weight = number
records = list(string)
})), [])
geo = optional(list(object({
location = string
records = list(string)
})), [])
}))
}))
description = "List of DNS record objects to manage, in the standard terraform dns structure."
default = []
}
variable "enable_logging" {
description = "Enable query logging for this ManagedZone"
default = false
type = bool
}