Ejemplos de Terraform/OpenTofu para servicios de Exadata para Azure
Con HashiCorp Terraform, puede aprovisionar y gestionar recursos para Oracle Database@Azure mediante la herramienta Terraform que permite aprovisionar y gestionar infraestructura en Oracle Cloud Infrastructure (OCI).
Para obtener más información sobre implantaciones de referencia para módulos Terraform o OpenTofu, consulte los siguientes enlaces:
Nota
- En este documento se describen ejemplos de aprovisionamiento y gestión de recursos de Oracle Database@Azure a través de dos (2) proveedores de Terraform,
AzureRM
yAzAPI
. Compruebe el ejemplo que está utilizando para la API adecuada.- Para obtener documentación detallada sobre el proveedor
AzureRM
y el origen de datos, consulte https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs - Para obtener documentación detallada sobre el proveedor
AzAPI
y el origen de datos, consulte https://registry.terraform.io/providers/Azure/azapi/latest/docs
- Para obtener documentación detallada sobre el proveedor
- Las muestras utilizan valores de ejemplo con fines ilustrativos. Debe sustituirlos por su propia configuración.
- Los ejemplos de
AzAPI
utilizan Propiedades dinámicas de AzAPI en lugar deJSONEncode
para obtener un comportamiento de Terraform más nativo.
Servicios de Oracle Exadata
Infraestructura de Exadata
Cree una infraestructura de Oracle Exadata mediante
AzureRM
resource "azurerm_oracle_exadata_infrastructure" "example" {
name = "TestName"
location = "eastus"
resource_group_name = azurerm_resource_group.example.name
compute_count = "2"
display_name = "TestName"
shape = "Exadata.X9M"
storage_count = "3"
zones = ["3"]
tags = {
test = "testTag1"
}
}
Cree una infraestructura de Oracle Exadata mediante
AzAPI
resource "azapi_resource" "resource_group" {
type = "Microsoft.Resources/resourceGroups@2023-07-01"
name = "ExampleRG"
location = "eastus"
}
// OperationId: CloudExadataInfrastructures_CreateOrUpdate, CloudExadataInfrastructures_Get, CloudExadataInfrastructures_Delete
// PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}
resource "azapi_resource" "cloudExadataInfrastructure" {
type = "Oracle.Database/cloudExadataInfrastructures@2023-09-01"
parent_id = azapi_resource.resource_group.id
name = "ExampleName"
body = {
"location" : "eastus",
"zones" : [
"2"
],
"tags" : {
"createdby" : "ExampleName"
},
"properties" : {
"computeCount" : 2,
"displayName" : "ExampleName",
"maintenanceWindow" : {
"leadTimeInWeeks" : 0,
"preference" : "NoPreference",
"patchingMode" : "Rolling"
},
"shape" : "Exadata.X9M",
"storageCount" : 3
}
}
schema_validation_enabled = false
}
Recuperación de infraestructuras de Oracle Exadata mediante
AzureRM
data "azurerm_oracle_exadata_infrastructure" "example" {
name = azurerm_oracle_exadata_infrastructure.example.name
resource_group_name = azurerm_oracle_exadata_infrastructure.example.resource_group_name
}
Enumerar infraestructuras de Oracle Exadata por suscripción mediante
AzAPI
data "azapi_resource" "subscription" {
type = "Microsoft.Resources/subscriptions@2020-06-01"
response_export_values = ["*"]
}
// OperationId: CloudExadataInfrastructures_ListBySubscription
// GET /subscriptions/{subscriptionId}/providers/Oracle.Database/cloudExadataInfrastructures
data "azapi_resource_list" "listCloudExadataInfrastructuresBySubscription" {
type = "Oracle.Database/cloudExadataInfrastructures@2023-09-01"
parent_id = data.azapi_resource.subscription.id
}
Enumerar infraestructuras de Oracle Exadata por grupo de recursos mediante
AzAPI
data "azurerm_resource_group" "example" {
name = "existing"
}
// OperationId: CloudExadataInfrastructures_ListByResourceGroup
// GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures
data "azapi_resource_list" "listCloudExadataInfrastructuresByResourceGroup" {
type = "Oracle.Database/cloudExadataInfrastructures@2023-09-01"
parent_id = azurerm_resource_group.example.id
}
Aplicación de parches a una infraestructura de Oracle Exadata mediante
AzAPI
Nota
Solo las etiquetas de Microsoft Azure del recurso se pueden actualizar mediante el proveedor AzAPI.
Solo las etiquetas de Microsoft Azure del recurso se pueden actualizar mediante el proveedor AzAPI.
data "azapi_resource" "subscription" {
type = "Microsoft.Resources/subscriptions@2020-06-01"
response_export_values = ["*"]
}
// OperationId: CloudExadataInfrastructures_Update
// PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}
resource "azapi_resource_action" "patch_cloudExadataInfrastructure" {
type = "Oracle.Database/cloudExadataInfrastructures@2023-09-01"
resource_id = azapi_resource.cloudExadataInfrastructure.id
action = ""
method = "PATCH"
body = {
"tags" : {
"updatedby" : "ExampleName"
}
}
}
Mostrar servidores de base de datos en una infraestructura de Oracle Exadata mediante
AzAPI
// OperationId: DbServers_Get
// GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}/dbServers/{dbserverocid}
data "azapi_resource" "dbServer" {
type = "Oracle.Database/cloudExadataInfrastructures/dbServers@2023-09-01"
parent_id = azapi_resource.cloudExadataInfrastructure.id
name = var.resource_name
}
Cluster de VM de Exadata
Crear un cluster de VM de Oracle Exadata mediante
AzureRM
resource "azurerm_oracle_cloud_vm_cluster" "example" {
location = "eastus"
name = "TestName"
resource_group_name = azurerm_resource_group.example.name
cloud_exadata_infrastructure_id = azurerm_oracle_exadata_infrastructure.example.id
cpu_core_count = 4
data_storage_size_in_tbs = 2
db_node_storage_size_in_gbs = 120
db_servers = [for obj in data.azurerm_oracle_db_servers.example.db_servers : obj.ocid]
display_name = "TestName"
gi_version = "23.0.0.0"
license_model = "BringYourOwnLicense"
memory_size_in_gbs = 60
hostname = "hostname"
ssh_public_keys = ["ssh-rsa abcdefghijkl"]
subnet_id = azurerm_subnet.virtual_network_subnet.id
virtual_network_id = azurerm_virtual_network.virtual_network.id
}
Crear un cluster de VM de Oracle Exadata mediante
AzAPI
resource "azapi_resource" "resource_group" {
type = "Microsoft.Resources/resourceGroups@2023-07-01"
name = "ExampleRG" location = "eastus"
}
// OperationId: CloudExadataInfrastructures_CreateOrUpdate, CloudExadataInfrastructures_Get, CloudExadataInfrastructures_Delete
// PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}
resource "azapi_resource" "cloudExadataInfrastructure" {
type = "Oracle.Database/cloudExadataInfrastructures@2023-09-01"
parent_id = azapi_resource.resource_group.id
name = "ExampleName"
body = {
"location" : "eastus",
"zones" : [
"2"
],
"tags" : {
"createdby" : "ExampleName"
},
"properties" : {
"computeCount" : 2,
"displayName" : "ExampleName",
"maintenanceWindow" : {
"leadTimeInWeeks" : 0,
"preference" : "NoPreference",
"patchingMode" : "Rolling"
},
"shape" : "Exadata.X9M",
"storageCount" : 3
}
}
schema_validation_enabled = false
}
//-------------VMCluster resources ------------
// OperationId: CloudVmClusters_CreateOrUpdate, CloudVmClusters_Get, CloudVmClusters_Delete
// PUT GET DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}
resource "azapi_resource" "cloudVmCluster" {
type = "Oracle.Database/cloudVmClusters@2023-09-01"
parent_id = azapi_resource.resourceGroup.id
name = local.exa_cluster_name
schema_validation_enabled = false
depends_on = [azapi_resource.cloudExadataInfrastructure]
body = {
"properties": {
"dataStorageSizeInTbs": 1000,
"dbNodeStorageSizeInGbs": 1000,
"memorySizeInGbs": 1000,
"timeZone": "UTC",
"hostname": "hostname1",
"domain": "domain1",
"cpuCoreCount": 2,
"ocpuCount": 3,
"clusterName": "cluster1",
"dataStoragePercentage": 100,
"isLocalBackupEnabled": false,
"cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
"isSparseDiskgroupEnabled": false,
"sshPublicKeys": [
"ssh-key 1"
],
"nsgCidrs": [
{
"source": "10.0.0.0/16",
"destinationPortRange": {
"min": 1520,
"max": 1522
}
},
{
"source": "10.10.0.0/24"
}
],
"licenseModel": "LicenseIncluded",
"scanListenerPortTcp": 1050,
"scanListenerPortTcpSsl": 1025,
"vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
"giVersion": "19.0.0.0",
"subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
"backupSubnetCidr": "172.17.5.0/24",
"dataCollectionOptions": {
"isDiagnosticsEventsEnabled": false,
"isHealthMonitoringEnabled": false,
"isIncidentLogsEnabled": false
},
"displayName": "cluster 1",
"dbServers": [
"ocid1..aaaa"
]
},
"location": "eastus"
}
response_export_values = ["properties.ocid"]
}
Recuperar clusters de VM de Oracle Exadata mediante
AzureRM
data "azurerm_oracle_cloud_vm_cluster" "example" {
name = azurerm_oracle_cloud_vm_cluster.example.name
resource_group_name = azurerm_oracle_cloud_vm_cluster.example.resource_group_name
}
Mostrar clusters de VM de Oracle Exadata por suscripción mediante
AzAPI
data "azapi_resource" "subscription" {
type = "Microsoft.Resources/subscriptions@2020-06-01"
response_export_values = ["*"]
}
// OperationId: CloudExadataInfrastructures_ListBySubscription
// GET /subscriptions/{subscriptionId}/providers/Oracle.Database/cloudExadataInfrastructures
data "azapi_resource_list" "listCloudExadataInfrastructuresBySubscription" {
type = "Oracle.Database/cloudVmClusters@2023-09-01"
parent_id = data.azapi_resource.subscription.id
}
Mostrar clusters de VM de Oracle Exadata por grupo de recursos mediante
AzAPI
data "azurerm_resource_group" "example" {
name = "existing"
}
// OperationId: CloudExadataInfrastructures_ListByResourceGroup
// GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures
data "azapi_resource_list" "listCloudExadataInfrastructuresByResourceGroup" {
type = "Oracle.Database/cloudVmClusters@2023-09-01"
parent_id = azurerm_resource_group.example.id
}
Mostrar nodos de base de datos en un cluster de VM de Oracle Exadata mediante
AzAPI
// OperationId: DbNodes_Get
// GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/dbNodes/{dbnodeocid}
data "azapi_resource" "dbNode" {
type = "Oracle.Database/cloudVmClusters/dbNodes@2023-09-01"
parent_id = azapi_resource.cloudVmCluster.id. // VM Cluster Id
name = var.resource_name
}
Adición de una dirección de red virtual a un cluster de VM de Exadata mediante
AzAPI
// OperationId: VirtualNetworkAddresses_CreateOrUpdate, VirtualNetworkAddresses_Get, VirtualNetworkAddresses_Delete
// PUT GET DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/virtualNetworkAddresses/{virtualnetworkaddressname}
resource "azapi_resource" "virtualNetworkAddress" {
type = "Oracle.Database/cloudVmClusters/virtualNetworkAddresses@2023-09-01"
parent_id = azapi_resource.cloudVmCluster.id
name = var.resource_name
body = {
"properties": {
"ipAddress": "192.168.0.1",
"vmOcid": "ocid1..aaaa"
}
}
schema_validation_enabled = false
}
Mostrar direcciones de red virtual en un cluster de VM de Oracle Exadata mediante
AzAPI
// OperationId: VirtualNetworkAddresses_ListByCloudVmCluster
// GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/virtualNetworkAddresses
data "azapi_resource_list" "listVirtualNetworkAddressesByCloudVmCluster" {
type = "Oracle.Database/cloudVmClusters/virtualNetworkAddresses@2023-09-01"
parent_id = azapi_resource.cloudVmCluster.id
}
Unidad de base de datos de Exadata
Recuperar un servidor de base de datos de Oracle Exadata mediante
AzureRM
data "azurerm_oracle_db_servers" "example" {
resource_group_name = azurerm_resource_group.example.name
cloud_exadata_infrastructure_name = azurerm_oracle_exadata_infrastructure.example.name
}
Recuperar un nodo de base de datos de Oracle Exadata mediante
AzureRM
data "azurerm_oracle_db_nodes" "example" {
resource_group_name = azurerm_resource_group.example.name
cloud_vm_cluster_name = azurerm_oracle_cloud_vm_cluster.example.name
}
Recuperar una unidad de base de datos de Oracle Exadata mediante
AzureRM
data "azurerm_oracle_db_system_shapes" "example" {
location = "eastus"
}
Mostrar una unidad de base de datos de Oracle Exadata mediante
AzAPI
data "azapi_resource_id" "location" {
type = "Oracle.Database/locations@2023-12-12"
parent_id = data.azapi_resource.subscription.id
name = "eastus"
}
// OperationId: DbSystemShapes_Get
// GET /subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/dbSystemShapes/{dbsystemshapename}
data "azapi_resource" "dbSystemShape" {
type = "Oracle.Database/locations/dbSystemShapes@2023-09-01"
parent_id = data.azapi_resource_id.location.id
name = var.resource_name
}
Mostrar bases de datos de Oracle Exadata por ubicación mediante
AzAPI
// OperationId: DbSystemShapes_ListByLocation
// GET /subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/dbSystemShapes
data "azapi_resource_list" "listDbSystemShapesByLocation" {
type = "Oracle.Database/locations/dbSystemShapes@2023-09-01"
parent_id = data.azapi_resource_id.location.id
}
Servicios de Exadata combinados
Creación de un directorio raíz de Oracle Database en un cluster de VM de Exadata en una infraestructura de Exadata con una subred delegada en Microsoft Azure mediante
AzureRM
Nota
El siguiente script crea una infraestructura de Oracle Exadata y un cluster de VM de Oracle Exadata mediante el proveedor de Terraform
El siguiente script crea una infraestructura de Oracle Exadata y un cluster de VM de Oracle Exadata mediante el proveedor de Terraform
AzAPI
seguido de la creación de un despliegue de base de datos de Exadata mediante el proveedor de Terraform de OCI (https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/database_db_home).
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
}
oci = {
source = "oracle/oci"
}
}
}
data "azurerm_client_config" "current" {}
resource "azurerm_resource_group" "example" {
name = "example-rg"
location = "eastus"
}
resource "azurerm_virtual_network" "virtual_network" {
name = "Example_vnet"
address_space = ["10.0.0.0/16"]
location = "eastus"
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_subnet" "virtual_network_subnet" {
name = "Example_subnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.virtual_network.name
address_prefixes = ["10.0.1.0/24"]
delegation {
name = "delegation"
service_delegation {
actions = [
"Microsoft.Network/networkinterfaces/*",
"Microsoft.Network/virtualNetworks/subnets/join/action",
]
name = "Oracle.Database/networkAttachments"
}
}
}
resource "azurerm_oracle_exadata_infrastructure" "example" {
name = "ExampleInfra"
location = "eastus"
resource_group_name = azurerm_resource_group.example.name
compute_count = "2"
display_name = "ExampleInfra"
shape = "Exadata.X9M"
storage_count = "3"
zones = ["3"]
}
data "azurerm_oracle_db_servers" "example" {
resource_group_name = azurerm_resource_group.example.name
cloud_exadata_infrastructure_name = azurerm_oracle_exadata_infrastructure.example.name
}
resource "azurerm_oracle_cloud_vm_cluster" "example" {
location = "eastus"
name = "ExampleVmCluster"
resource_group_name = azurerm_resource_group.example.name
cloud_exadata_infrastructure_id = azurerm_oracle_exadata_infrastructure.example.id
cpu_core_count = 4
data_storage_size_in_tbs = 2
db_node_storage_size_in_gbs = 120
db_servers = [for obj in data.azurerm_oracle_db_servers.example.db_servers : obj.ocid]
display_name = "ExampleVmCluster"
gi_version = "23.0.0.0"
license_model = "BringYourOwnLicense"
memory_size_in_gbs = 60
hostname = "hostname"
ssh_public_keys = ["ssh-rsa abcdefghijk"]
subnet_id = azurerm_subnet.virtual_network_subnet.id
virtual_network_id = azurerm_virtual_network.virtual_network.id
}
resource "oci_database_db_home" "exa_db_home" {
source = "VM_CLUSTER_NEW"
vm_cluster_id = azurerm_oracle_cloud_vm_cluster.example.ocid
db_version = "19.20.0.0"
display_name = "TFDBHOME"
database {
db_name = "TFCDB"
pdb_name = "TFPDB"
admin_password = "TestPass#2024#"
db_workload = "OLTP"
}
}
Creación de un directorio raíz de Oracle Database en un cluster de VM de Exadata en una infraestructura de Exadata con una subred delegada en Microsoft Azure mediante
AzAPI
Nota
El siguiente script crea una infraestructura de Oracle Exadata y un cluster de VM de Oracle Exadata mediante el proveedor de Terraform
El siguiente script crea una infraestructura de Oracle Exadata y un cluster de VM de Oracle Exadata mediante el proveedor de Terraform
AzAPI
seguido de la creación de un despliegue de base de datos de Exadata mediante el proveedor de Terraform de OCI (https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/database_db_home).
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
oci = {
source = "oracle/oci"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
provider "oci" {
user_ocid = <user_ocid>
fingerprint = <user_fingerprint>
tenancy_ocid = <oci_tenancy_ocid>
region = "us-ashburn-1"
private_key_path = <Path to API Key>
}
locals {
resource_group_name = "TestResourceGroup"
user = "Username"
location = "eastus"
}
resource "azapi_resource" "resource_group" {
type = "Microsoft.Resources/resourceGroups@2023-07-01"
name = local.resource_group_name
location = local.location
}
resource "azapi_resource" "virtual_network" {
type = "Microsoft.Network/virtualNetworks@2023-04-01"
name = "${local.resource_group_name}_vnet"
location = local.location
parent_id = azapi_resource.resource_group.id
body = {
properties = {
addressSpace = {
addressPrefixes = [
"10.0.0.0/16"
]
}
subnets = [
{
name = "delegated"
properties = {
addressPrefix = "10.0.1.0/24"
delegations = [
{
name = "Oracle.Database.networkAttachments"
properties = {
serviceName = "Oracle.Database/networkAttachments"
}
}
]
}
}
]
}
}
}
data "azapi_resource_list" "listVirtualNetwork" {
type = "Microsoft.Network/virtualNetworks/subnets@2023-09-01"
parent_id = azapi_resource.virtual_network.id
depends_on = [azapi_resource.virtual_network]
response_export_values = ["*"]
}
resource "tls_private_key" "generated_ssh_key" {
algorithm = "RSA"
rsa_bits = 4096
}
resource "azapi_resource" "ssh_public_key" {
type = "Microsoft.Compute/sshPublicKeys@2023-09-01"
name = "${local.resource_group_name}_key"
location = local.location
parent_id = azapi_resource.resource_group.id
body = {
properties = {
publicKey = "${tls_private_key.generated_ssh_key.public_key_openssh}"
}
}
}
// OperationId: CloudExadataInfrastructures_CreateOrUpdate, CloudExadataInfrastructures_Get, CloudExadataInfrastructures_Delete
// PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}
resource "azapi_resource" "cloudExadataInfrastructure" {
type = "Oracle.Database/cloudExadataInfrastructures@2023-09-01"
parent_id = azapi_resource.resource_group.id
name = "OFake_terraform_deploy_infra_${local.resource_group_name}"
timeouts {
create = "1h30m"
delete = "20m"
}
body = {
"location" : "${local.location}",
"zones" : [
"2"
],
"tags" : {
"createdby" : "${local.user}"
},
"properties" : {
"computeCount" : 2,
"displayName" : "OFake_terraform_deploy_infra_${local.resource_group_name}",
"maintenanceWindow" : {
"leadTimeInWeeks" : 0,
"preference" : "NoPreference",
"patchingMode" : "Rolling"
},
"shape" : "Exadata.X9M",
"storageCount" : 3
}
}
schema_validation_enabled = false
}
// OperationId: DbServers_ListByCloudExadataInfrastructure
// GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}/dbServers
data "azapi_resource_list" "listDbServersByCloudExadataInfrastructure" {
type = "Oracle.Database/cloudExadataInfrastructures/dbServers@2023-09-01"
parent_id = azapi_resource.cloudExadataInfrastructure.id
depends_on = [azapi_resource.cloudExadataInfrastructure]
response_export_values = ["*"]
}
// OperationId: CloudVmClusters_CreateOrUpdate, CloudVmClusters_Get, CloudVmClusters_Delete
// PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}
resource "azapi_resource" "cloudVmCluster" {
type = "Oracle.Database/cloudVmClusters@2023-09-01"
parent_id = azapi_resource.resource_group.id
name = "OFake_terraform_deploy_cluster_${local.resource_group_name}"
schema_validation_enabled = false
depends_on = [azapi_resource.cloudExadataInfrastructure]
timeouts {
create = "1h30m"
delete = "20m"
}
body = {
"location" : "${local.location}",
"tags" : {
"createdby" : "${local.user}"
},
"properties" : {
"subnetId" : "${data.azapi_resource_list.listVirtualNetwork.output.value[0].id}"
"cloudExadataInfrastructureId" : "${azapi_resource.cloudExadataInfrastructure.id}"
"cpuCoreCount" : 4
"dataCollectionOptions" : {
"isDiagnosticsEventsEnabled" : true,
"isHealthMonitoringEnabled" : true,
"isIncidentLogsEnabled" : true
},
"dataStoragePercentage" : 80,
"dataStorageSizeInTbs" : 2,
"dbNodeStorageSizeInGbs" : 120,
"dbServers" : [
"${data.azapi_resource_list.listDbServersByCloudExadataInfrastructure.output.value[0].properties.ocid}",
"${data.azapi_resource_list.listDbServersByCloudExadataInfrastructure.output.value[1].properties.ocid}"
]
"displayName" : "OFake_terraform_deploy_cluster_${local.resource_group_name}",
"giVersion" : "19.0.0.0",
"hostname" : "${local.user}",
"isLocalBackupEnabled" : false,
"isSparseDiskgroupEnabled" : false,
"licenseModel" : "LicenseIncluded",
"memorySizeInGbs" : 60,
"sshPublicKeys" : ["${tls_private_key.generated_ssh_key.public_key_openssh}"],
"timeZone" : "UTC",
"vnetId" : "${azapi_resource.virtual_network.id}",
"provisioningState" : "Succeeded"
}
}
response_export_values = ["properties.ocid"]
}
resource "oci_database_db_home" "exa_db_home" {
source = "VM_CLUSTER_NEW"
vm_cluster_id = azapi_resource.cloudVmCluster.output.properties.ocid
db_version = "19.20.0.0"
display_name = "TFDBHOME"
database {
db_name = "TFCDB"
pdb_name = "TFPDB"
admin_password = "TestPass#2024#"
db_workload = "OLTP"
}
depends_on = [azapi_resource.cloudVmCluster]
}