-
Notifications
You must be signed in to change notification settings - Fork 5
/
variables.tf
273 lines (261 loc) · 7.82 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
271
272
273
// General settings
variable "location" {
description = "The location where the resources will be deployed"
}
variable "deployment_option" {
description = "Choose the deployment option for the application: 'container_instance' for an Azure Container Instance or 'app_service' for an Azure App Service within an App Service Environment (ASE)."
# default = "container_instance"
}
variable "rg" {
description = "The name of the resource group where all resources for the aznamingtool will be deployed."
type = string
default = "AzNamingTool-DEV"
}
// Resource group tags - meant to be applied to the rg and have policy enforce them on all resources in the rg - that is why you see the ignore_changes on the rg resource within the main.tf
variable "business_description" {
type = string
description = "The business description tag for the Azure Resource Group resources"
}
variable "creator_account" {
type = string
description = "The res creator account tag for the Azure Resource Group resources"
}
variable "release_env" {
type = string
description = "The release environment tag for the Azure Resource Group resources"
}
variable "resource_category" {
type = string
description = "The resource category tag for the Azure Resource Group resources"
}
variable "res_app_family" {
type = string
description = "The res app family tag for the Azure Resource Group resources"
}
// Storage Account / Share settings
variable "account_tier" {
description = "The storage account tier"
type = string
default = "Standard"
}
variable "account_replication_type" {
description = "The storage account replication type"
type = string
default = "LRS"
}
variable "delete_retention_days" {
description = "The number of days to retain deleted blobs"
type = number
default = 7
}
variable "default_service_version" {
description = "The default service version to use for new storage accounts"
type = string
default = "2019-02-02"
}
variable "quota" {
description = "The Azure file share quota"
type = number
default = 100
}
variable "enabled_protocol" {
description = "The Azure file share enabled protocol"
type = string
default = "SMB"
}
variable "namingtool_config_share_name" {
description = "The name of the Azure file share for the naming tool config files"
type = string
default = "namingtool-config"
}
// Container settings
variable "container_cpu" {
description = "The CPU allocation for the container"
type = number
default = 2
}
variable "container_memory" {
description = "The memory allocation for the container"
type = number
default = 2
}
variable "container_port" {
description = "The port to expose on the container"
type = number
default = 80
}
variable "container_protocol" {
description = "The protocol to use for the container port"
type = string
default = "TCP"
}
variable "image_tag" {
description = "The tag of the container image"
type = string
default = "latest"
}
variable "namingtool_container_name" {
description = "The name of the Azure container instance for the naming tool"
type = string
default = "aznamingtool-container"
}
variable "os_type" {
description = "The operating system to use for the container"
type = string
default = "Linux"
}
// Storage account naming settings
variable "byte_length" {
description = "The length of the random ID suffix to add to the storage account name."
type = number
default = 3
}
variable "name_prefix" {
description = "The prefix to use for the storage account name."
type = string
default = "aznamingtool"
}
variable "aznamingtool_share_name" {
description = "The name of the Azure file share for the naming tool"
type = string
default = "aznamingtool"
}
// App Service Environment settings
variable "use_ase" {
description = "value to use ASE or not"
type = bool
default = true
}
variable "ase_name" {
description = "The name of the ASE"
type = string
default = "ASE1"
}
variable "ase_rg" {
description = "The name of the ASE resource group"
type = string
default = "ASE-RG"
}
// App Service Plan settings
variable "asp_name" {
description = "The name of the App Service Plan"
type = string
default = "aznamingtool-asp"
}
variable "sku_name" {
description = "The name of the App Service Plan SKU"
type = string
default = "I1v2"
}
variable "zone_balancing_enabled" {
description = "The zone balancing enabled flag"
type = bool
default = true
}
// Container Registry / Container Task settings
variable "acr_admin_enabled" {
description = "The ACR admin enabled flag"
type = bool
default = true
}
variable "acr_name" {
description = "The name of the ACR"
type = string
default = "aznamingtoolacrdev"
}
variable "acr_sku" {
description = "The SKU of the ACR"
type = string
default = "Standard"
}
variable "aznamingtool_container_name" {
description = "The name of the Azure container instance for the naming tool"
type = string
default = "aznamingtool-dev-container"
}
variable "container_image" {
description = "The container image"
type = string
default = "aznamingtoolacrdev.azurecr.io/aznamingtool-dev-container:latest"
}
variable "container_os_type" {
description = "The operating system to use for the container"
type = string
default = "Linux"
}
variable "acr_task_name" {
description = "The name of the ACR task"
type = string
default = "aznamingtool-dev-container"
}
variable "acr_task_enabled" {
description = "The ACR task enabled flag"
type = bool
default = true
}
// Container network / platform settings
variable "container_subnet_name" {
description = "The name of the container subnet"
type = string
}
variable "container_vnet_name" {
description = "The name of the container vnet"
type = string
}
variable "container_platform_os" {
description = "The operating system to use for the container (use Linux for AZNamingTool)"
type = string
default = "Linux"
}
//docker_step settings
variable "dockerfile_path" {
description = "The path to the Dockerfile"
type = string
default = "Dockerfile"
}
variable "context_path" {
description = "The path to the repo where the source code is located including the Dockerfile"
type = string
default = "https://github.com/rclittler/AZNamingTool"
}
variable "image_name" {
default = "aznamingtoolacrdev.azurecr.io/aznamingtool-dev-container:latest"
}
// Github settings (within docker_step)
variable "github_pat" {
description = "The GitHub personal access token for the context path within docker_step"
type = string
}
// ACR admin credentials
variable "acr_admin_username" {
description = "The admin username for the container"
type = string
default = "admin-aznamingtool"
}
variable "acr_admin_password" {
description = "The admin password for the container registry"
type = string
default = "ARegistryIsSecure!"
}
// Web App settings
variable "aznamingtool_webapp_name" {
description = "The name of the Azure web app for the naming tool"
type = string
default = "aznamingtool-dev-webapp"
}
variable "allowed_ip_addresses" {
description = "The list of public IP addresses allowed to access the web app"
type = list(string)
default = ["0.0.0.0"]
}
variable "website_port" {
description = "The port to use for the web app"
type = number
default = 80
}
// DNS settings
variable "dns_name_label" {
description = "The DNS name label for the container and the web app"
type = string
default = "aznamingtool-dev"
}