generated from oracle-quickstart/oci-quickstart-template
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathvariables.tf
More file actions
360 lines (297 loc) · 11.5 KB
/
variables.tf
File metadata and controls
360 lines (297 loc) · 11.5 KB
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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# Copyright (c) 2023, 2026, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.
variable "tenancy_id" {
type = string
description = "The OCID of the tenancy where the compute will be created"
}
variable "region" {
type = string
description = "The OCI region where the compute will be created"
}
variable "compartment_id" {
type = string
description = "The OCID of the compartment where the compute will be created"
}
variable "create_policies" {
type = bool
description = "Set to true to create OCI IAM policies and dynamic groups required by the WebLogic for OCI stack. If this is set to false, the policies and dynamic groups need to be created manually"
}
variable "availability_domain" {
type = string
description = "The label of the availability domain where the compute will be created"
}
variable "place_all_compute_in_same_ad" {
type = bool
description = "Set to true if you want to use the same Availability Domain for all Compute instances as the WebLogic Administration Server's Compute instance. Otherwise, instances will be distributed across Availability Domains."
default = false
}
variable "instance_image_id" {
type = string
description = "The OCID of the image used to create the compute instance"
}
variable "num_vm_instances" {
type = number
description = "The number of compute instances that will be created"
default = 2
}
variable "ssh_public_key" {
type = string
description = "The ssh public key that will be added to the compute to allow the opc user to ssh to it using its corresponding private key"
}
variable "resource_name_prefix" {
type = string
description = "Prefix for name of resources created by this module"
}
variable "vnic_prefix" {
type = string
description = "The prefix for the name of the vnic of the compute. If not specified, a default value will be used"
default = "wls"
}
variable "assign_public_ip" {
type = bool
description = "Set to true if you want the compute instance to have a public IP in addition to the private ip. Use with caution. "
}
variable "disable_legacy_metadata_endpoint" {
type = bool
description = "Set to true to disable the legacy metadata endopoint (recommended)"
default = true
}
variable "wls_existing_vcn_id" {
type = string
description = "The OCID of the existing VCN where the subnet the compute instance will be created is located. Specify only if the VCN was not created as part of the WebLogic for OCI stack"
default = ""
}
variable "mount_vcn_id" {
type = string
description = "The OCID of the existing VCN where the mount target is located."
default = ""
}
variable "wls_vcn_cidr" {
type = string
description = "The CIDR of the VCN where the subnet the compute instance will be created is located"
}
variable "wls_vcn_peering_dns_resolver_id" {
type = string
description = "The OCID of the VCN resolver in the WebLogic VCN. Used for local peering. This resolver has the private view of the DB VCN"
default = ""
}
variable "wls_vcn_peering_route_table_attachment_id" {
type = string
description = "The OCID of the route table attachment in the WebLogic VCN used for local peering. This route table has a route to the LPG in the WebLogic VCN"
default = ""
}
variable "wls_subnet_cidr" {
type = string
description = "The CIDR for the new subnet where the compute instance will be created. Ignored if wls_subnet_id is not empty"
}
variable "wls_subnet_id" {
type = string
description = "The OCID of the existing subnet where the compute instance will be created. Provide a blank value if a new subnet was created as part of the WebLogic for OCI stack"
}
variable "subnet_id" {
type = string
description = "The OCID of the subnet where the compute instance will be created. It can be an existing subnet or a subnet created as part of the WebLogic for OCI stack"
}
variable "use_regional_subnet" {
type = bool
description = "Set to true if the subnet where the compute instance will be located is a regional subnet"
}
variable "network_compartment_id" {
type = string
description = "The OCID of the compartment where the network resources associated to this compute instance (e.g. VCN, subnet) are located"
}
variable "compute_nsg_ids" {
type = list(any)
description = "The list of NSG OCIDs associated with the compute instance"
}
variable "add_loadbalancer" {
type = bool
description = "Set to true if a load balancer was created as part of the WebLogic for OCI stack"
}
variable "is_lb_private" {
type = bool
description = "Set to true if a load balancer was created as part of the WebLogic for OCI stack and is private. Set to false if a load balancer was created as part of the WebLogic for OCI stack and is public"
}
variable "load_balancer_id" {
type = string
description = "The OCID of the load balancer that was created as part of the WebLogic for OCI stack"
}
variable "bootstrap_file" {
type = string
description = "The path of the script that will be run after the compute instance is created, to setup the WebLogic domain. Relative to module"
default = "userdata/bootstrap"
}
variable "instance_shape" {
type = map(string)
description = "The OCI VM shape used to create the compute instance"
}
#TODO (robesanc): This variable is used but I do not understand its purpose
variable "num_volumes" {
type = string
description = ""
default = "1"
}
variable "volume_size" {
type = number
description = "The size of the volumes in gbs"
default = 50
}
variable "volume_map" {
type = list(any)
description = "List of volumes to be mounted in the compute instance. Each element must be an object with the following attributes: volume_mount_point, display_name, device"
default = [
{
volume_mount_point = "/u01/app"
display_name = "middleware"
device = "/dev/sdb"
},
{
volume_mount_point = "/u01/data"
display_name = "data"
device = "/dev/sdc"
}
]
}
variable "volume_info_file" {
type = string
description = "Path of the files where the information of the block volumes to be mounted on the VM is stored"
default = "/tmp/volumeInfo.json"
}
variable "is_bastion_instance_required" {
type = bool
description = "Set to true if a bastion instance was created as part of the WebLogic for OCI stack"
default = false
}
variable "domain_dir" {
type = string
description = "The directory where the WebLogic domain will be created in the compute instance"
default = "/u01/data/domains"
}
variable "logs_dir" {
type = string
description = "The path where the provisioning logs and other logs will be stored in the compute instance"
default = "/u01/logs"
}
variable "log_level" {
type = string
description = "The level of messages to be written to the provisioning logs. Allowed values: INFO, DEBUG"
default = "INFO"
}
variable "deploy_sample_app" {
type = bool
description = "Set to true if you want to have a sample application deployed to the WebLogic domain after creating it, to validate the domain was started successfully. This option is ignored for Standard Edition"
default = true
}
variable "status_check_timeout_duration_secs" {
type = string
description = "The timeout (in seconds) for calls to provisioning status checks"
default = "1800"
}
variable "tf_script_version" {
type = string
description = "The version of the provisioning scripts in the VM used to create this compute instance"
}
variable "vmscripts_path" {
type = string
description = "The location of the provisioning scripts in the VM used to create this compute instance"
default = "/u01/zips/TF/wlsoci-vmscripts.zip"
}
variable "allow_manual_domain_extension" {
type = bool
description = "Set to true to indicate that the domain will not be automatically extended for managed servers, meaning that users have to manually extend the domain in the compute instance"
default = false
}
variable "tags" {
type = object({
defined_tags = map(any),
freeform_tags = map(any),
dg_defined_tags = map(any)
})
description = "Defined tags and freeform tags to be added to the bastion compute instance. Dynamic-group tags (dg_defined_tags) are tags that are used to indicate to which dynamic group the compute instance belongs. These are added to the compute as defined tags"
default = {
defined_tags = {},
freeform_tags = {},
dg_defined_tags = {}
}
}
variable "mode" {
type = string
description = "Mode of provisioning. Accepted values: PROD, DEV"
default = "PROD"
validation {
condition = contains(["PROD", "DEV"], var.mode)
error_message = "WLSC-ERROR: Allowed values for mode are PROD, DEV."
}
}
variable "mp_listing_id" {
type = string
description = "Marketplace listing id"
}
variable "mp_listing_resource_version" {
type = string
description = "Marketplace listing resource version"
}
variable "use_marketplace_image" {
type = bool
description = "Set to true if the image subscription is used for provisioning"
default = true
}
variable "mp_ucm_listing_id" {
type = string
description = "Marketplace UCM image listing id"
}
variable "mp_ucm_listing_resource_version" {
type = string
description = "Marketplace UCM image listing resource version"
}
variable "is_ucm_image" {
type = bool
description = "The metadata info to send it to instance to determine if its ucm image based instance or not"
}
# All the variables under this comment belong to Secured Production Mode
variable "configure_secure_mode" {
type = bool
description = "Set to true to configure a secure WebLogic domain"
}
variable "preserve_boot_properties" {
type = bool
description = "Set to true to preserve the boot.properties file for administration server and managed servers"
}
variable "administration_port" {
type = number
description = "The domain-wide administration port to configure a secure WebLogic domain"
}
variable "ms_administration_port" {
type = number
description = "The administration port for managed servers to configure a secure WebLogic domain"
}
variable "keystore_dir" {
type = string
description = "The directory where the pkcs12 keystores will be created in the compute instance when secured production mode is enabled."
default = "/u01/data/keystores"
}
variable "keystore_password_id" {
type = string
description = "The OCID of the vault secret with the password for creating the keystore"
}
variable "root_ca_id" {
type = string
description = "The OCID of the existing root certificate authority to issue the certificates"
}
variable "cert_compartment_id" {
type = string
description = "The OCID of the compartment where the certificate will be created. Leave it blank to use the network compartment for the certificate"
}
variable "thread_pool_limit" {
type = number
description = "Shared Capacity For Work Managers"
}
variable "certificate_id" {
type = string
description = "The OCID of the SSL certificate to configure a secure WebLogic domain"
default = ""
}
variable "num_ads" {
type = number
description = "Number of availability domains per region in the tenancy"
}