1
+ # # Copyright (c) 2020, Oracle and/or its affiliates.
2
+ # # All rights reserved. The Universal Permissive License (UPL), Version 1.0 as shown at http://oss.oracle.com/licenses/upl
3
+
1
4
resource "oci_core_instance" "BastionHost" {
2
5
availability_domain = data. oci_identity_availability_domains . ADs . availability_domains [0 ][" name" ]
3
6
compartment_id = var. compartment_ocid
4
7
display_name = " BastionHost"
5
8
shape = var. BastionShape
6
9
10
+ dynamic "shape_config" {
11
+ for_each = local. is_flexible_bastion_shape ? [1 ] : []
12
+ content {
13
+ memory_in_gbs = var. Bastion_Flex_Shape_Memory
14
+ ocpus = var. Bastion_Flex_Shape_OCPUS
15
+ }
16
+ }
17
+
7
18
create_vnic_details {
8
19
subnet_id = oci_core_subnet. BastionSubnetAD1 . id
9
20
skip_source_dest_check = true
10
21
}
11
22
12
23
metadata = {
13
- ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh
14
- user_data = base64encode ( file (var . BastionBootStrap ))
24
+ ssh_authorized_keys = var.ssh_public_key
25
+ user_data = data.template_cloudinit_config.cloud_init_bastion.rendered
15
26
}
16
27
17
28
source_details {
18
- source_id = lookup (data. oci_core_images . InstanceImageOCID . images [0 ], " id" )
29
+ source_id = lookup (data. oci_core_images . InstanceImageOCID_Bastion . images [0 ], " id" )
19
30
source_type = " image"
20
31
}
21
32
@@ -31,6 +42,15 @@ resource "oci_core_instance" "ESMasterNode1" {
31
42
compartment_id = var. compartment_ocid
32
43
display_name = " ESMasterNode1"
33
44
shape = var. MasterNodeShape
45
+
46
+ dynamic "shape_config" {
47
+ for_each = local. is_flexible_masternode_shape ? [1 ] : []
48
+ content {
49
+ memory_in_gbs = var. MasterNode_Flex_Shape_Memory
50
+ ocpus = var. MasterNode_Flex_Shape_OCPUS
51
+ }
52
+ }
53
+
34
54
depends_on = [oci_core_instance . BastionHost ]
35
55
36
56
create_vnic_details {
@@ -39,11 +59,12 @@ resource "oci_core_instance" "ESMasterNode1" {
39
59
}
40
60
41
61
metadata = {
42
- ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh
62
+ ssh_authorized_keys = var.ssh_public_key
63
+ user_data = data.template_cloudinit_config.cloud_init.rendered
43
64
}
44
65
45
66
source_details {
46
- source_id = lookup (data. oci_core_images . InstanceImageOCID . images [0 ], " id" )
67
+ source_id = lookup (data. oci_core_images . InstanceImageOCID_MasterNode . images [0 ], " id" )
47
68
source_type = " image"
48
69
boot_volume_size_in_gbs = var. BootVolSize
49
70
}
@@ -60,6 +81,15 @@ resource "oci_core_instance" "ESMasterNode2" {
60
81
compartment_id = var. compartment_ocid
61
82
display_name = " ESMasterNode2"
62
83
shape = var. MasterNodeShape
84
+
85
+ dynamic "shape_config" {
86
+ for_each = local. is_flexible_masternode_shape ? [1 ] : []
87
+ content {
88
+ memory_in_gbs = var. MasterNode_Flex_Shape_Memory
89
+ ocpus = var. MasterNode_Flex_Shape_OCPUS
90
+ }
91
+ }
92
+
63
93
depends_on = [oci_core_instance . BastionHost ]
64
94
65
95
create_vnic_details {
@@ -68,11 +98,12 @@ resource "oci_core_instance" "ESMasterNode2" {
68
98
}
69
99
70
100
metadata = {
71
- ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh
101
+ ssh_authorized_keys = var.ssh_public_key
102
+ user_data = data.template_cloudinit_config.cloud_init.rendered
72
103
}
73
104
74
105
source_details {
75
- source_id = lookup (data. oci_core_images . InstanceImageOCID . images [0 ], " id" )
106
+ source_id = lookup (data. oci_core_images . InstanceImageOCID_MasterNode . images [0 ], " id" )
76
107
source_type = " image"
77
108
boot_volume_size_in_gbs = var. BootVolSize
78
109
}
@@ -89,6 +120,15 @@ resource "oci_core_instance" "ESMasterNode3" {
89
120
compartment_id = var. compartment_ocid
90
121
display_name = " ESMasterNode3"
91
122
shape = var. MasterNodeShape
123
+
124
+ dynamic "shape_config" {
125
+ for_each = local. is_flexible_masternode_shape ? [1 ] : []
126
+ content {
127
+ memory_in_gbs = var. MasterNode_Flex_Shape_Memory
128
+ ocpus = var. MasterNode_Flex_Shape_OCPUS
129
+ }
130
+ }
131
+
92
132
depends_on = [oci_core_instance . BastionHost ]
93
133
94
134
create_vnic_details {
@@ -97,11 +137,12 @@ resource "oci_core_instance" "ESMasterNode3" {
97
137
}
98
138
99
139
metadata = {
100
- ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh
140
+ ssh_authorized_keys = var.ssh_public_key
141
+ user_data = data.template_cloudinit_config.cloud_init.rendered
101
142
}
102
143
103
144
source_details {
104
- source_id = lookup (data. oci_core_images . InstanceImageOCID . images [0 ], " id" )
145
+ source_id = lookup (data. oci_core_images . InstanceImageOCID_MasterNode . images [0 ], " id" )
105
146
source_type = " image"
106
147
boot_volume_size_in_gbs = var. BootVolSize
107
148
}
@@ -118,18 +159,29 @@ resource "oci_core_instance" "ESDataNode1" {
118
159
compartment_id = var. compartment_ocid
119
160
display_name = " ESDataNode1"
120
161
shape = var. DataNodeShape
162
+
163
+ dynamic "shape_config" {
164
+ for_each = local. is_flexible_datanode_shape ? [1 ] : []
165
+ content {
166
+ memory_in_gbs = var. DataNode_Flex_Shape_Memory
167
+ ocpus = var. DataNode_Flex_Shape_OCPUS
168
+ }
169
+ }
170
+
121
171
depends_on = [oci_core_instance . BastionHost ]
122
172
123
173
create_vnic_details {
124
174
subnet_id = oci_core_subnet. PrivSubnetAD1 . id
125
175
assign_public_ip = false
126
176
}
177
+
127
178
metadata = {
128
- ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh
179
+ ssh_authorized_keys = var.ssh_public_key
180
+ user_data = data.template_cloudinit_config.cloud_init.rendered
129
181
}
130
182
131
183
source_details {
132
- source_id = lookup (data. oci_core_images . InstanceImageOCID . images [0 ], " id" )
184
+ source_id = lookup (data. oci_core_images . InstanceImageOCID_DataNode . images [0 ], " id" )
133
185
source_type = " image"
134
186
boot_volume_size_in_gbs = var. BootVolSize
135
187
}
@@ -146,6 +198,15 @@ resource "oci_core_instance" "ESDataNode2" {
146
198
compartment_id = var. compartment_ocid
147
199
display_name = " ESDataNode2"
148
200
shape = var. DataNodeShape
201
+
202
+ dynamic "shape_config" {
203
+ for_each = local. is_flexible_datanode_shape ? [1 ] : []
204
+ content {
205
+ memory_in_gbs = var. DataNode_Flex_Shape_Memory
206
+ ocpus = var. DataNode_Flex_Shape_OCPUS
207
+ }
208
+ }
209
+
149
210
depends_on = [oci_core_instance . BastionHost ]
150
211
151
212
create_vnic_details {
@@ -154,11 +215,12 @@ resource "oci_core_instance" "ESDataNode2" {
154
215
}
155
216
156
217
metadata = {
157
- ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh
218
+ ssh_authorized_keys = var.ssh_public_key
219
+ user_data = data.template_cloudinit_config.cloud_init.rendered
158
220
}
159
221
160
222
source_details {
161
- source_id = lookup (data. oci_core_images . InstanceImageOCID . images [0 ], " id" )
223
+ source_id = lookup (data. oci_core_images . InstanceImageOCID_DataNode . images [0 ], " id" )
162
224
source_type = " image"
163
225
boot_volume_size_in_gbs = var. BootVolSize
164
226
}
@@ -175,6 +237,15 @@ resource "oci_core_instance" "ESDataNode3" {
175
237
compartment_id = var. compartment_ocid
176
238
display_name = " ESDataNode3"
177
239
shape = var. DataNodeShape
240
+
241
+ dynamic "shape_config" {
242
+ for_each = local. is_flexible_datanode_shape ? [1 ] : []
243
+ content {
244
+ memory_in_gbs = var. DataNode_Flex_Shape_Memory
245
+ ocpus = var. DataNode_Flex_Shape_OCPUS
246
+ }
247
+ }
248
+
178
249
depends_on = [oci_core_instance . BastionHost ]
179
250
180
251
create_vnic_details {
@@ -183,11 +254,12 @@ resource "oci_core_instance" "ESDataNode3" {
183
254
}
184
255
185
256
metadata = {
186
- ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh
257
+ ssh_authorized_keys = var.ssh_public_key
258
+ user_data = data.template_cloudinit_config.cloud_init.rendered
187
259
}
188
260
189
261
source_details {
190
- source_id = lookup (data. oci_core_images . InstanceImageOCID . images [0 ], " id" )
262
+ source_id = lookup (data. oci_core_images . InstanceImageOCID_DataNode . images [0 ], " id" )
191
263
source_type = " image"
192
264
boot_volume_size_in_gbs = var. BootVolSize
193
265
}
@@ -204,6 +276,15 @@ resource "oci_core_instance" "ESDataNode4" {
204
276
compartment_id = var. compartment_ocid
205
277
display_name = " ESDataNode4"
206
278
shape = var. DataNodeShape
279
+
280
+ dynamic "shape_config" {
281
+ for_each = local. is_flexible_datanode_shape ? [1 ] : []
282
+ content {
283
+ memory_in_gbs = var. DataNode_Flex_Shape_Memory
284
+ ocpus = var. DataNode_Flex_Shape_OCPUS
285
+ }
286
+ }
287
+
207
288
depends_on = [oci_core_instance . BastionHost ]
208
289
209
290
create_vnic_details {
@@ -212,11 +293,12 @@ resource "oci_core_instance" "ESDataNode4" {
212
293
}
213
294
214
295
metadata = {
215
- ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh
296
+ ssh_authorized_keys = var.ssh_public_key
297
+ user_data = data.template_cloudinit_config.cloud_init.rendered
216
298
}
217
299
218
300
source_details {
219
- source_id = lookup (data. oci_core_images . InstanceImageOCID . images [0 ], " id" )
301
+ source_id = lookup (data. oci_core_images . InstanceImageOCID_DataNode . images [0 ], " id" )
220
302
source_type = " image"
221
303
boot_volume_size_in_gbs = var. BootVolSize
222
304
}
0 commit comments