@@ -320,6 +320,40 @@ var (
320320 "sid_prefix" : acctest.Representation {RepType : acctest .Optional , Create : `myTestDb` },
321321 }
322322
323+ ExaDbXs19cDatabaseRepresentation = map [string ]interface {}{
324+ "database" : acctest.RepresentationGroup {RepType : acctest .Required , Group : ExaDbXs19cDatabaseDatabaseRepresentation },
325+ "db_home_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_db_home.test_db_home.id}` },
326+ "source" : acctest.Representation {RepType : acctest .Required , Create : `NONE` },
327+ "lifecycle" : acctest.RepresentationGroup {RepType : acctest .Required , Group : databaseIgnoreDefinedTagsRepresentation },
328+ }
329+
330+ ExaDbXs19cDatabaseDatabaseRepresentation = map [string ]interface {}{
331+ "admin_password" : acctest.Representation {RepType : acctest .Required , Create : `BEstrO0ng_#11` },
332+ "db_name" : acctest.Representation {RepType : acctest .Required , Create : `XS19C` },
333+ "storage_size_details" : acctest.RepresentationGroup {RepType : acctest .Required , Group : DatabaseDatabaseDatabaseStorageSizeDetailsRepresentation },
334+ }
335+
336+ DatabaseDatabaseDatabaseStorageSizeDetailsRepresentation = map [string ]interface {}{
337+ "data_storage_size_in_gb" : acctest.Representation {RepType : acctest .Required , Create : `60` , Update : `100` },
338+ "reco_storage_size_in_gbs" : acctest.Representation {RepType : acctest .Required , Create : `40` , Update : `50` },
339+ }
340+
341+ ExaDbXs19cDbHomeRepresentationSourceNone = map [string ]interface {}{
342+ "db_system_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.exadb_vm_cluster_id}` },
343+ "db_version" : acctest.Representation {RepType : acctest .Required , Create : `19.0.0.0` },
344+ "source" : acctest.Representation {RepType : acctest .Optional , Create : `NONE` },
345+ "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `DbHome19c` },
346+ }
347+
348+ ExaDbXs19cDatabaseRepresentationDependencies = acctest .GenerateResourceFromRepresentationMap ("oci_database_db_home" , "test_db_home" , acctest .Optional , acctest .Create , ExaDbXs19cDbHomeRepresentationSourceNone ) +
349+ `
350+ variable exadb_vm_cluster_id {}
351+
352+ data "oci_database_exadb_vm_cluster" "test_exadb_vm_cluster" {
353+ exadb_vm_cluster_id = var.exadb_vm_cluster_id
354+ }
355+ `
356+
323357 DatabaseExacsDatabaseRepresentation = map [string ]interface {}{
324358 "database" : acctest.RepresentationGroup {RepType : acctest .Required , Group : databaseDatabaseRepresentation },
325359 "db_home_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_db_home.test_db_home_vm_cluster_no_db.id}` },
@@ -902,6 +936,116 @@ func TestDatabaseDatabaseResource_basic(t *testing.T) {
902936 })
903937}
904938
939+ // issue-routing-tag: database/default
940+ func TestDatabaseDatabaseResource_exadbxs_block_storage (t * testing.T ) {
941+ httpreplay .SetScenario ("TestDatabaseDatabaseResource_exadbxs_block_storage" )
942+ defer httpreplay .SaveScenario ()
943+
944+ config := acctest .ProviderTestConfig ()
945+
946+ compartmentId := utils .GetEnvSettingWithBlankDefault ("compartment_ocid" )
947+ compartmentIdVariableStr := fmt .Sprintf ("variable \" compartment_id\" { default = \" %s\" }\n " , compartmentId )
948+
949+ resourceName := "oci_database_database.test_database"
950+ datasourceName := "data.oci_database_databases.test_databases"
951+ singularDatasourceName := "data.oci_database_database.test_database"
952+
953+ // Save TF content to create resource with optional properties. This has to be exactly the same as the config part in the "create with optionals" step in the test.
954+ acctest .SaveConfigContent (config + compartmentIdVariableStr + ExaDbXs19cDatabaseRepresentationDependencies +
955+ acctest .GenerateResourceFromRepresentationMap ("oci_database_database" , "test_database" , acctest .Optional , acctest .Create , ExaDbXs19cDatabaseRepresentation ), "database" , "database" , t )
956+
957+ acctest .ResourceTest (t , testAccCheckDatabaseDatabaseDestroy , []resource.TestStep {
958+
959+ // verify create a 19c DB
960+ {
961+ Config : config + compartmentIdVariableStr + ExaDbXs19cDatabaseRepresentationDependencies +
962+ acctest .GenerateResourceFromRepresentationMap ("oci_database_database" , "test_database" , acctest .Optional , acctest .Create , ExaDbXs19cDatabaseRepresentation ),
963+
964+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
965+ resource .TestCheckResourceAttrSet (resourceName , "compartment_id" ),
966+ resource .TestCheckResourceAttr (resourceName , "database.#" , "1" ),
967+ resource .TestCheckResourceAttr (resourceName , "database.0.admin_password" , "BEstrO0ng_#11" ),
968+ resource .TestCheckResourceAttr (resourceName , "database.0.db_name" , "XS19C" ),
969+ resource .TestCheckResourceAttr (resourceName , "database.0.storage_size_details.#" , "1" ),
970+ resource .TestCheckResourceAttr (resourceName , "database.0.storage_size_details.0.data_storage_size_in_gb" , "60" ),
971+ resource .TestCheckResourceAttr (resourceName , "database.0.storage_size_details.0.reco_storage_size_in_gbs" , "40" ),
972+ resource .TestCheckResourceAttrSet (resourceName , "db_home_id" ),
973+ resource .TestCheckResourceAttrSet (resourceName , "db_name" ),
974+ // resource.TestCheckResourceAttr(resourceName, "db_version", "19.0.0.0"), // minor version could be different from the input
975+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
976+ resource .TestCheckResourceAttr (resourceName , "source" , "NONE" ),
977+ resource .TestCheckResourceAttrSet (resourceName , "state" ),
978+ ),
979+ },
980+
981+ // verify updates storage details
982+ {
983+ Config : config + compartmentIdVariableStr + ExaDbXs19cDatabaseRepresentationDependencies +
984+ acctest .GenerateResourceFromRepresentationMap ("oci_database_database" , "test_database" , acctest .Optional , acctest .Update , ExaDbXs19cDatabaseRepresentation ),
985+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
986+ resource .TestCheckResourceAttrSet (resourceName , "compartment_id" ),
987+ resource .TestCheckResourceAttr (resourceName , "database.#" , "1" ),
988+ resource .TestCheckResourceAttr (resourceName , "database.0.admin_password" , "BEstrO0ng_#11" ),
989+ resource .TestCheckResourceAttr (resourceName , "database.0.db_name" , "XS19C" ),
990+ resource .TestCheckResourceAttr (resourceName , "database.0.storage_size_details.#" , "1" ),
991+ resource .TestCheckResourceAttr (resourceName , "database.0.storage_size_details.0.data_storage_size_in_gb" , "100" ),
992+ resource .TestCheckResourceAttr (resourceName , "database.0.storage_size_details.0.reco_storage_size_in_gbs" , "50" ),
993+ resource .TestCheckResourceAttrSet (resourceName , "db_home_id" ),
994+ resource .TestCheckResourceAttrSet (resourceName , "db_name" ),
995+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
996+ resource .TestCheckResourceAttr (resourceName , "source" , "NONE" ),
997+ resource .TestCheckResourceAttrSet (resourceName , "state" ),
998+ ),
999+ },
1000+ // verify datasource
1001+ {
1002+ Config : config + compartmentIdVariableStr + ExaDbXs19cDatabaseRepresentationDependencies +
1003+ acctest .GenerateResourceFromRepresentationMap ("oci_database_database" , "test_database" , acctest .Optional , acctest .Update , ExaDbXs19cDatabaseRepresentation ) +
1004+ acctest .GenerateDataSourceFromRepresentationMap ("oci_database_databases" , "test_databases" , acctest .Optional , acctest .Update ,
1005+ acctest .RepresentationCopyWithNewProperties (DatabaseDatabaseDatabaseDataSourceRepresentation , map [string ]interface {}{
1006+ "db_name" : acctest.Representation {RepType : acctest .Optional , Create : `XS19C` },
1007+ })),
1008+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
1009+ resource .TestCheckResourceAttr (datasourceName , "compartment_id" , compartmentId ),
1010+ resource .TestCheckResourceAttrSet (datasourceName , "db_home_id" ),
1011+ resource .TestCheckResourceAttr (datasourceName , "db_name" , "XS19C" ),
1012+ resource .TestCheckResourceAttr (datasourceName , "state" , "AVAILABLE" ),
1013+
1014+ resource .TestCheckResourceAttrSet (datasourceName , "databases.0.compartment_id" ),
1015+ resource .TestCheckResourceAttrSet (datasourceName , "databases.0.db_home_id" ),
1016+ resource .TestCheckResourceAttrSet (datasourceName , "databases.0.db_name" ),
1017+ resource .TestCheckResourceAttrSet (datasourceName , "databases.0.vm_cluster_id" ),
1018+ resource .TestCheckResourceAttrSet (datasourceName , "databases.0.id" ),
1019+ resource .TestCheckResourceAttrSet (datasourceName , "databases.0.state" ),
1020+ resource .TestCheckResourceAttr (datasourceName , "databases.0.storage_size_details.#" , "1" ),
1021+ resource .TestCheckResourceAttr (datasourceName , "databases.0.storage_size_details.0.data_storage_size_in_gb" , "100" ),
1022+ resource .TestCheckResourceAttr (datasourceName , "databases.0.storage_size_details.0.reco_storage_size_in_gbs" , "50" ),
1023+ resource .TestCheckResourceAttrSet (datasourceName , "databases.0.time_created" ),
1024+ ),
1025+ },
1026+ // verify singular datasource
1027+ {
1028+ Config : config + compartmentIdVariableStr + ExaDbXs19cDatabaseRepresentationDependencies +
1029+ acctest .GenerateResourceFromRepresentationMap ("oci_database_database" , "test_database" , acctest .Optional , acctest .Update , ExaDbXs19cDatabaseRepresentation ) +
1030+ acctest .GenerateDataSourceFromRepresentationMap ("oci_database_database" , "test_database" , acctest .Required , acctest .Create , DatabaseDatabaseDatabaseSingularDataSourceRepresentation ),
1031+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
1032+ resource .TestCheckResourceAttrSet (singularDatasourceName , "database_id" ),
1033+
1034+ resource .TestCheckResourceAttrSet (singularDatasourceName , "compartment_id" ),
1035+ resource .TestCheckResourceAttrSet (singularDatasourceName , "db_home_id" ),
1036+ resource .TestCheckResourceAttr (singularDatasourceName , "db_name" , "XS19C" ),
1037+ resource .TestCheckResourceAttrSet (singularDatasourceName , "vm_cluster_id" ),
1038+ resource .TestCheckResourceAttrSet (singularDatasourceName , "id" ),
1039+ resource .TestCheckResourceAttrSet (singularDatasourceName , "state" ),
1040+ resource .TestCheckResourceAttr (singularDatasourceName , "storage_size_details.#" , "1" ),
1041+ resource .TestCheckResourceAttr (singularDatasourceName , "storage_size_details.0.data_storage_size_in_gb" , "100" ),
1042+ resource .TestCheckResourceAttr (singularDatasourceName , "storage_size_details.0.reco_storage_size_in_gbs" , "50" ),
1043+ resource .TestCheckResourceAttrSet (singularDatasourceName , "time_created" ),
1044+ ),
1045+ },
1046+ })
1047+ }
1048+
9051049func TestDatabaseDatabaseResource_update (t * testing.T ) {
9061050 httpreplay .SetScenario ("TestDatabaseDatabaseResource_update" )
9071051 defer httpreplay .SaveScenario ()
0 commit comments