@@ -106,7 +106,7 @@ var (
106106
107107 DatabaseAutonomousDatabaseBackupRepresentationNew = map [string ]interface {}{
108108 "autonomous_database_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_autonomous_database.test_autonomous_database.id}` },
109- "display_name" : acctest.Representation {RepType : acctest .Required , Create : `LongTerm Backup ` },
109+ "display_name" : acctest.Representation {RepType : acctest .Required , Create : `adbLongTermBackup ` },
110110 "is_long_term_backup" : acctest.Representation {RepType : acctest .Required , Create : `true` },
111111 "retention_period_in_days" : acctest.Representation {RepType : acctest .Required , Create : `90` , Update : `91` },
112112 }
@@ -117,7 +117,12 @@ var (
117117 acctest .RepresentationCopyWithNewProperties (DatabaseAutonomousDatabaseRepresentation , map [string ]interface {}{
118118 "db_name" : acctest.Representation {RepType : acctest .Required , Create : adbBackupSourceName },
119119 }))
120-
120+ AutonomousDatabaseFromBackupDependenciesPartialDedicated = AutonomousDatabaseDedicatedResourceDependencies +
121+ acctest .GenerateResourceFromRepresentationMap ("oci_database_autonomous_database_backup" , "test_autonomous_database_backup" , acctest .Required , acctest .Create , DatabaseAutonomousDatabaseBackupRepresentationNew ) +
122+ acctest .GenerateResourceFromRepresentationMap ("oci_database_autonomous_database" , "test_autonomous_database" , acctest .Optional , acctest .Create ,
123+ acctest .RepresentationCopyWithNewProperties (acctest .RepresentationCopyWithRemovedProperties (autonomousDatabaseDedicatedRepresentation , []string {"in_memory_percentage" }), map [string ]interface {}{
124+ "db_name" : acctest.Representation {RepType : acctest .Required , Create : adbBackupSourceName },
125+ }))
121126 autonomousDatabaseRepresentationForSourceFromBackupId = acctest .RepresentationCopyWithNewProperties (
122127 acctest .GetUpdatedRepresentationCopy ("db_name" , acctest.Representation {RepType : acctest .Required , Create : adbBackupIdName }, DatabaseAutonomousDatabaseRepresentation ),
123128 map [string ]interface {}{
@@ -126,6 +131,24 @@ var (
126131 "autonomous_database_backup_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_autonomous_database_backup.test_autonomous_database_backup.id}` },
127132 })
128133
134+ adbdAutonomousDatabaseRepresentationForPartialClone = acctest .RepresentationCopyWithNewProperties (
135+ acctest .GetUpdatedRepresentationCopy ("db_name" , acctest.Representation {RepType : acctest .Optional , Create : adbBackupIdName },
136+ acctest .RepresentationCopyWithRemovedProperties (autonomousDatabaseDedicatedRepresentation , []string {"in_memory_percentage" , "display_name" })),
137+ map [string ]interface {}{
138+ "display_name" : acctest.Representation {RepType : acctest .Required , Create : adbDedicatedCloneName },
139+ "clone_type" : acctest.Representation {RepType : acctest .Required , Create : `PARTIAL` },
140+ "clone_table_space_list" : acctest.Representation {RepType : acctest .Optional , Create : []string {`1` , `2` , `3` }},
141+ "source" : acctest.Representation {RepType : acctest .Required , Create : `BACKUP_FROM_ID` },
142+ "autonomous_database_backup_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_autonomous_database_backup.test_autonomous_database_backup.id}` },
143+ })
144+ exaccAutonomousDatabaseRepresentationForPartialClone = acctest .RepresentationCopyWithNewProperties (
145+ acctest .GetUpdatedRepresentationCopy ("db_name" , acctest.Representation {RepType : acctest .Required , Create : adbBackupIdName }, autonomousDatabaseExaccRepresentation ),
146+ map [string ]interface {}{
147+ "clone_type" : acctest.Representation {RepType : acctest .Required , Create : `PARTIAL` },
148+ "clone_table_space_list" : acctest.Representation {RepType : acctest .Optional , Create : []string {`1` , `2` , `3` }},
149+ "source" : acctest.Representation {RepType : acctest .Required , Create : `BACKUP_FROM_ID` },
150+ "autonomous_database_backup_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_autonomous_database_backup.test_autonomous_database_backup.id}` },
151+ })
129152 autonomousDatabaseRepresentationForSourceFromBackupTimestamp = acctest .RepresentationCopyWithNewProperties (
130153 acctest .RepresentationCopyWithRemovedProperties (acctest .GetUpdatedRepresentationCopy ("db_name" , acctest.Representation {RepType : acctest .Required , Create : adbBackupTimestampName }, DatabaseAutonomousDatabaseRepresentation ), []string {"kms_key_id" , "vault_id" }),
131154 map [string ]interface {}{
@@ -344,6 +367,22 @@ var (
344367
345368 ExaccADBDatabaseResourceDependencies = ExaccACDResourceConfig
346369
370+ ExaccAutonomousDatabaseResourceFromBackupDependencies = ExaccAutonomousDatabaseResourceFromBackupDependenciesWithoutBkp +
371+ acctest .GenerateResourceFromRepresentationMap ("oci_database_autonomous_database_backup" , "test_autonomous_database_backup" , acctest .Optional , acctest .Create ,
372+ acctest .RepresentationCopyWithNewProperties (DatabaseExaccAutonomousDatabaseBackupRepresentationForLongTermBackup , map [string ]interface {}{
373+ "lifecycle" : acctest.RepresentationGroup {
374+ Group : map [string ]interface {}{
375+ "prevent_destroy" : acctest.Representation {
376+ Create : `false` },
377+ },
378+ },
379+ }))
380+ ExaccAutonomousDatabaseResourceFromBackupDependenciesWithoutBkp = ExaccACDResourceConfig +
381+ acctest .GenerateResourceFromRepresentationMap ("oci_database_autonomous_database" , "test_autonomous_database" , acctest .Optional , acctest .Create ,
382+ acctest .RepresentationCopyWithNewProperties (autonomousDatabaseExaccRepresentation , map [string ]interface {}{
383+ "db_name" : acctest.Representation {RepType : acctest .Required , Create : adbBackupSourceName },
384+ }))
385+
347386 ExaccKeyResourceDependencyConfigDbaas = tfStaticCompartmentIdVariableStr + `
348387 data "oci_kms_keys" "test_keys_dependency" {
349388 #Required
@@ -1432,6 +1471,48 @@ func TestResourceDatabaseAutonomousDatabaseResource_dataSafeStatus(t *testing.T)
14321471 },
14331472 })
14341473}
1474+ func TestAutonomousDatabaseDedicatedResourceCreateFromBackupAsPartialClone (t * testing.T ) {
1475+ httpreplay .SetScenario ("TestAutonomousDatabaseResourceCreateFromBackupAsPartialClone" )
1476+ defer httpreplay .SaveScenario ()
1477+
1478+ config := acctest .ProviderTestConfig ()
1479+
1480+ compartmentId := utils .GetEnvSettingWithBlankDefault ("compartment_ocid" )
1481+ compartmentIdVariableStr := fmt .Sprintf ("variable \" compartment_id\" { default = \" %s\" }\n " , compartmentId )
1482+
1483+ resourceName := "oci_database_autonomous_database.test_autonomous_database_from_backupid"
1484+
1485+ acctest .ResourceTest (t , testAccCheckDatabaseAutonomousDatabaseDestroy , []resource.TestStep {
1486+ //0. Create dependencies
1487+ {
1488+ Config : config + compartmentIdVariableStr + AutonomousDatabaseFromBackupDependenciesPartialDedicated ,
1489+ },
1490+ //1. verify create
1491+ {
1492+ Config : config + compartmentIdVariableStr + AutonomousDatabaseFromBackupDependenciesPartialDedicated +
1493+ acctest .GenerateResourceFromRepresentationMap ("oci_database_autonomous_database" , "test_autonomous_database_from_backupid" , acctest .Optional , acctest .Create , adbdAutonomousDatabaseRepresentationForPartialClone ),
1494+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
1495+ resource .TestCheckResourceAttr (resourceName , "clone_type" , "PARTIAL" ),
1496+ resource .TestCheckResourceAttr (resourceName , "admin_password" , "BEstrO0ng_#11" ),
1497+ resource .TestCheckResourceAttr (resourceName , "compartment_id" , compartmentId ),
1498+ //resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "1"),
1499+ resource .TestCheckResourceAttr (resourceName , "clone_table_space_list.#" , "3" ),
1500+ resource .TestCheckResourceAttr (resourceName , "data_storage_size_in_tbs" , "1" ),
1501+ resource .TestCheckResourceAttrSet (resourceName , "db_name" ),
1502+ resource .TestCheckResourceAttr (resourceName , "display_name" , adbDedicatedCloneName ),
1503+
1504+ func (s * terraform.State ) (err error ) {
1505+ resId , err := acctest .FromInstanceState (s , resourceName , "id" )
1506+ sourceresId , err := acctest .FromInstanceState (s , "oci_database_autonomous_database.test_autonomous_database" , "id" )
1507+ if resId == sourceresId {
1508+ return fmt .Errorf ("resource not created when it was supposed to be created" )
1509+ }
1510+ return err
1511+ },
1512+ ),
1513+ },
1514+ })
1515+ }
14351516
14361517// issue-routing-tag: database/dbaas-adb
14371518func TestResourceDatabaseAutonomousDatabaseResource_FromBackupId (t * testing.T ) {
@@ -2508,6 +2589,61 @@ func TestResourceDatabaseExaccAutonomousDatabaseResource(t *testing.T) {
25082589 })
25092590}
25102591
2592+ func TestAutonomousDatabaseExaccResourceCreateFromBackupAsPartialClone (t * testing.T ) {
2593+ shouldSkipEXACCtest := utils .GetEnvSettingWithDefault ("TF_VAR_should_skip_exacc_test" , "false" )
2594+
2595+ if shouldSkipEXACCtest == "true" {
2596+ t .Skip ("Skipping TestAutonomousDatabaseExaccResourceCreateFromBackupAsPartialClone test.\n " + "Current TF_VAR_should_skip_exacc_test=" + shouldSkipEXACCtest )
2597+ }
2598+
2599+ httpreplay .SetScenario ("TestAutonomousDatabaseExaccResourceCreateFromBackupAsPartialClone" )
2600+ defer httpreplay .SaveScenario ()
2601+
2602+ config := acctest .ProviderTestConfig ()
2603+ compartmentId := utils .GetEnvSettingWithBlankDefault ("compartment_ocid" )
2604+ compartmentIdVariableStr := fmt .Sprintf ("variable \" compartment_id\" { default = \" %s\" }\n " , compartmentId )
2605+
2606+ resourceName := "oci_database_autonomous_database.autonomous_database_partial_clone"
2607+
2608+ var resId string
2609+
2610+ acctest .ResourceTest (t , testAccCheckDatabaseAutonomousDatabaseDestroy , []resource.TestStep {
2611+ // verify create partial clone
2612+ {
2613+ Config : config + compartmentIdVariableStr + ExaccAutonomousDatabaseResourceFromBackupDependencies +
2614+ acctest .GenerateResourceFromRepresentationMap ("oci_database_autonomous_database" , "autonomous_database_partial_clone" , acctest .Optional , acctest .Create , acctest .RepresentationCopyWithNewProperties (exaccAutonomousDatabaseRepresentationForPartialClone , map [string ]interface {}{
2615+ "display_name" : acctest.Representation {RepType : acctest .Optional , Create : adbCloneExaccName },
2616+ })),
2617+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
2618+ resource .TestCheckResourceAttr (resourceName , "admin_password" , "BEstrO0ng_#11" ),
2619+ resource .TestCheckResourceAttr (resourceName , "compartment_id" , compartmentId ),
2620+ resource .TestCheckResourceAttr (resourceName , "cpu_core_count" , "1" ),
2621+ resource .TestCheckResourceAttr (resourceName , "clone_table_space_list.#" , "3" ),
2622+ resource .TestCheckResourceAttr (resourceName , "data_storage_size_in_tbs" , "1" ),
2623+ resource .TestCheckResourceAttr (resourceName , "db_name" , adbBackupIdName ),
2624+ resource .TestCheckResourceAttrSet (resourceName , "db_version" ),
2625+ resource .TestCheckResourceAttr (resourceName , "db_workload" , "OLTP" ),
2626+ resource .TestCheckResourceAttr (resourceName , "display_name" , adbCloneExaccName ),
2627+ resource .TestCheckResourceAttr (resourceName , "freeform_tags.%" , "1" ),
2628+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
2629+ resource .TestCheckResourceAttr (resourceName , "is_auto_scaling_enabled" , "false" ),
2630+ resource .TestCheckResourceAttr (resourceName , "is_dedicated" , "true" ),
2631+ resource .TestCheckResourceAttrSet (resourceName , "state" ),
2632+ resource .TestCheckResourceAttrSet (resourceName , "memory_per_oracle_compute_unit_in_gbs" ),
2633+ func (s * terraform.State ) (err error ) {
2634+ resId , err = acctest .FromInstanceState (s , resourceName , "id" )
2635+ if isEnableExportCompartment , _ := strconv .ParseBool (utils .GetEnvSettingWithDefault ("enable_export_compartment" , "false" )); isEnableExportCompartment {
2636+ if errExport := resourcediscovery .TestExportCompartmentWithResourceName (& resId , & compartmentId , resourceName ); errExport != nil {
2637+ return errExport
2638+ }
2639+ }
2640+ return err
2641+ },
2642+ ),
2643+ },
2644+ })
2645+ }
2646+
25112647func ListAutonomousDatabasesWaitCondition (response oci_common.OCIOperationResponse ) bool {
25122648 if listListAutonomousDatabasesResponse , ok := response .Response .(oci_database.ListAutonomousDatabasesResponse ); ok {
25132649 if len (listListAutonomousDatabasesResponse .Items ) > 0 {
0 commit comments