-
Notifications
You must be signed in to change notification settings - Fork 1
/
variables.tf
193 lines (160 loc) · 6.49 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
# Copyright (c) 2022, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
#############################
# tenancy details
#############################
# Get this from the bottom of the OCI screen (after logging in, after Tenancy ID: heading)
variable "tenancy_id" {
description = "Get this from the bottom of the OCI screen (after logging in, after Tenancy ID: heading)"
}
# Get this from OCI > Identity > Users (for your user account)
variable "user_id" {
description = "Get this from OCI > Identity > Users (for your user account)"
}
# the fingerprint can be gathered from your user account (OCI > Identity > Users > click your username > API Keys fingerprint (select it, copy it and paste it below))
variable "fingerprint" {
description = "The fingerprint can be gathered from your user account (OCI > Identity > Users > click your username > API Keys fingerprint (select it, copy it and paste it below))"
}
# this is the full path on your local system to the private key used for the API key pair
variable "private_key_path" {
description = "This is the full path on your local system to the private key used for the API key pair"
}
# region (us-phoenix-1, ca-toronto-1, etc)
variable "region" {
default = "eu-frankfurt-1"
description = "region (us-phoenix-1, ca-toronto-1, etc)"
validation {
condition = contains(["eu-frankfurt-1", "eu-amsterdam-1", "uk-london-1"], var.region)
error_message = "The available regions are [\"eu-frankfurt-1\", \"eu-amsterdam-1\", \"uk-london-1\"]."
}
}
# default compartment
variable "default_compartment_id" {
description = "default compartment OCID"
}
#############################
# naming convension
#############################
# the prefix that will be used for all the names of the OCI artifacts that this automation will provision
variable "names_prefix" {
type = string
default = "coa-demo-"
description = "the prefix that will be used for all the names of the OCI artifacts that this automation will provision"
}
# the defined tags to be used for all the artifacts that this automation will provision
variable "defined_tags" {
type = map(string)
default = {}
description = "the defined tags to be used for all the artifacts that this automation will provision"
}
# the freeform tags to be used for all the artifacts that this automation will provision
variable "freeform_tags" {
type = map(string)
default = { "Demo" = "COA Change Management Operations Demo" }
description = "the freeform tags to be used for all the artifacts that this automation will provision"
}
#############################
# COA Demo network
#############################
# The specific network compartment id. If this is null then the default, project level compartment_id will be used.
variable "network_compartment_id" {
description = "The specific network compartment id. If this is null then the default, project level compartment_id will be used."
}
# VCN CIDR
variable "vcn_cidr" {
type = string
default = "10.0.0.0/16"
description = "VCN CIDR"
}
# private subnet CIDR
variable "private_subnet_cidr" {
type = string
default = "10.0.0.0/24"
description = "private subnet CIDR"
}
# db private subnet CIDR
variable "db_private_subnet_cidr" {
type = string
default = "10.0.10.0/24"
description = "private subnet CIDR"
}
# public subnet CIDR
variable "public_subnet_cidr" {
type = string
default = "10.0.20.0/24"
description = "public subnet CIDR"
}
#############################
# OCI COA NGINX Instances
#############################
# The specific compute compartment id. If this is null then the default, project level compartment_id will be used.
variable "compute_compartment_id" {
description = "The specific compute compartment id. If this is null then the default, project level compartment_id will be used."
}
# The number of cluster nodes to be provisioned
variable "cluster_size" {
type = number
default = 2
description = "The number of cluster nodes to be provisioned"
}
# Compute instances ssh public key
variable "ssh_private_key_path" {
description = "Compute instances ssh public key"
}
# Compute instances ssh private key
variable "ssh_public_key_path" {
description = "Compute instances ssh private key"
}
# The name of the shape to be used for all the provisioned compute instances. The automation will automatically figure out the OCID for the spaecific shape name in the target region.
variable "shape" {
type = string
default = "VM.Standard2.1"
description = "The name of the shape to be used for all the provisioned compute instances. The automation will automatically figure out the OCID for the spaecific shape name in the target region."
}
# The name of the image to be used for all the provisioned compute instances. The automation will automatically figure out the OCID for the specific image name in the target region.
variable "image_name" {
type = string
default = "Oracle-Linux-8.5-2021.12.08-0"
description = "The name of the image to be used for all the provisioned compute instances. The automation will automatically figure out the OCID for the specific image name in the target region."
}
# Which product to install
# Accepted values: ["Apache", "Nginx"]
variable "install_product" {
type = string
default = "Nginx"
description = "Accepted values: [Apache, Nginx]"
}
#############################
# OCI COA LBaaS
#############################
# The COA LBaaS Shape
variable "load_balancer_shape" {
type = string
default = "10Mbps-Micro"
description = "The COA LBaaS Shape"
}
# LBaaS listening ports
# Accepted values: ["80", "443", "<port number>"]
variable "lbaas_listening_ports" {
type = list(string)
default = ["443"]
description = "Accepted values: [80, 443, port number]"
}
# The path to the load balancer CA certificate
variable "lb_ca_certificate" {
type = string
default = "./certs/ca.crt"
description = "The path to the load balancer CA certificate"
}
# The path to the load balancer private_key
variable "lb_private_key" {
type = string
default = "./certs/loadbalancer.key"
description = "The path to the load balancer private_key"
}
# The path to the load balancer public_certificate
variable "lb_public_certificate" {
type = string
default = "./certs/loadbalancer.crt"
description = "The path to the load balancer public_certificate"
}