|  | 
|  | 1 | +variable "tenancy_ocid" { | 
|  | 2 | +} | 
|  | 3 | + | 
|  | 4 | +variable "compartment_id" { | 
|  | 5 | +} | 
|  | 6 | + | 
|  | 7 | +variable "ssh_public_key" { | 
|  | 8 | +} | 
|  | 9 | + | 
|  | 10 | +provider "oci" { | 
|  | 11 | +    version          = "0.0.0" | 
|  | 12 | +} | 
|  | 13 | + | 
|  | 14 | +data "oci_identity_availability_domains" "ADs" { | 
|  | 15 | +    compartment_id = var.compartment_id | 
|  | 16 | + | 
|  | 17 | +} | 
|  | 18 | +data "oci_identity_availability_domain" "ad" { | 
|  | 19 | +    compartment_id 		= var.compartment_id | 
|  | 20 | +    ad_number      		= 1 | 
|  | 21 | + | 
|  | 22 | +} | 
|  | 23 | +resource "oci_core_virtual_network" "t" { | 
|  | 24 | +    compartment_id = var.compartment_id | 
|  | 25 | +    cidr_block = "10.1.0.0/16" | 
|  | 26 | +    display_name = "-tf-vcn" | 
|  | 27 | +    dns_label = "tfvcn" | 
|  | 28 | + | 
|  | 29 | +} | 
|  | 30 | +resource "oci_core_route_table" "t" { | 
|  | 31 | +    compartment_id = var.compartment_id | 
|  | 32 | +    vcn_id = oci_core_virtual_network.t.id | 
|  | 33 | +    route_rules { | 
|  | 34 | +        cidr_block = "0.0.0.0/0" | 
|  | 35 | +        network_entity_id = oci_core_internet_gateway.t.id | 
|  | 36 | +    } | 
|  | 37 | +} | 
|  | 38 | +resource "oci_core_internet_gateway" "t" { | 
|  | 39 | +    compartment_id = var.compartment_id | 
|  | 40 | +    vcn_id = oci_core_virtual_network.t.id | 
|  | 41 | +    display_name = "-tf-internet-gateway" | 
|  | 42 | +} | 
|  | 43 | + | 
|  | 44 | +resource "oci_core_subnet" "t" { | 
|  | 45 | +    availability_domain = data.oci_identity_availability_domains.ADs.availability_domains.0.name | 
|  | 46 | +    cidr_block          = "10.1.20.0/24" | 
|  | 47 | +    display_name        = "TFSubnet1" | 
|  | 48 | +    compartment_id      = var.compartment_id | 
|  | 49 | +    vcn_id              = oci_core_virtual_network.t.id | 
|  | 50 | +    route_table_id      = oci_core_route_table.t.id | 
|  | 51 | +    dhcp_options_id     = oci_core_virtual_network.t.default_dhcp_options_id | 
|  | 52 | +    security_list_ids   = [oci_core_virtual_network.t.default_security_list_id] | 
|  | 53 | +    dns_label           = "tfsubnet" | 
|  | 54 | +} | 
|  | 55 | +resource "oci_core_subnet" "t2" { | 
|  | 56 | +    availability_domain = data.oci_identity_availability_domains.ADs.availability_domains.0.name | 
|  | 57 | +    cidr_block          = "10.1.21.0/24" | 
|  | 58 | +    display_name        = "TFSubnet2" | 
|  | 59 | +    compartment_id      = var.compartment_id | 
|  | 60 | +    vcn_id              = oci_core_virtual_network.t.id | 
|  | 61 | +    route_table_id      = oci_core_route_table.t.id | 
|  | 62 | +    dhcp_options_id     = oci_core_virtual_network.t.default_dhcp_options_id | 
|  | 63 | +    security_list_ids   = [oci_core_virtual_network.t.default_security_list_id] | 
|  | 64 | +    dns_label           = "tfsubnet2" | 
|  | 65 | +} | 
|  | 66 | +resource "oci_core_network_security_group" "test_network_security_group" { | 
|  | 67 | +     compartment_id  = var.compartment_id | 
|  | 68 | +     vcn_id            = oci_core_virtual_network.t.id | 
|  | 69 | +     display_name      =  "displayName" | 
|  | 70 | +} | 
|  | 71 | + | 
|  | 72 | +resource "oci_core_network_security_group" "test_network_security_group_backup" { | 
|  | 73 | +    compartment_id = var.compartment_id | 
|  | 74 | +    vcn_id            = oci_core_virtual_network.t.id | 
|  | 75 | +} | 
|  | 76 | + | 
|  | 77 | +resource "oci_core_subnet" "test_subnet1" { | 
|  | 78 | +    availability_domain = data.oci_identity_availability_domain.ad.name | 
|  | 79 | +    cidr_block          = "10.1.22.0/24" | 
|  | 80 | +    display_name        = "ExadataSubnet" | 
|  | 81 | +    compartment_id      = var.compartment_id | 
|  | 82 | +    vcn_id              = oci_core_virtual_network.t.id | 
|  | 83 | +    route_table_id      = oci_core_virtual_network.t.default_route_table_id | 
|  | 84 | +    dhcp_options_id     = oci_core_virtual_network.t.default_dhcp_options_id | 
|  | 85 | +    security_list_ids   = [oci_core_virtual_network.t.default_security_list_id, oci_core_security_list.exadata_shapes_security_list.id] | 
|  | 86 | +    dns_label           = "subnetexadata1" | 
|  | 87 | +} | 
|  | 88 | + | 
|  | 89 | +resource "oci_core_subnet" "test_subnet_backup" { | 
|  | 90 | +    availability_domain = data.oci_identity_availability_domain.ad.name | 
|  | 91 | +    cidr_block          = "10.1.23.0/24" | 
|  | 92 | +    display_name        = "ExadataBackupSubnet" | 
|  | 93 | +    compartment_id      = var.compartment_id | 
|  | 94 | +    vcn_id              = oci_core_virtual_network.t.id | 
|  | 95 | +    route_table_id      = oci_core_virtual_network.t.default_route_table_id | 
|  | 96 | +    dhcp_options_id     = oci_core_virtual_network.t.default_dhcp_options_id | 
|  | 97 | +    security_list_ids   = [oci_core_virtual_network.t.default_security_list_id] | 
|  | 98 | +    dns_label           = "subnetexadata2" | 
|  | 99 | +} | 
|  | 100 | + | 
|  | 101 | + | 
|  | 102 | +resource "oci_core_security_list" "exadata_shapes_security_list" { | 
|  | 103 | +    compartment_id = var.compartment_id | 
|  | 104 | +    vcn_id         = oci_core_virtual_network.t.id | 
|  | 105 | +    display_name   = "ExadataSecurityList" | 
|  | 106 | +   ingress_security_rules { | 
|  | 107 | +       source    = "10.1.22.0/24" | 
|  | 108 | +       protocol  = "6" | 
|  | 109 | +   } | 
|  | 110 | + | 
|  | 111 | +   ingress_security_rules { | 
|  | 112 | +       source    = "10.1.22.0/24" | 
|  | 113 | +       protocol  = "1" | 
|  | 114 | +   } | 
|  | 115 | + | 
|  | 116 | +   egress_security_rules { | 
|  | 117 | +       destination = "10.1.22.0/24" | 
|  | 118 | +       protocol    = "6" | 
|  | 119 | +   } | 
|  | 120 | + | 
|  | 121 | +   egress_security_rules { | 
|  | 122 | +       destination = "10.1.22.0/24" | 
|  | 123 | +       protocol    = "1" | 
|  | 124 | +   } | 
|  | 125 | +} | 
|  | 126 | + | 
|  | 127 | +resource "oci_database_cloud_exadata_infrastructure" "test_cloud_exadata_infrastructure_primary" { | 
|  | 128 | +  #Required | 
|  | 129 | +  availability_domain = data.oci_identity_availability_domain.ad.name | 
|  | 130 | +  compartment_id      = var.compartment_id | 
|  | 131 | +  display_name        = "TstExaInfra1" | 
|  | 132 | +  shape               = "Exadata.X8M" | 
|  | 133 | + | 
|  | 134 | +  #Optional | 
|  | 135 | +  compute_count = 2 | 
|  | 136 | +  storage_count = 3 | 
|  | 137 | +} | 
|  | 138 | + | 
|  | 139 | +resource "oci_database_cloud_vm_cluster" "test_cloud_vm_cluster" { | 
|  | 140 | +  #Required | 
|  | 141 | +  backup_subnet_id                = oci_core_subnet.test_subnet_backup.id | 
|  | 142 | +  cloud_exadata_infrastructure_id = oci_database_cloud_exadata_infrastructure.test_cloud_exadata_infrastructure_primary.id | 
|  | 143 | +  compartment_id                  = var.compartment_id | 
|  | 144 | +  cpu_core_count                  = "22" | 
|  | 145 | +  display_name                    = "PrimaryCluster" | 
|  | 146 | +  gi_version                      = "19.0.0.0" | 
|  | 147 | +  hostname                        = "myOracleDB" | 
|  | 148 | +  ssh_public_keys                 = [var.ssh_public_key] | 
|  | 149 | +  subnet_id                       = oci_core_subnet.t.id | 
|  | 150 | + | 
|  | 151 | +  #Optional | 
|  | 152 | +  scan_listener_port_tcp          = "1521" | 
|  | 153 | +  scan_listener_port_tcp_ssl      = "2484" | 
|  | 154 | + | 
|  | 155 | +  data_collection_options { | 
|  | 156 | +    #Optional | 
|  | 157 | +    is_diagnostics_events_enabled = "true" | 
|  | 158 | +    is_health_monitoring_enabled = "true" | 
|  | 159 | +    is_incident_logs_enabled = "true" | 
|  | 160 | +  } | 
|  | 161 | +} | 
|  | 162 | + | 
|  | 163 | +resource "oci_database_db_home" "test_db_home" { | 
|  | 164 | +  db_system_id = oci_database_cloud_vm_cluster.test_cloud_vm_cluster.id | 
|  | 165 | + | 
|  | 166 | +  db_version   = "19.26.0.0" | 
|  | 167 | +  source = "NONE" | 
|  | 168 | +  display_name = "createdDbHomeNone" | 
|  | 169 | +} | 
|  | 170 | + | 
|  | 171 | +resource "oci_database_database" "primary_database" { | 
|  | 172 | +  #Required | 
|  | 173 | +  database { | 
|  | 174 | +    admin_password = "BEstrO0ng_#11" | 
|  | 175 | +    db_name        = "PrimDb" | 
|  | 176 | +    character_set  = "AL32UTF8" | 
|  | 177 | +    ncharacter_set = "AL16UTF16" | 
|  | 178 | +    db_workload    = "OLTP" | 
|  | 179 | +  } | 
|  | 180 | + | 
|  | 181 | +  db_home_id = oci_database_db_home.test_db_home.id | 
|  | 182 | +  source     = "NONE" | 
|  | 183 | +} | 
0 commit comments