-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathopscenter.tf
58 lines (50 loc) · 1.7 KB
/
opscenter.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
resource "oci_core_instance" "opscenter" {
display_name = "opscenter"
compartment_id = var.compartment_ocid
availability_domain = data.oci_identity_availability_domains.availability_domains.availability_domains[0]["name"]
shape = "VM.Standard2.4"
source_details {
source_id = data.oci_core_images.ubuntu_18.images[0].id
source_type = "image"
}
lifecycle {
ignore_changes = [
source_details[0].source_id
]
}
create_vnic_details {
subnet_id = oci_core_subnet.subnet.id
hostname_label = "opscenter"
}
metadata = {
ssh_authorized_keys = var.ssh_public_key
user_data = base64encode(
join(
"\n",
[
"#!/usr/bin/env bash",
"password=${var.password}",
"node_count=${var.node_count}",
"version=${var.dse_version}",
"# ssh key stored in /root",
"echo ${base64encode(tls_private_key.ssh_key.private_key_pem)} | base64 -d > ~/.ssh/oci && chmod 600 ~/.ssh/oci",
file("./scripts/opscenter.sh"),
],
),
)
}
freeform_tags = {
"quick-start" = "{\"Deployment\":\"TF\", \"Publisher\":\"DataStax\", \"Offer\":\"dse\",\"Licence\":\"byol\"}"
}
}
resource "tls_private_key" "ssh_key" {
algorithm = "RSA"
}
data "oci_core_vnic_attachments" "opscenter_vnic_attachments" {
compartment_id = var.compartment_ocid
availability_domain = data.oci_identity_availability_domains.availability_domains.availability_domains[0]["name"]
instance_id = oci_core_instance.opscenter.*.id[0]
}
data "oci_core_vnic" "opscenter_vnic" {
vnic_id = data.oci_core_vnic_attachments.opscenter_vnic_attachments.vnic_attachments[0]["vnic_id"]
}