Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za pomocą narzędzia Terraform firmy HashiCorp można aprowizować zasoby dla Database@Azure Oracle i zarządzać nimi. Terraform oferuje dostawcę AzAPI jako narzędzie do aprowizowania i zarządzania infrastrukturą w Oracle Cloud Infrastructure (OCI).
Aby uzyskać więcej informacji na temat implementacji referencyjnych dla modułów Terraform lub OpenTofu, zobacz następujące zasoby:
- Szybki start Oracle Database@Azure przy użyciu modułów Terraform lub OpenTofu
- Strefy docelowe OCI
- Moduły zweryfikowane na platformie Azure
Uwaga
Ten artykuł zawiera przykładowy kod przedstawiający aprowizowanie zasobów oracle Database@Azure i zarządzanie nimi przy użyciu dostawcy Narzędzia Terraform AzAPI. Aby uzyskać szczegółowe informacje o zasobach dostawcy azAPI i źródłach danych, zobacz Dostawca AzAPI w rejestrze programu Terraform.
Przykłady używają przykładowych wartości na potrzeby ilustracji. Zastąp przykładowe wartości symbolu zastępczego wartościami z danego scenariusza.
W przykładach użyto dynamicznych właściwości AzAPI zamiast funkcji JSONEncode, aby uzyskać bardziej natywne działanie Terraform.
Tworzenie delegowanej podsieci dla Database@Azure Oracle
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"]
}
}]
}
}
}
Utwórz wystąpienie 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"]
}