-
Notifications
You must be signed in to change notification settings - Fork 1
/
variables.tf
270 lines (221 loc) · 7.32 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
#Module : LABEL
#Description : Terraform label module variables.
variable "name" {
type = string
default = ""
description = "Name (e.g. `app` or `cluster`)."
}
variable "application" {
type = string
default = ""
description = "Application (e.g. `cd` or `clouddrove`)."
}
variable "environment" {
type = string
default = ""
description = "Environment (e.g. `prod`, `dev`, `staging`)."
}
variable "tags" {
type = map(any)
default = {}
description = "Additional tags (e.g. map(`BusinessUnit`,`XYZ`)."
}
variable "managedby" {
type = string
default = "anmol@clouddrove.com"
description = "ManagedBy, eg 'CloudDrove' or 'AnmolNagpal'."
}
variable "label_order" {
type = list(any)
default = ["name", "environment"]
description = "Label order, e.g. `name`,`application`."
}
variable "repository" {
type = string
default = ""
description = "Terraform current module repo"
}
## Common Variables
variable "ip_count" {
type = number
default = 0
description = "Number of Public IP Addresses to create."
}
variable "net_count" {
type = number
default = 0
description = "Number of network Addresses to create."
}
variable "enabled" {
type = bool
default = false
description = "Flag to control the module creation."
}
variable "resource_group_name" {
type = string
default = ""
description = "The name of the resource group in which to create the virtual network."
}
variable "location" {
type = string
default = ""
description = "Location where resource should be created."
}
variable "create" {
type = string
default = "60m"
description = "Used when creating the Resource Group."
}
variable "update" {
type = string
default = "60m"
description = "Used when updating the Resource Group."
}
variable "read" {
type = string
default = "5m"
description = "Used when retrieving the Resource Group."
}
variable "delete" {
type = string
default = "60m"
description = "Used when deleting the Resource Group."
}
## Pubilc IP
variable "public_ip_enabled" {
type = bool
default = false
description = "Whether public IP is enabled."
}
variable "sku" {
type = string
default = "Basic"
description = "The SKU of the Public IP. Accepted values are Basic and Standard. Defaults to Basic."
}
variable "allocation_method" {
type = string
default = ""
description = "Defines the allocation method for this IP address. Possible values are Static or Dynamic."
}
variable "ip_version" {
type = string
default = ""
description = "The IP Version to use, IPv6 or IPv4."
}
variable "idle_timeout_in_minutes" {
type = number
default = 10
description = "Specifies the timeout for the TCP idle connection. The value can be set between 4 and 60 minutes."
}
variable "domain_name_label" {
type = string
default = null
description = "Label for the Domain Name. Will be used to make up the FQDN. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system."
}
variable "reverse_fqdn" {
type = string
default = ""
description = "A fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN."
}
variable "public_ip_prefix_id" {
type = string
default = null
description = "If specified then public IP address allocated will be provided from the public IP prefix resource."
}
variable "zones" {
type = list(any)
default = null
description = "A collection containing the availability zone to allocate the Public IP in."
}
variable "ddos_protection_mode" {
type = string
description = "(Optional) The DDoS protection mode of the public IP. Possible values are `Disabled`, `Enabled`, and `VirtualNetworkInherited`. Defaults to `VirtualNetworkInherited`."
default = "VirtualNetworkInherited"
}
## Load Balancer
variable "edge_zone" {
type = string
description = "(Optional) Specifies the Edge Zone within the Azure Region where this Public IP and Load Balancer should exist. Changing this forces new resources to be created."
default = null
}
variable "frontend_name" {
description = "(Required) Specifies the name of the frontend ip configuration."
type = string
default = "myip"
}
variable "frontend_private_ip_address" {
description = "(Optional) Private ip address to assign to frontend. Use it with type = private"
type = string
default = ""
}
variable "frontend_private_ip_address_allocation" {
description = "(Optional) Frontend ip allocation type (Static or Dynamic)"
type = string
default = "Dynamic"
}
variable "frontend_private_ip_address_version" {
description = "(Optional) The version of IP that the Private IP Address is. Possible values are `IPv4` or `IPv6`."
type = string
default = null
}
variable "frontend_subnet_id" {
description = "(Optional) Frontend subnet id to use when in private mode"
type = string
default = null
}
variable "lb_port" {
description = "Protocols to be used for lb rules. Format as [frontend_port, protocol, backend_port]"
type = map(any)
default = {}
}
variable "lb_probe" {
description = "(Optional) Protocols to be used for lb health probes. Format as [protocol, port, request_path]"
type = map(any)
default = {}
}
variable "lb_probe_interval" {
description = "Interval in seconds the load balancer health probe rule does a check"
type = number
default = 5
}
variable "lb_probe_unhealthy_threshold" {
description = "Number of times the load balancer health probe has an unsuccessful attempt before considering the endpoint unhealthy."
type = number
default = 2
}
variable "lb_sku" {
description = "(Optional) The SKU of the Azure Load Balancer. Accepted values are Basic and Standard."
type = string
default = "Basic"
}
variable "remote_port" {
description = "Protocols to be used for remote vm access. [protocol, backend_port]. Frontend port will be automatically generated starting at 50000 and in the output."
type = map(any)
default = {}
}
variable "backendpoolname" {
description = "(Required) Specifies the name of the Backend Address Pool. Changing this forces a new resource to be created."
type = string
default = "test-backendpool"
}
variable "nat_protocol" {
description = "(Required) The protocol of Load Balancer's NAT rule."
type = string
default = "Tcp"
}
## Load Balancer Backend Pool
variable "is_enable_backend_pool" {
type = bool
default = false
description = "Backend Pool Configuration for the Load Balancer."
}
variable "network_interaface_id_association" {
description = "(Required) Network Interaface id for Network Interface Association with Load Balancer."
type = list(string)
default = [""]
}
variable "ip_configuration_name_association" {
description = "(Required) Ip Configuration name for Network Interaface Association with Load Balancer."
type = list(string)
default = [""]
}