oci_distributed_database_distributed_autonomous_database

This resource provides the Distributed Autonomous Database resource in Oracle Cloud Infrastructure Distributed Database service. Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/latest/DistributedAutonomousDatabase

Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/distributed_database

Creates a Globally distributed autonomous database.

Patch operation to add, remove or update shards to the Globally distributed autonomous database topology. In single patch operation, multiple shards can be either added, or removed or updated. Combination of inserts, update and remove in single operation is not allowed.

Example Usage

resource "oci_distributed_database_distributed_autonomous_database" "test_distributed_autonomous_database" {
	#Required
	catalog_details {
		#Required
		admin_password = var.distributed_autonomous_database_catalog_details_admin_password
		cloud_autonomous_vm_cluster_id = oci_database_cloud_autonomous_vm_cluster.test_cloud_autonomous_vm_cluster.id
		compute_count = var.distributed_autonomous_database_catalog_details_compute_count
		data_storage_size_in_gbs = var.distributed_autonomous_database_catalog_details_data_storage_size_in_gbs
		is_auto_scaling_enabled = var.distributed_autonomous_database_catalog_details_is_auto_scaling_enabled
		source = var.distributed_autonomous_database_catalog_details_source

		#Optional
		kms_key_id = oci_kms_key.test_key.id
		kms_key_version_id = oci_kms_key_version.test_key_version.id
		peer_cloud_autonomous_vm_cluster_ids = var.distributed_autonomous_database_catalog_details_peer_cloud_autonomous_vm_cluster_ids
		peer_details {
			#Required
			cloud_autonomous_vm_cluster_id = oci_database_cloud_autonomous_vm_cluster.test_cloud_autonomous_vm_cluster.id

			#Optional
			fast_start_fail_over_lag_limit_in_seconds = var.distributed_autonomous_database_catalog_details_peer_details_fast_start_fail_over_lag_limit_in_seconds
			is_automatic_failover_enabled = var.distributed_autonomous_database_catalog_details_peer_details_is_automatic_failover_enabled
			protection_mode = var.distributed_autonomous_database_catalog_details_peer_details_protection_mode
			standby_maintenance_buffer_in_days = var.distributed_autonomous_database_catalog_details_peer_details_standby_maintenance_buffer_in_days
		}
		vault_id = oci_kms_vault.test_vault.id
	}
	character_set = var.distributed_autonomous_database_character_set
	compartment_id = var.compartment_id
	database_version = var.distributed_autonomous_database_database_version
	db_deployment_type = var.distributed_autonomous_database_db_deployment_type
	db_workload = var.distributed_autonomous_database_db_workload
	display_name = var.distributed_autonomous_database_display_name
	distributed_autonomous_database_id = var.distributed_autonomous_database_distributed_autonomous_database_id
	listener_port = var.distributed_autonomous_database_listener_port
	ncharacter_set = var.distributed_autonomous_database_ncharacter_set
	ons_port_local = var.distributed_autonomous_database_ons_port_local
	ons_port_remote = var.distributed_autonomous_database_ons_port_remote
	prefix = var.distributed_autonomous_database_prefix
	private_endpoint_ids = var.distributed_autonomous_database_private_endpoint_ids
	shard_details {
		#Required
		admin_password = var.distributed_autonomous_database_shard_details_admin_password
		cloud_autonomous_vm_cluster_id = oci_database_cloud_autonomous_vm_cluster.test_cloud_autonomous_vm_cluster.id
		compute_count = var.distributed_autonomous_database_shard_details_compute_count
		data_storage_size_in_gbs = var.distributed_autonomous_database_shard_details_data_storage_size_in_gbs
		is_auto_scaling_enabled = var.distributed_autonomous_database_shard_details_is_auto_scaling_enabled
		source = var.distributed_autonomous_database_shard_details_source

		#Optional
		kms_key_id = oci_kms_key.test_key.id
		kms_key_version_id = oci_kms_key_version.test_key_version.id
		peer_cloud_autonomous_vm_cluster_ids = var.distributed_autonomous_database_shard_details_peer_cloud_autonomous_vm_cluster_ids
		peer_details {
			#Required
			cloud_autonomous_vm_cluster_id = oci_database_cloud_autonomous_vm_cluster.test_cloud_autonomous_vm_cluster.id

			#Optional
			fast_start_fail_over_lag_limit_in_seconds = var.distributed_autonomous_database_shard_details_peer_details_fast_start_fail_over_lag_limit_in_seconds
			is_automatic_failover_enabled = var.distributed_autonomous_database_shard_details_peer_details_is_automatic_failover_enabled
			protection_mode = var.distributed_autonomous_database_shard_details_peer_details_protection_mode
			standby_maintenance_buffer_in_days = var.distributed_autonomous_database_shard_details_peer_details_standby_maintenance_buffer_in_days
		}
		shard_space = var.distributed_autonomous_database_shard_details_shard_space
		vault_id = oci_kms_vault.test_vault.id
	}
	sharding_method = var.distributed_autonomous_database_sharding_method

	#Optional
	chunks = var.distributed_autonomous_database_chunks
	db_backup_config {

		#Optional
		backup_destination_details {
			#Required
			type = var.distributed_autonomous_database_db_backup_config_backup_destination_details_type

			#Optional
			dbrs_policy_id = oci_identity_policy.test_policy.id
			id = var.distributed_autonomous_database_db_backup_config_backup_destination_details_id
			internet_proxy = var.distributed_autonomous_database_db_backup_config_backup_destination_details_internet_proxy
			is_remote = var.distributed_autonomous_database_db_backup_config_backup_destination_details_is_remote
			remote_region = var.distributed_autonomous_database_db_backup_config_backup_destination_details_remote_region
			vpc_password = var.distributed_autonomous_database_db_backup_config_backup_destination_details_vpc_password
			vpc_user = var.distributed_autonomous_database_db_backup_config_backup_destination_details_vpc_user
		}
		recovery_window_in_days = var.distributed_autonomous_database_db_backup_config_recovery_window_in_days
	}
	defined_tags = {"foo-namespace.bar-key"= "value"}
	freeform_tags = {"bar-key"= "value"}
	listener_port_tls = var.distributed_autonomous_database_listener_port_tls
	patch_operations {
		#Required
		operation = var.distributed_autonomous_database_patch_operations_operation
		selection = var.distributed_autonomous_database_patch_operations_selection

		#Optional
		value = var.distributed_autonomous_database_patch_operations_value
	}
	replication_factor = var.distributed_autonomous_database_replication_factor
	replication_method = var.distributed_autonomous_database_replication_method
	replication_unit = var.distributed_autonomous_database_replication_unit
}

Argument Reference

The following arguments are supported:

** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

Attributes Reference

The following attributes are exported:

Timeouts

The timeouts block allows you to specify timeouts for certain operations: * create - (Defaults to 20 minutes), when creating the Distributed Autonomous Database * update - (Defaults to 20 minutes), when updating the Distributed Autonomous Database * delete - (Defaults to 20 minutes), when destroying the Distributed Autonomous Database

Import

DistributedAutonomousDatabases can be imported using the id, e.g.

$ terraform import oci_distributed_database_distributed_autonomous_database.test_distributed_autonomous_database "id"