-
Notifications
You must be signed in to change notification settings - Fork 3
/
variables.tf
185 lines (156 loc) · 5.22 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
##############################################################################
# Account Variables
##############################################################################
variable ibmcloud_api_key {
description = "The IBM Cloud platform API key needed to deploy IAM enabled resources"
type = string
}
variable unique_id {
description = "A unique identifier need to provision resources. Must begin with a letter"
type = string
default = "asset-roks-gen2"
}
variable ibm_region {
description = "IBM Cloud region where all resources will be deployed"
type = string
}
variable resource_group {
description = "Name of resource group to create VPC"
type = string
default = "asset-development"
}
variable generation {
description = "generation for VPC. Can be 1 or 2"
#type = number
default = 2
}
variable enable_public_gateway {
description = "Enable public gateways for subnets, true or false"
#type = bool
default = true
}
variable cidr_blocks {
description = "A list of CIDR blocks for the VPC subnets"
type = list
default = [
"10.10.0.0/24",
"10.10.20.0/24",
"10.20.30.0/24"
]
}
variable acl_rules {
description = "Access control list rule set"
default = [
{
name = "egress"
action = "allow"
source = "0.0.0.0/0"
destination = "0.0.0.0/0"
direction = "inbound"
},
{
name = "ingress"
action = "allow"
source = "0.0.0.0/0"
destination = "0.0.0.0/0"
direction = "outbound"
}
]
}
##############################################################################
##############################################################################
# Cluster Variables
##############################################################################
variable machine_type {
description = "The flavor of VPC worker node to use for your cluster"
type = string
default = "bx2.4x16"
}
variable workers_per_zone {
description = "Number of workers to provision in each subnet. Openshift worker pool size must be 2 or greater."
type = number
default = 2
}
variable disable_public_service_endpoint {
description = "Disable public service endpoint for cluster"
type = bool
default = false
}
variable kube_version {
description = "Specify the Kubernetes version, including the major.minor version. To see available versions, run ibmcloud ks versions. To use the default, leave string empty"
type = string
default = ""
}
variable wait_till {
description = "To avoid long wait times when you run your Terraform code, you can specify the stage when you want Terraform to mark the cluster resource creation as completed. Depending on what stage you choose, the cluster creation might not be fully completed and continues to run in the background. However, your Terraform code can continue to run without waiting for the cluster to be fully created. Supported args are `MasterNodeReady`, `OneWorkerNodeReady`, and `IngressReady`"
type = string
default = "IngressReady"
}
variable tags {
description = "A list of tags to add to the cluster"
type = list(string)
default = []
}
variable worker_pools {
description = "List of maps describing worker pools. Worker pools must have at least 2 workers per zone"
# type = list(
# object({
# pool_name = string
# machine_type = string
# workers_per_zone = number
# })
# )
default = []
# {
# pool_name = "dev"
# machine_type = "c2.2x4"
# workers_per_zone = 2
# resource_group = "default"
# },
# {
# pool_name = "prod"
# machine_type = "c2.2x4"
# workers_per_zone = 2
# }
#]
}
##############################################################################
##############################################################################
# Resource Variables
##############################################################################
variable service_endpoints {
description = "Service endpoints for resource instances. Can be `public`, `private`, or `public-and-private`"
type = string
default = "private"
}
variable kms_plan {
description = "Plan for Key Protect"
type = string
default = "tiered-pricing"
}
variable kms_root_key_name {
description = "Name of the root key for Key Protect instance"
type = string
default = "root-key"
}
variable cos_plan {
description = "Plan for Cloud Object Storage instance"
type = string
default = "standard"
}
variable psql_plan {
description = "Plan for Databases for PostgreSQL"
type = string
default = "standard"
}
variable logdna_plan {
description = "Plan for Databases for PostgreSQL"
type = string
default = "7-day"
}
variable sysdig_plan {
description = "Plan for Databases for PostgreSQL"
type = string
default = "graduated-tier"
}
##############################################################################