Exadata Database Services for AzureのTerraform/OpenTofuの例
HashiCorp Terraformを使用すると、Oracle Cloud Infrastructure (OCI)でインフラストラクチャをプロビジョニングおよび管理できるTerraformツールを使用して、Oracle Database@Azureのリソースのプロビジョニングおよび管理を行うことができます。
TerraformまたはOpenTofuモジュールのリファレンス実装の詳細は、次のリンクを参照してください:
ノート
- このドキュメントでは、2つのTerraformプロバイダ(
AzureRM
およびAzAPI
)を介したOracle Database@Azureリソースのプロビジョニングおよび管理の例について説明します。使用している例で適切なAPIを確認します。AzureRM
プロバイダおよびデータ・ソースの詳細は、https://registry.terraform.io/providers/hashicorp/azurerm/latest/docsを参照してくださいAzAPI
プロバイダおよびデータ・ソースの詳細は、https://registry.terraform.io/providers/Azure/azapi/latest/docsを参照してください
- サンプルでは、例の値を使用して説明しています。それらを独自の設定で置き換える必要があります。
AzAPI
サンプルでは、よりネイティブなTerraform動作のために、JSONEncode
のかわりにAzAPI動的プロパティを使用します。
Oracle Exadata Databaseサービス
Exadata Infrastructure
AzureRM
を使用したOracle Exadataインフラストラクチャの作成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"
}
}
AzAPI
を使用したOracle Exadataインフラストラクチャの作成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
}
AzureRM
を使用したOracle Exadataインフラストラクチャの取得data "azurerm_oracle_exadata_infrastructure" "example" {
name = azurerm_oracle_exadata_infrastructure.example.name
resource_group_name = azurerm_oracle_exadata_infrastructure.example.resource_group_name
}
AzAPI
を使用したサブスクリプション別のOracle Exadataインフラストラクチャのリスト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
}
AzAPI
を使用したリソース・グループ別Oracle Exadataインフラストラクチャのリスト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
}
AzAPI
を使用したOracle Exadataインフラストラクチャへのパッチの適用ノート
AzAPIプロバイダを使用して更新できるのは、リソース上のMicrosoft Azureタグのみです。
AzAPIプロバイダを使用して更新できるのは、リソース上のMicrosoft Azureタグのみです。
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"
}
}
}
AzAPI
を使用したOracle Exadataインフラストラクチャ上のデータベース・サーバーのリスト// 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
}
Exadata VMクラスタ
AzureRM
を使用したOracle Exadata VMクラスタの作成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
}
AzAPI
を使用したOracle Exadata VMクラスタの作成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"]
}
AzureRM
を使用したOracle Exadata VMクラスタの取得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
}
AzAPI
を使用したサブスクリプション別のOracle Exadata VMクラスタのリスト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
}
AzAPI
を使用したリソース・グループ別Oracle Exadata VMクラスタのリスト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
}
AzAPI
を使用したOracle Exadata VMクラスタ上のデータベース・ノードのリスト// 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
}
AzAPI
を使用したExadata VMクラスタへの仮想ネットワーク・アドレスの追加// 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
}
AzAPI
を使用したOracle Exadata VMクラスタ上の仮想ネットワーク・アドレスのリスト// 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
}
Exadata Databaseシェイプ
AzureRM
を使用したOracle Exadata Databaseサーバーの取得data "azurerm_oracle_db_servers" "example" {
resource_group_name = azurerm_resource_group.example.name
cloud_exadata_infrastructure_name = azurerm_oracle_exadata_infrastructure.example.name
}
AzureRM
を使用したOracle Exadataデータベース・ノードの取得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
}
AzureRM
を使用したOracle Exadataデータベース・シェイプの取得data "azurerm_oracle_db_system_shapes" "example" {
location = "eastus"
}
AzAPI
を使用したOracle Exadataデータベース・シェイプのリスト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
}
AzAPI
を使用した場所別のOracle Exadataデータベースのリスト// 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
}
Exadata Databaseサービスの組合せ
AzureRM
を使用した、Microsoft Azureの委任サブネットを持つExadataインフラストラクチャ上のExadata VMクラスタでのOracle Database Homeの作成ノート
次のスクリプトは、
次のスクリプトは、
AzAPI
Terraformプロバイダを使用してOracle Exadata InfrastructureおよびOracle Exadata VMクラスタを作成し、その後にOCI Terraformプロバイダ(https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/database_db_home)を使用してExadata Databaseデプロイメントを作成します。
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"
}
}
AzAPI
を使用した、Microsoft Azureの委任サブネットを持つExadataインフラストラクチャ上のExadata VMクラスタでのOracle Database Homeの作成ノート
次のスクリプトは、
次のスクリプトは、
AzAPI
Terraformプロバイダを使用してOracle Exadata InfrastructureおよびOracle Exadata VMクラスタを作成し、その後にOCI Terraformプロバイダ(https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/database_db_home)を使用してExadata Databaseデプロイメントを作成します。
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]
}