-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathvariables.tf
170 lines (154 loc) · 4.29 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
# Global variables
variable "default_compartment_id" {
type = string
description = "The default compartment OCID to use for resources (unless otherwise specified)."
}
variable "default_defined_tags" {
type = map(string)
description = "The different defined tags that are applied to each object by default."
default = {}
}
variable "default_freeform_tags" {
type = map(string)
description = "The different freeform tags that are applied to each object by default."
default = {}
}
# VCN-specific variables
variable "vcn_options" {
type = object({
display_name = string,
compartment_id = string,
defined_tags = map(string),
freeform_tags = map(string),
cidr = string,
enable_dns = bool,
dns_label = string
})
description = "Parameters for customizing the VCN."
default = null
}
variable "existing_vcn_id" {
type = string
description = "The OCID of an existing VCN. Only used when vcn_options is null."
default = null
}
# IGW-specific variables
variable "create_igw" {
type = bool
description = "Whether or not to create a IGW in the VCN (default: false)."
default = false
}
variable igw_options {
type = object({
display_name = string,
compartment_id = string,
defined_tags = map(string),
freeform_tags = map(string),
enabled = bool
})
description = "Parameters for customizing the IGW."
default = {
display_name = null
compartment_id = null
defined_tags = null
freeform_tags = null
enabled = null
}
}
# NATGW-specific variables
variable "create_natgw" {
type = bool
description = "Whether or not to create a NAT Gateway in the VCN (default: false)."
default = false
}
variable natgw_options {
type = object({
display_name = string,
compartment_id = string,
defined_tags = map(string),
freeform_tags = map(string),
block_traffic = bool
})
description = "Parameters for customizing the NATGW."
default = {
display_name = null
compartment_id = null
defined_tags = null
freeform_tags = null
block_traffic = null
}
}
# SVCGW-specific variables
variable "create_svcgw" {
type = bool
description = "Whether or not to create a Service Gateway in the VCN (default: false)."
default = false
}
variable svcgw_options {
type = object({
display_name = string,
compartment_id = string,
defined_tags = map(string),
freeform_tags = map(string),
services = list(string)
})
description = "Parameters for customizing the SVCGW."
default = {
display_name = null
compartment_id = null
defined_tags = null
freeform_tags = null
services = []
}
}
# DRG-specific variables
variable "create_drg" {
type = bool
description = "Whether or not to create a Dynamic Routing Gateway in the VCN (default: false)."
default = false
}
variable drg_options {
type = object({
display_name = string,
compartment_id = string,
defined_tags = map(string),
freeform_tags = map(string),
route_table_id = string
})
description = "Parameters for customizing the DRG."
default = {
display_name = null
compartment_id = null
defined_tags = null
freeform_tags = null
route_table_id = null
}
}
# Routing policies
variable route_tables {
type = map(object({
compartment_id = string,
defined_tags = map(string),
freeform_tags = map(string),
route_rules = list(object({
next_hop_id = string,
dst_type = string,
dst = string
}))
}))
description = "The Route Tables that should exist in the VCN. Each Route Table typically represents a unique routing policy which can be used by one or more subnets."
default = {}
}
# DHCP Options
variable dhcp_options {
type = map(object({
compartment_id = string,
server_type = string,
search_domain_name = string,
forwarder_1_ip = string,
forwarder_2_ip = string,
forwarder_3_ip = string
}))
description = "The DHCP Options that should exist in the VCN. Typically there is need for only two DHCP Options (one using the built-in VCN/Internet resolver and the other using custom forwarders)."
default = {}
}