@@ -247,6 +247,29 @@ var (
247247 "lifecycle" : acctest.RepresentationGroup {RepType : acctest .Required , Group : databaseIgnoreDefinedTagsRepresentation },
248248 }
249249
250+ DatabaseUpdateToObjectStorageRepresentation = map [string ]interface {}{
251+ "database" : acctest.RepresentationGroup {RepType : acctest .Required , Group : databaseUpdateToObjectStorageRepresentation },
252+ "db_home_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_db_home.test_db_home.id}` },
253+ "source" : acctest.Representation {RepType : acctest .Required , Create : `NONE` },
254+ "db_version" : acctest.Representation {RepType : acctest .Optional , Create : `19.24.0.0` },
255+ "kms_key_id" : acctest.Representation {RepType : acctest .Optional , Create : `${var.kms_key_id}` },
256+ //"kms_key_rotation": acctest.Representation{RepType: acctest.Optional, Update: `1`},
257+ "lifecycle" : acctest.RepresentationGroup {RepType : acctest .Required , Group : databaseIgnoreDefinedTagsRepresentation },
258+ }
259+
260+ databaseUpdateToObjectStorageRepresentation = map [string ]interface {}{
261+ "admin_password" : acctest.Representation {RepType : acctest .Required , Create : `BEstrO0ng_#11` },
262+ "db_name" : acctest.Representation {RepType : acctest .Required , Create : `myTestDb` },
263+ "character_set" : acctest.Representation {RepType : acctest .Optional , Create : `AL32UTF8` },
264+ "db_backup_config" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : databaseUpdateToObjectStorageDbBackupConfigRepresentation },
265+ //"db_unique_name": acctest.Representation{RepType: acctest.Optional, Create: `myTestDb_exacs`}, //It can be auto generated
266+ "db_workload" : acctest.Representation {RepType : acctest .Optional , Create : `OLTP` },
267+ "ncharacter_set" : acctest.Representation {RepType : acctest .Optional , Create : `AL16UTF16` },
268+ "pdb_name" : acctest.Representation {RepType : acctest .Optional , Create : `pdbName` },
269+ "sid_prefix" : acctest.Representation {RepType : acctest .Optional , Create : `myTestDb` },
270+ // "tde_wallet_password": acctest.Representation{RepType: acctest.Optional, Create: `tdeWalletPassword`}, exadata doesn't support it.
271+ }
272+
250273 databaseUpdateRepresentation = map [string ]interface {}{
251274 "admin_password" : acctest.Representation {RepType : acctest .Required , Create : `BEstrO0ng_#11` },
252275 "db_name" : acctest.Representation {RepType : acctest .Required , Create : `myTestDb` },
@@ -512,7 +535,11 @@ var (
512535 }
513536
514537 DatabaseDatabaseDatabaseDbBackupConfigDbrsBackupDestinationDetailsRepresentation = map [string ]interface {}{
515- "type" : acctest.Representation {RepType : acctest .Optional , Create : `AWS_S3` , Update : `OBJECT_STORE` },
538+ "type" : acctest.Representation {RepType : acctest .Optional , Create : `AWS_S3` },
539+ }
540+
541+ DatabaseUpdateToObjectStorageBackupDestinationDetailsRepresentation = map [string ]interface {}{
542+ "type" : acctest.Representation {RepType : acctest .Optional , Update : `OBJECT_STORE` },
516543 }
517544
518545 DbBackupConfigZdlraBackupDestinationDetailsRepresentation = map [string ]interface {}{
@@ -546,6 +573,15 @@ var (
546573 "backup_destination_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : DatabaseDatabaseDatabaseDbBackupConfigDbrsBackupDestinationDetailsRepresentation },
547574 }
548575
576+ databaseUpdateToObjectStorageDbBackupConfigRepresentation = map [string ]interface {}{
577+ "auto_backup_enabled" : acctest.Representation {RepType : acctest .Optional , Create : `true` },
578+ "auto_backup_window" : acctest.Representation {RepType : acctest .Optional , Create : `SLOT_TWO` },
579+ "recovery_window_in_days" : acctest.Representation {RepType : acctest .Optional , Create : `10` },
580+ "run_immediate_full_backup" : acctest.Representation {RepType : acctest .Optional , Create : `false` , Update : `true` },
581+ "backup_deletion_policy" : acctest.Representation {RepType : acctest .Optional , Create : `DELETE_IMMEDIATELY` , Update : `DELETE_AFTER_RETENTION_PERIOD` },
582+ "backup_destination_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : DatabaseUpdateToObjectStorageBackupDestinationDetailsRepresentation },
583+ }
584+
549585 databaseDatabaseDbBackupConfigBackupDestinationDetailsRepresentation = map [string ]interface {}{
550586 "type" : acctest.Representation {RepType : acctest .Required , Create : `NFS` },
551587 "id" : acctest.Representation {RepType : acctest .Optional , Create : `${oci_database_backup_destination.test_backup_destination.id}` },
@@ -920,9 +956,45 @@ func TestDatabaseDatabaseResource_update(t *testing.T) {
920956 },
921957 ),
922958 },
923- {
959+ { //There is no Update in backup_up destination type
924960 Config : config + compartmentIdVariableStr + DatabaseDatabaseResourceDependencies + kmsKeyIdVariableStr + vaultIdVariableStr +
925961 acctest .GenerateResourceFromRepresentationMap ("oci_database_database" , "test_database" , acctest .Optional , acctest .Update , DatabaseUpdateRepresentation ),
962+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
963+ func (s * terraform.State ) error {
964+ resourceData := s .Modules [0 ].Resources [resourceName ].Primary .Attributes
965+ actualID := resourceData ["id" ]
966+ fmt .Printf ("Validating Resource ID: Expected=%s, Got=%s\n " , existingResourceId , actualID )
967+ resource .TestCheckResourceAttr (resourceName , "id" , existingResourceId )
968+ return nil
969+ },
970+ resource .TestCheckResourceAttrSet (resourceName , "compartment_id" ),
971+ resource .TestCheckResourceAttr (resourceName , "database.#" , "1" ),
972+ resource .TestCheckResourceAttr (resourceName , "database.0.character_set" , "AL32UTF8" ),
973+ resource .TestCheckResourceAttr (resourceName , "database.0.db_backup_config.#" , "1" ),
974+ resource .TestCheckResourceAttr (resourceName , "database.0.db_backup_config.0.auto_backup_enabled" , "true" ),
975+ resource .TestCheckResourceAttr (resourceName , "database.0.db_backup_config.0.auto_backup_window" , "SLOT_TWO" ),
976+ resource .TestCheckResourceAttr (resourceName , "database.0.db_backup_config.0.auto_full_backup_day" , "SUNDAY" ),
977+ resource .TestCheckResourceAttr (resourceName , "database.0.db_backup_config.0.recovery_window_in_days" , "10" ),
978+ resource .TestCheckResourceAttr (resourceName , "database.0.db_backup_config.0.run_immediate_full_backup" , "true" ),
979+ resource .TestCheckResourceAttr (resourceName , "database.0.db_backup_config.0.backup_deletion_policy" , "DELETE_AFTER_RETENTION_PERIOD" ),
980+ resource .TestCheckResourceAttr (resourceName , "database.0.db_backup_config.0.backup_destination_details.0.type" , "AWS_S3" ),
981+ resource .TestCheckResourceAttr (resourceName , "database.0.db_name" , "myTestDb" ),
982+ resource .TestCheckResourceAttrSet (resourceName , "database.0.db_unique_name" ),
983+ resource .TestCheckResourceAttr (resourceName , "database.0.db_workload" , "OLTP" ),
984+ resource .TestCheckResourceAttr (resourceName , "database.0.ncharacter_set" , "AL16UTF16" ),
985+ resource .TestCheckResourceAttr (resourceName , "database.0.pdb_name" , "pdbName" ),
986+ resource .TestCheckResourceAttrSet (resourceName , "db_home_id" ),
987+ resource .TestCheckResourceAttrSet (resourceName , "db_name" ),
988+ resource .TestCheckResourceAttrSet (resourceName , "db_unique_name" ),
989+ resource .TestCheckResourceAttr (resourceName , "db_version" , "19.24.0.0" ),
990+ resource .TestCheckResourceAttrSet (resourceName , "kms_key_id" ),
991+ resource .TestCheckResourceAttr (resourceName , "source" , "NONE" ),
992+ resource .TestCheckResourceAttrSet (resourceName , "state" ),
993+ ),
994+ },
995+ {
996+ Config : config + compartmentIdVariableStr + DatabaseDatabaseResourceDependencies + kmsKeyIdVariableStr + vaultIdVariableStr +
997+ acctest .GenerateResourceFromRepresentationMap ("oci_database_database" , "test_database" , acctest .Optional , acctest .Update , DatabaseUpdateToObjectStorageRepresentation ),
926998 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
927999 func (s * terraform.State ) error {
9281000 resourceData := s .Modules [0 ].Resources [resourceName ].Primary .Attributes
0 commit comments