For AzAPI-based reference implementation, please refer to Azure Verified Modules - avm-res-oracledatabase-autonomous
This is a Terraform Template for provisioning Oracle Database@Azure with the following resources using AzAPI Terraform provider
- Azure Resource Group (AzureRM) - Optional
- Azure VNet with a delegated subnet for OracleDB@Azure (AzureRM/AVM)
- Oracle Autonomous Database (AzAPI)
Note
Since there are limited properties updatable from Azure at the moment (either Azure Portal or using AzAPI/AzureRM Terraform Provider), the reference implementation is making use of ignore_changes in lifecycle block to avoid having a force replacement plan when changes are made via other means (e.g. OCI Console)
| Name | Version |
|---|---|
| azurerm | >=3.99.0 |
| Name | Version |
|---|---|
| random | 3.6.3 |
| Name | Source | Version |
|---|---|---|
| avm_network | Azure/avm-res-network-virtualnetwork/azurerm | 0.2.4 |
| azure-oracle-adbs | ../../modules/azure-oracle-adbs | n/a |
| azure-resource-grp | ../../modules/azure-resource-grp | n/a |
| Name | Type |
|---|---|
| random_string.suffix | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| admin_password | The password must be between 12 and 30characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol or the username 'admin', regardless of casing. | string |
n/a | yes |
| auto_scaling_enabled | Indicates if auto scaling is enabled for the Autonomous Database CPU core count. The default value is true. | bool |
true |
no |
| auto_scaling_for_storage_enabled | Indicates if auto scaling is enabled for the Autonomous Database storage. The default value is false. | bool |
false |
no |
| avm_enable_telemetry | This variable controls whether or not telemetry is enabled for the Azure Verified Modules | bool |
true |
no |
| az_region | The location of the resources on Azure. e.g. useast | string |
n/a | yes |
| backup_retention_period_in_days | Retention period, in days, for backups. | number |
60 |
no |
| character_set | The character set for the autonomous database. The default is AL32UTF8 | string |
"AL32UTF8" |
no |
| compute_count | The compute amount (CPUs) available to the database. Minimum and maximum values depend on the compute model and whether the database is an Autonomous Database Serverless instance or an Autonomous Database on Dedicated Exadata Infrastructure. For an Autonomous Database Serverless instance, the ECPU compute model requires a minimum value of one, for databases in the elastic resource pool and minimum value of two, otherwise. Required when using the computeModel parameter. When using cpuCoreCount parameter, it is an error to specify computeCount to a non-null value. Providing computeModel and computeCount is the preferred method for both OCPU and ECPU. | number |
2 |
no |
| compute_model | The compute model of the Autonomous Database. This is required if using the computeCount parameter. If using cpuCoreCount then it is an error to specify computeModel to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy. | string |
"ECPU" |
no |
| customer_contacts | The email address used by Oracle to send notifications regarding databases and infrastructure. Provide up to 10 unique maintenance contact email addresses. | list(object({ |
[] |
no |
| data_storage_size_in_tbs | The maximum storage that can be allocated for the database, in terabytes. | number |
1 |
no |
| db_version | A valid Oracle Database version for Autonomous Database. | string |
"23ai" |
no |
| db_workload | The Autonomous Database workload type. The following values are valid: OLTP, DW, AJD, APEX | string |
"DW" |
no |
| delegated_subnet_address_prefix | The address prefix of the delegated subnet for Oracle Database @ Azure within the virtual network. e.g. 10.2.1.0/24 | string |
n/a | yes |
| delegated_subnet_name | The name of the delegated subnet. | string |
n/a | yes |
| display_name | The user-friendly name for the Autonomous Database. The name does not have to be unique. | string |
null |
no |
| license_model | The Oracle license model that applies to the Oracle Autonomous Database. Bring your own license (BYOL) allows you to apply your current on-premises Oracle software licenses to equivalent, highly automated Oracle services in the cloud. License Included allows you to subscribe to new Oracle Database software licenses and the Oracle Database service. | string |
"BringYourOwnLicense" |
no |
| local_adg_auto_failover_max_data_loss_limit | Parameter that allows users to select an acceptable maximum data loss limit in seconds, up to which Automatic Failover will be triggered when necessary for a Local Autonomous Data Guard | number |
0 |
no |
| local_dataguard_enabled | Indicates whether the Autonomous Database has local or called in-region Data Guard enabled. | bool |
false |
no |
| mtls_connection_required | Specifies if the Autonomous Database requires mTLS connections. | bool |
false |
no |
| name | The name which should be used for this Autonomous Database. | string |
n/a | yes |
| national_character_set | The national character set for the autonomous database. The default is AL16UTF16. Allowed values are: AL16UTF16 or UTF8. | string |
"AL16UTF16" |
no |
| new_rg | Create new resource group or not | bool |
true |
no |
| open_mode | Indicates the Autonomous Database mode. The database can be opened in READ_ONLY or READ_WRITE mode. | string |
"ReadWrite" |
no |
| permission_level | The Autonomous Database permission level. Restricted mode allows access only by admin users. | string |
"Unrestricted" |
no |
| random_suffix_length | # Mandatory to randomise namaing for resource group, exadata infra and vmcluster | number |
3 |
no |
| resource_group | Resource Group Name | string |
"rg-oradb" |
no |
| tags | resource tags | map(string) |
{ |
no |
| virtual_network_address_space | The address space of the virtual network. e.g. 10.2.0.0/16 | string |
n/a | yes |
| virtual_network_name | The name of the virtual network | string |
n/a | yes |
| whitelisted_ips | The client IP access control list (ACL). This is an array of CIDR notations and/or IP addresses. Values should be separate strings, separated by commas. Example: ['1.1.1.1','1.1.1.0/24','1.1.2.25'] | list(string) |
[] |
no |
No outputs.