-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathvariables.tf
218 lines (186 loc) · 8.45 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
variable "prefix" {
description = "Prefix for resources created by this module"
}
variable "vm_name" {
description = "Name of F5 BIGIP VM to be used, default is empty string meaning module adds with prefix + random_id"
default = ""
}
variable "project_id" {
type = string
description = "The GCP project identifier where the cluster will be created."
}
variable "zone" {
type = string
description = "The compute zones which will host the BIG-IP VMs"
}
variable "min_cpu_platform" {
type = string
default = "Intel Skylake"
description = "Minimum CPU platform for the VM instance such as Intel Haswell or Intel Skylake"
}
variable "machine_type" {
type = string
default = "n1-standard-8"
description = "The machine type to create,if you want to update this value (resize the VM) after initial creation, you must set allow_stopping_for_update to true"
}
variable "automatic_restart" {
type = bool
default = true
description = "Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user),defaults to true."
}
variable "preemptible" {
type = string
default = false
description = "Specifies if the instance is preemptible. If this field is set to true, then automatic_restart must be set to false,defaults to false."
}
variable "image" {
type = string
default = "projects/f5-7626-networks-public/global/images/f5-bigip-17-1-1-4-0-0-9-payg-best-plus-200mbps-240902171748"
description = "This can be one of: the image's self_link, projects/{project}/global/images/{image}, projects/{project}/global/images/family/{family}, global/images/{image}, global/images/family/{family}, family/{family}, {project}/{family}, {project}/{image}, {family}, or {image}."
}
variable "disk_type" {
type = string
default = "pd-ssd"
description = "The GCE disk type. May be set to pd-standard, pd-balanced or pd-ssd."
}
variable "disk_size_gb" {
type = number
default = null
description = " The size of the image in gigabytes. If not specified, it will inherit the size of its base image."
}
variable "mgmt_subnet_ids" {
description = "List of maps of subnetids of the virtual network where the virtual machines will reside."
type = list(object({
subnet_id = string
public_ip = bool
private_ip_primary = string
}))
default = [{ "subnet_id" = null, "public_ip" = null, "private_ip_primary" = null }]
}
variable "external_subnet_ids" {
description = "List of maps of subnetids of the virtual network where the virtual machines will reside."
type = list(object({
subnet_id = string
public_ip = bool
private_ip_primary = string
private_ip_secondary = string
}))
default = [{ "subnet_id" = null, "public_ip" = null, "private_ip_primary" = null, "private_ip_secondary" = null }]
}
variable "internal_subnet_ids" {
description = "List of maps of subnetids of the virtual network where the virtual machines will reside."
type = list(object({
subnet_id = string
public_ip = bool
private_ip_primary = string
}))
default = [{ "subnet_id" = null, "public_ip" = null, "private_ip_primary" = null }]
}
variable "f5_username" {
description = "The admin username of the F5 Bigip that will be deployed"
default = "bigipuser"
}
variable "f5_password" {
description = "The admin password of the F5 Bigip that will be deployed"
default = ""
}
variable "onboard_log" {
description = "Directory on the BIG-IP to store the cloud-init logs"
default = "/var/log/startup-script.log"
type = string
}
variable "libs_dir" {
description = "Directory on the BIG-IP to download the A&O Toolchain into"
default = "/config/cloud/gcp/node_modules"
type = string
}
variable "gcp_secret_manager_authentication" {
description = "Whether to use secret manager to pass authentication"
type = bool
default = false
}
variable "gcp_secret_name" {
description = "The secret to get the secret version for"
type = string
default = ""
}
variable "gcp_secret_version" {
description = "(Optional)The version of the secret to get. If it is not provided, the latest version is retrieved."
type = string
default = "latest"
}
## Please check and update the latest DO URL from https://github.com/F5Networks/f5-declarative-onboarding/releases
# always point to a specific version in order to avoid inadvertent configuration inconsistency
variable "DO_URL" {
description = "URL to download the BIG-IP Declarative Onboarding module"
type = string
default = "https://github.com/F5Networks/f5-declarative-onboarding/releases/download/v1.46.0/f5-declarative-onboarding-1.46.0-7.noarch.rpm"
}
## Please check and update the latest AS3 URL from https://github.com/F5Networks/f5-appsvcs-extension/releases/latest
# always point to a specific version in order to avoid inadvertent configuration inconsistency
variable "AS3_URL" {
description = "URL to download the BIG-IP Application Service Extension 3 (AS3) module"
type = string
default = "https://github.com/F5Networks/f5-appsvcs-extension/releases/download/v3.53.0/f5-appsvcs-3.53.0-7.noarch.rpm"
}
## Please check and update the latest TS URL from https://github.com/F5Networks/f5-telemetry-streaming/releases/latest
# always point to a specific version in order to avoid inadvertent configuration inconsistency
variable "TS_URL" {
description = "URL to download the BIG-IP Telemetry Streaming module"
type = string
default = "https://github.com/F5Networks/f5-telemetry-streaming/releases/download/v1.37.0/f5-telemetry-1.37.0-1.noarch.rpm"
}
## Please check and update the latest Failover Extension URL from https://github.com/F5Networks/f5-cloud-failover-extension/releases/latest
# always point to a specific version in order to avoid inadvertent configuration inconsistency
variable "CFE_URL" {
description = "URL to download the BIG-IP Cloud Failover Extension module"
type = string
default = "https://github.com/F5Networks/f5-cloud-failover-extension/releases/download/v2.1.3/f5-cloud-failover-2.1.3-3.noarch.rpm"
}
## Please check and update the latest FAST URL from https://github.com/F5Networks/f5-appsvcs-templates/releases/latest
# always point to a specific version in order to avoid inadvertent configuration inconsistency
variable "FAST_URL" {
description = "URL to download the BIG-IP FAST module"
type = string
default = "https://github.com/F5Networks/f5-appsvcs-templates/releases/download/v1.25.0/f5-appsvcs-templates-1.25.0-1.noarch.rpm"
}
## Please check and update the latest runtime init URL from https://github.com/F5Networks/f5-bigip-runtime-init/releases/latest
# always point to a specific version in order to avoid inadvertent configuration inconsistency
variable "INIT_URL" {
description = "URL to download the BIG-IP runtime init"
type = string
default = "https://cdn.f5.com/product/cloudsolutions/f5-bigip-runtime-init/v2.0.3/dist/f5-bigip-runtime-init-2.0.3-1.gz.run"
}
variable "labels" {
description = "An optional map of key:value labels to add to the instance"
type = map(string)
default = {}
}
variable "service_account" {
description = "service account email to use with BIG-IP vms"
type = string
}
variable "f5_ssh_publickey" {
description = "Path to the public key to be used for ssh access to the VM. Only used with non-Windows vms and can be left as-is even if using Windows vms. If specifying a path to a certification on a Windows machine to provision a linux vm use the / in the path versus backslash. e.g. c:/home/id_rsa.pub"
default = "~/.ssh/id_rsa.pub"
}
variable "custom_user_data" {
description = "Provide a custom bash script or cloud-init script the BIG-IP will run on creation"
type = string
default = null
}
variable "metadata" {
description = "Provide custom metadata values for BIG-IP instance"
type = map(string)
default = {}
}
variable "sleep_time" {
type = string
default = "1000s"
description = "The number of seconds/minutes of delay to build into creation of BIG-IP VMs; default is 250. BIG-IP requires a few minutes to complete the onboarding process and this value can be used to delay the processing of dependent Terraform resources."
}
variable "network_tags" {
type = list(string)
default = []
description = "The network tags which will be added to the BIG-IP VMs"
}