# This is an automatically generated code sample.
# To make this code sample work in your Oracle Cloud tenancy,
# please replace the values for any parameters whose current values do not fit
# your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
# boolean, number, and enum parameters with values not fitting your use case).

import oci

# Create a default config using DEFAULT profile in default location
# Refer to
# https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File
# for more info
config = oci.config.from_file()


# Initialize service client with default config file
distributed_database_v26_client = oci.distributed_database_v26.DistributedDbServiceClient(
    config)


# Send the request to service, some parameters are not required, see API
# doc for more info
create_distributed_database_response = distributed_database_v26_client.create_distributed_database(
    create_distributed_database_details=oci.distributed_database_v26.models.CreateDistributedDatabaseDetails(
        compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
        display_name="EXAMPLE-displayName-Value",
        database_version="EXAMPLE-databaseVersion-Value",
        prefix="Au7",
        private_endpoint_ids=["EXAMPLE--Value"],
        character_set="EXAMPLE-characterSet-Value",
        ncharacter_set="EXAMPLE-ncharacterSet-Value",
        listener_port=10945,
        ons_port_local=46108,
        ons_port_remote=39989,
        catalog_details=[
            oci.distributed_database_v26.models.CreateDistributedDatabaseCatalogDetails(
                original_replica=oci.distributed_database_v26.models.CreateDistributedDatabaseCatalogReplicaDetails(
                    name="EXAMPLE-name-Value",
                    database=oci.distributed_database_v26.models.CreateDistributedDatabaseCatalogDatabaseWithExadbXdDetails(
                        source="XD_EXISTING_CLUSTER",
                        vm_cluster_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vmClusterId-Value",
                        admin_password="EXAMPLE-adminPassword-Value",
                        vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
                        kms_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
                        kms_key_version_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value",
                        protection_mode="MAXIMUM_PROTECTION",
                        transport_type="ASYNC")))],
        notification_topic_ids=["EXAMPLE--Value"],
        listener_port_tls=33420,
        scan_listener_port=8443,
        system_chunk_count=160,
        system_raft_replication_unit_count=434,
        composite_raft_shard_spaces=[
            oci.distributed_database_v26.models.CreateCompositeRaftShardSpaceDetails(
                name="EXAMPLE-name-Value",
                chunk_count=933,
                replication_unit_count=180,
                raft_clusters=[
                    oci.distributed_database_v26.models.CreateCompositeShardSpaceRaftClusterDetails(
                        name="EXAMPLE-name-Value",
                        replication_factor=949,
                        witness_count=190,
                        ru_mode="READ_ONLY",
                        databases=[
                            oci.distributed_database_v26.models.CreateDistributedDatabaseShardWithExadbXsNewClusterDetails(
                                source="XS_NEW_CLUSTER",
                                admin_password="EXAMPLE-adminPassword-Value",
                                availability_domain="EXAMPLE-availabilityDomain-Value",
                                exascale_db_storage_vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-exascaleDbStorageVaultId-Value",
                                vm_cluster_details=oci.distributed_database_v26.models.VmClusterDetails(
                                                    compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
                                                    subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
                                                    backup_subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-backupSubnetId-Value",
                                                    enabled_e_cpu_count=23,
                                                    ssh_public_keys=["EXAMPLE--Value"],
                                                    total_e_cpu_count=970,
                                                    vm_file_system_storage_size=320,
                                                    license_model="BRING_YOUR_OWN_LICENSE",
                                                    domain="EXAMPLE-domain-Value",
                                                    private_zone_id="ocid1.test.oc1..<unique_ID>EXAMPLE-privateZoneId-Value",
                                                    is_diagnostics_events_enabled=False,
                                                    is_health_monitoring_enabled=False,
                                                    is_incident_logs_enabled=False,
                                                    nsg_ids=["EXAMPLE--Value"],
                                                    backup_network_nsg_ids=["EXAMPLE--Value"],
                                                    subscription_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subscriptionId-Value"),
                                vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
                                kms_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
                                kms_key_version_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value",
                                protection_mode="MAXIMUM_PERFORMANCE",
                                transport_type="SYNC")])])],
        composite_data_guard_shard_spaces=[
            oci.distributed_database_v26.models.CreateCompositeDataGuardShardSpaceDetails(
                name="EXAMPLE-name-Value",
                chunk_count=368,
                original_replica=oci.distributed_database_v26.models.CreateCompositeDataGuardShardSpaceReplicaDetails(
                    name="EXAMPLE-name-Value",
                    databases=[
                        oci.distributed_database_v26.models.CreateDistributedDatabaseShardDatabaseWithExadbXdDetails(
                            source="XD_EXISTING_CLUSTER",
                            vm_cluster_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vmClusterId-Value",
                            admin_password="EXAMPLE-adminPassword-Value",
                            vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
                            kms_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
                            kms_key_version_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value",
                            protection_mode="MAXIMUM_PROTECTION",
                            transport_type="FASTSYNC")]))],
        system_raft_clusters=[
            oci.distributed_database_v26.models.CreateSystemRaftClusterDetails(
                name="EXAMPLE-name-Value",
                replication_factor=920,
                witness_count=215,
                ru_mode="READ_WRITE",
                databases=[
                    oci.distributed_database_v26.models.CreateDistributedDatabaseShardWithExadbXsNewClusterDetails(
                        source="XS_NEW_CLUSTER",
                        admin_password="EXAMPLE-adminPassword-Value",
                        availability_domain="EXAMPLE-availabilityDomain-Value",
                        exascale_db_storage_vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-exascaleDbStorageVaultId-Value",
                        vm_cluster_details=oci.distributed_database_v26.models.VmClusterDetails(
                            compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
                            subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
                            backup_subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-backupSubnetId-Value",
                            enabled_e_cpu_count=21,
                            ssh_public_keys=["EXAMPLE--Value"],
                            total_e_cpu_count=991,
                            vm_file_system_storage_size=364,
                            license_model="BRING_YOUR_OWN_LICENSE",
                            domain="EXAMPLE-domain-Value",
                            private_zone_id="ocid1.test.oc1..<unique_ID>EXAMPLE-privateZoneId-Value",
                            is_diagnostics_events_enabled=True,
                            is_health_monitoring_enabled=True,
                            is_incident_logs_enabled=False,
                            nsg_ids=["EXAMPLE--Value"],
                            backup_network_nsg_ids=["EXAMPLE--Value"],
                            subscription_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subscriptionId-Value"),
                        vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
                        kms_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
                        kms_key_version_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value",
                        protection_mode="MAXIMUM_PROTECTION",
                        transport_type="SYNC")])],
        system_data_guard_databases=oci.distributed_database_v26.models.CreateSystemDataGuardDatabaseDetails(
            original_replica=oci.distributed_database_v26.models.CreateSystemDataGuardReplicaDetails(
                name="EXAMPLE-name-Value",
                databases=[
                    oci.distributed_database_v26.models.CreateDistributedDatabaseShardDatabaseWithDbHomeDetails(
                        source="EXISTING_DB_HOME",
                        db_home_id="ocid1.test.oc1..<unique_ID>EXAMPLE-dbHomeId-Value",
                        admin_password="EXAMPLE-adminPassword-Value",
                        vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
                        kms_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
                        kms_key_version_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value",
                        protection_mode="MAXIMUM_PROTECTION",
                        transport_type="ASYNC")])),
        user_shard_spaces=[
            oci.distributed_database_v26.models.CreateUserShardSpaceDetails(
                name="EXAMPLE-name-Value",
                original_replica=oci.distributed_database_v26.models.CreateUserShardSpaceReplicaDetails(
                    name="EXAMPLE-name-Value",
                    database=oci.distributed_database_v26.models.CreateDistributedDatabaseShardWithExadbXsNewClusterDetails(
                        source="XS_NEW_CLUSTER",
                        admin_password="EXAMPLE-adminPassword-Value",
                        availability_domain="EXAMPLE-availabilityDomain-Value",
                        exascale_db_storage_vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-exascaleDbStorageVaultId-Value",
                        vm_cluster_details=oci.distributed_database_v26.models.VmClusterDetails(
                            compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
                            subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
                            backup_subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-backupSubnetId-Value",
                            enabled_e_cpu_count=341,
                            ssh_public_keys=["EXAMPLE--Value"],
                            total_e_cpu_count=37,
                            vm_file_system_storage_size=679,
                            license_model="BRING_YOUR_OWN_LICENSE",
                            domain="EXAMPLE-domain-Value",
                            private_zone_id="ocid1.test.oc1..<unique_ID>EXAMPLE-privateZoneId-Value",
                            is_diagnostics_events_enabled=False,
                            is_health_monitoring_enabled=True,
                            is_incident_logs_enabled=False,
                            nsg_ids=["EXAMPLE--Value"],
                            backup_network_nsg_ids=["EXAMPLE--Value"],
                            subscription_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subscriptionId-Value"),
                        vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
                        kms_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
                        kms_key_version_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value",
                        protection_mode="MAXIMUM_AVAILABILITY",
                        transport_type="ASYNC")))],
        gsm_ssh_public_key="EXAMPLE-gsmSshPublicKey-Value",
        db_backup_config=oci.distributed_database_v26.models.DistributedDbBackupConfig(
            is_auto_backup_enabled=True,
            recovery_window_in_days=38,
            auto_backup_window="SLOT_NINE",
            auto_full_backup_window="SLOT_FIVE",
            auto_full_backup_day="FRIDAY",
            can_run_immediate_full_backup=False,
            is_remote_backup_enabled=True,
            remote_region="EXAMPLE-remoteRegion-Value",
            backup_destination_details=[
                oci.distributed_database_v26.models.DistributedDbBackupDestination(
                    type="DBRS",
                    id="ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value",
                    internet_proxy="EXAMPLE-internetProxy-Value",
                    dbrs_policy_id="ocid1.test.oc1..<unique_ID>EXAMPLE-dbrsPolicyId-Value",
                    is_remote=False,
                    remote_region="EXAMPLE-remoteRegion-Value")],
            backup_deletion_policy="DELETE_IMMEDIATELY"),
        vcn_nsg_ids=[
            oci.distributed_database_v26.models.VcnNsgIdsDetails(
                vcn_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vcnId-Value",
                nsg_ids=["EXAMPLE--Value"])],
        freeform_tags={
            'EXAMPLE_KEY_ul2Fv': 'EXAMPLE_VALUE_ZvDlGcNw7cQ28PdPAGcu'},
        defined_tags={
            'EXAMPLE_KEY_7lt3E': {
                'EXAMPLE_KEY_1vJBa': 'EXAMPLE--Value'}}),
    opc_retry_token="EXAMPLE-opcRetryToken-Value",
    opc_request_id="E6GKQCEPVFKVEWXAWVVN<unique_ID>")

# Get the data from response
print(create_distributed_database_response.data)