Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Terraform by HashiCorp se puede usar para aprovisionar y administrar recursos para Oracle Database@Azure. Terraform ofrece el proveedor de AzAPI como herramienta para aprovisionar y administrar una infraestructura en Oracle Cloud Infrastructure (OCI).
Para más información sobre las implementaciones de referencia para los módulos Terraform u OpenTofu, consulte los siguientes recursos:
- Inicio rápido de Oracle Database@Azure mediante módulos de Terraform u OpenTofu
- Zonas de aterrizaje de OCI
- Módulos comprobados de Azure
Nota:
En este artículo encontrará código de ejemplo para demostrar el aprovisionamiento y la administración de recursos de Oracle Database@Azure mediante el proveedor de Terraform AzAPI. Para obtener información detallada sobre los recursos del proveedor de AzAPI y la documentación de orígenes de datos, consulte Proveedor de AzAPI en el registro de Terraform.
En los ejemplos se usan valores de ejemplo para ilustrar cada caso. Reemplace los valores de ejemplo de los marcadores de posición por los valores del escenario.
En los ejemplos se usan propiedades dinámicas de AzAPI, en lugar de JSONEncode para obtener un comportamiento más nativo de Terraform.
Creación de una subred delegada para Oracle Database@Azure
resource "azurerm_resource_group" "resource_group" {
location = "eastus"
name = "ExampleRG"
}
module "avm_odbas_network" {
source = "Azure/avm-res-network-virtualnetwork/azurerm"
version = "0.2.4"
address_space = ["10.1.0.0/16"]
location = "eastus"
name = "vnet"
resource_group_name = azurerm_resource_group.resource_group.name
subnets = {
delegated = {
name = delegated
address_prefixes = ["10.1.1.0/24"]
delegation = [{
name = "Oracle.Database/networkAttachments"
service_delegation = {
name = "Oracle.Database/networkAttachments"
actions = ["Microsoft.Network/networkinterfaces/*", "Microsoft.Network/virtualNetworks/subnets/join/action"]
}
}]
}
}
}
Creación de una instancia de Oracle Exadata Database@Azure
{
required_providers {
azapi = {
source = "Azure/azapi"
}
azurerm = {
source = "hashicorp/azurerm"
}
}
}
data "azurerm_resource_group" "resource_group" {
name = "ExampleRG"
}
data "azurerm_virtual_network" "virtual_network" {
name = "ExampleRG_vnet"
resource_group_name = "ExampleRG"
}
data "azurerm_subnet" "subnet" {
name = "delegated"
virtual_network_name = "ExampleRG_vnet"
resource_group_name = "ExampleRG"
}
resource "azapi_resource" "autonomous_db" {
type = "Oracle.Database/autonomousDatabases@2023-09-01"
parent_id = data.azurerm_resource_group.resource_group.id
name = "demodb"
schema_validation_enabled = false
timeouts {
create = "3h"
update = "2h"
delete = "1h"
}
body = {
"location" : "eastus",
"properties" : {
"displayName" : "demodb",
"computeCount" : 2,
"dataStorageSizeInTbs" : 1,
"adminPassword" : "TestPass#2024#",
"dbVersion" : "19c",
"licenseModel" : "LicenseIncluded",
"dataBaseType" : "Regular",
"computeModel" : "ECPU",
"dbWorkload" : "DW",
"permissionLevel" : "Restricted",
"characterSet" : "AL32UTF8",
"ncharacterSet" : "AL16UTF16",
"isAutoScalingEnabled" : true,
"isAutoScalingForStorageEnabled" : false,
"vnetId" : data.azurerm_virtual_network.virtual_network.id
"subnetId" : data.azurerm_subnet.subnet.id
}
}
response_export_values = ["id", "properties.ocid", "properties"]
}