# 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
database_client = oci.database.DatabaseClient(config)


# Send the request to service, some parameters are not required, see API
# doc for more info
create_database_response = database_client.create_database(
    create_new_database_details=oci.database.models.CreateDatabaseFromSnapshot(
        source="DB_SNAPSHOT",
        database=oci.database.models.CreateDatabaseFromSnapshotDetails(
            source_snapshot_id="ocid1.test.oc1..<unique_ID>EXAMPLE-sourceSnapshotId-Value",
            tde_wallet_password="EXAMPLE-tdeWalletPassword-Value",
            admin_password="EXAMPLE-adminPassword-Value",
            db_name="EXAMPLE-dbName-Value",
            is_thin_clone=False,
            source_tde_password="EXAMPLE-sourceTdePassword-Value",
            source_admin_password="EXAMPLE-sourceAdminPassword-Value",
            source_encryption_key_location_details=oci.database.models.GoogleCloudProviderEncryptionKeyDetails(
                provider_type="GCP",
                google_cloud_provider_encryption_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-googleCloudProviderEncryptionKeyId-Value"),
            db_backup_config=oci.database.models.DbBackupConfig(
                auto_backup_enabled=False,
                recovery_window_in_days=23,
                auto_backup_window="SLOT_FOUR",
                auto_full_backup_window="SLOT_NINE",
                auto_full_backup_day="WEDNESDAY",
                run_immediate_full_backup=True,
                backup_destination_details=[
                    oci.database.models.BackupDestinationDetails(
                        type="OBJECT_STORE",
                        id="ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value",
                        vpc_user="EXAMPLE-vpcUser-Value",
                        vpc_password="EXAMPLE-vpcPassword-Value",
                        is_zero_data_loss_enabled=True,
                        internet_proxy="EXAMPLE-internetProxy-Value",
                        dbrs_policy_id="ocid1.test.oc1..<unique_ID>EXAMPLE-dbrsPolicyId-Value",
                        is_retention_lock_enabled=False,
                        backup_retention_policy_on_terminate="RETAIN_FOR_72_HOURS",
                        is_remote=True,
                        remote_region="EXAMPLE-remoteRegion-Value",
                        tde_wallet_backup_destination=oci.database.models.TdeWalletBackupDestination(
                            backup_destination_type="NFS",
                            backup_destination_id="ocid1.test.oc1..<unique_ID>EXAMPLE-backupDestinationId-Value"))],
                backup_deletion_policy="DELETE_IMMEDIATELY"),
            db_unique_name="EXAMPLE-dbUniqueName-Value",
            character_set="EXAMPLE-characterSet-Value",
            ncharacter_set="EXAMPLE-ncharacterSet-Value",
            sid_prefix="EXAMPLE-sidPrefix-Value",
            key_store_id="ocid1.test.oc1..<unique_ID>EXAMPLE-keyStoreId-Value",
            encryption_key_location_details=oci.database.models.AwsEncryptionKeyDetails(
                provider_type="AWS",
                aws_encryption_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-awsEncryptionKeyId-Value",
                aws_encryption_key_pool_id="ocid1.test.oc1..<unique_ID>EXAMPLE-awsEncryptionKeyPoolId-Value"),
            storage_size_details=oci.database.models.DatabaseStorageSizeDetails(
                data_storage_size_in_gbs=333,
                reco_storage_size_in_gbs=912),
            freeform_tags={
                'EXAMPLE_KEY_bhFGa': 'EXAMPLE_VALUE_9ROI1sbo5u5iVCmHL2mO'},
            defined_tags={
                'EXAMPLE_KEY_YkHMm': {
                    'EXAMPLE_KEY_FNCUI': 'EXAMPLE--Value'}},
            data_safe_registration_details=oci.database.models.DataSafeRegistrationRequestDetails(
                action="REGISTER",
                connection_ids=["EXAMPLE--Value"])),
        db_home_id="ocid1.test.oc1..<unique_ID>EXAMPLE-dbHomeId-Value",
        db_version="EXAMPLE-dbVersion-Value",
        kms_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
        kms_key_version_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value"),
    opc_retry_token="EXAMPLE-opcRetryToken-Value",
    opc_request_id="GOEBFCCQ5ZMRTES2WHZP<unique_ID>",
    opc_dry_run=False)

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