-
Notifications
You must be signed in to change notification settings - Fork 103
/
variables.tf
238 lines (200 loc) · 8.95 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
variable "resource_group_name" {
type = string
description = "(Required) The name of the resource group where the load balancer resources will be imported."
}
variable "allocation_method" {
type = string
default = "Static"
description = "(Required) Defines how an IP address is assigned. Options are Static or Dynamic."
}
variable "disable_outbound_snat" {
type = bool
default = false
description = "(Optional) Is snat enabled for this Load Balancer Rule? Default `false`."
}
variable "edge_zone" {
type = string
default = null
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."
}
variable "frontend_ip_zones" {
type = set(string)
default = null
description = "(Optional) A collection containing the availability zone to allocate the IP in. Changing this forces a new resource to be created. Availability Zones are only supported with a [Standard SKU](https://docs.microsoft.com/azure/virtual-network/virtual-network-ip-addresses-overview-arm#standard) and [in select regions](https://docs.microsoft.com/azure/availability-zones/az-overview) at this time. Standard SKU Public IP Addresses that do not specify a zone are **not** zone-redundant by default."
}
variable "frontend_name" {
type = string
default = "myPublicIP"
description = "(Required) Specifies the name of the frontend ip configuration."
}
variable "frontend_private_ip_address" {
type = string
default = ""
description = "(Optional) Private ip address to assign to frontend. Use it with type = private"
}
variable "frontend_private_ip_address_allocation" {
type = string
default = "Dynamic"
description = "(Optional) Frontend ip allocation type (Static or Dynamic)"
}
variable "frontend_private_ip_address_version" {
type = string
default = null
description = "(Optional) The version of IP that the Private IP Address is. Possible values are `IPv4` or `IPv6`."
}
variable "frontend_subnet_id" {
type = string
default = ""
description = "(Optional) Frontend subnet id to use when in private mode"
}
variable "frontend_subnet_name" {
type = string
default = ""
description = "(Optional) Frontend virtual network name to use when in private mode. Conflict with `frontend_subnet_id`."
}
variable "frontend_vnet_name" {
type = string
default = ""
description = "(Optional) Frontend virtual network name to use when in private mode. Conflict with `frontend_subnet_id`."
}
variable "lb_floating_ip_enabled" {
type = bool
default = false
description = "(Optional) Are the Floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group. Defaults to `false`."
}
variable "lb_port" {
type = map(any)
default = {}
description = "Protocols to be used for lb rules. Format as [frontend_port, protocol, backend_port]"
}
variable "lb_probe" {
type = map(any)
default = {}
description = "(Optional) Protocols to be used for lb health probes. Format as [protocol, port, request_path]"
}
variable "lb_probe_interval" {
type = number
default = 5
description = "Interval in seconds the load balancer health probe rule does a check"
}
variable "lb_probe_unhealthy_threshold" {
type = number
default = 2
description = "Number of times the load balancer health probe has an unsuccessful attempt before considering the endpoint unhealthy."
}
variable "lb_sku" {
type = string
default = "Basic"
description = "(Optional) The SKU of the Azure Load Balancer. Accepted values are Basic and Standard."
}
variable "lb_sku_tier" {
type = string
default = "Regional"
description = "(Optional) The SKU tier of this Load Balancer. Possible values are `Global` and `Regional`. Defaults to `Regional`. Changing this forces a new resource to be created."
}
variable "location" {
type = string
default = ""
description = "(Optional) The location/region where the core network will be created. The full list of Azure regions can be found at https://azure.microsoft.com/regions"
}
variable "name" {
type = string
default = ""
description = "(Optional) Name of the load balancer. If it is set, the 'prefix' variable will be ignored."
}
variable "pip_ddos_protection_mode" {
type = string
default = "VirtualNetworkInherited"
description = "(Optional) The DDoS protection mode of the public IP. Possible values are `Disabled`, `Enabled`, and `VirtualNetworkInherited`. Defaults to `VirtualNetworkInherited`."
}
variable "pip_ddos_protection_plan_id" {
type = string
default = null
description = "(Optional) The ID of DDoS protection plan associated with the public IP. `ddos_protection_plan_id` can only be set when `ddos_protection_mode` is `Enabled`."
}
variable "pip_domain_name_label" {
type = string
default = null
description = "(Optional) 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 "pip_idle_timeout_in_minutes" {
type = number
default = 4
description = "(Optional) Specifies the timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. Defaults to `4`."
}
variable "pip_ip_tags" {
type = map(string)
default = null
description = "(Optional) A mapping of IP tags to assign to the public IP. Changing this forces a new resource to be created. IP Tag `RoutingPreference` requires multiple `zones` and `Standard` SKU to be set."
}
variable "pip_ip_version" {
type = string
default = "IPv4"
description = "(Optional) The IP Version to use, `IPv6` or `IPv4`. Defaults to `IPv4`. Changing this forces a new resource to be created. Only `static` IP address allocation is supported for `IPv6`."
}
variable "pip_name" {
type = string
default = ""
description = "(Optional) Name of public ip. If it is set, the 'prefix' variable will be ignored."
}
variable "pip_public_ip_prefix_id" {
type = string
default = null
description = "(Optional) If specified then public IP address allocated will be provided from the public IP prefix resource. Changing this forces a new resource to be created."
}
variable "pip_reverse_fqdn" {
type = string
default = null
description = "(Optional) 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 "pip_sku" {
type = string
default = "Basic"
description = "(Optional) The SKU of the Azure Public IP. Accepted values are Basic and Standard."
}
variable "pip_sku_tier" {
type = string
default = "Regional"
description = "(Optional) The SKU Tier that should be used for the Public IP. Possible values are `Regional` and `Global`. Defaults to `Regional`. Changing this forces a new resource to be created."
}
variable "pip_zones" {
type = list(string)
default = null
description = "(Optional) A collection containing the availability zone to allocate the Public IP in. Changing this forces a new resource to be created. Availability Zones are only supported with a [Standard SKU](https://docs.microsoft.com/azure/virtual-network/virtual-network-ip-addresses-overview-arm#standard) and [in select regions](https://docs.microsoft.com/azure/availability-zones/az-overview) at this time. Standard SKU Public IP Addresses that do not specify a zone are **not** zone-redundant by default."
}
variable "prefix" {
type = string
default = "azure_lb"
description = "(Required) Default prefix to use with your resource names."
}
variable "remote_port" {
type = map(any)
default = {}
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."
}
variable "tags" {
type = map(string)
default = {
source = "terraform"
}
description = "(Optional) A mapping of tags to assign to the resource."
}
# tflint-ignore: terraform_unused_declarations
variable "tracing_tags_enabled" {
type = bool
default = false
description = "Whether enable tracing tags that generated by BridgeCrew Yor."
nullable = false
}
# tflint-ignore: terraform_unused_declarations
variable "tracing_tags_prefix" {
type = string
default = "avm_"
description = "Default prefix for generated tracing tags"
nullable = false
}
variable "type" {
type = string
default = "public"
description = "(Optional) Defined if the loadbalancer is private or public"
}