Skip to content

Commit 0408348

Browse files
Terraform Team AutomationMonica Joshi
authored andcommitted
Added - Support for [DMS] to fix the initial load settings issue
1 parent a5cd0fa commit 0408348

File tree

3 files changed

+65
-16
lines changed

3 files changed

+65
-16
lines changed

examples/databasemigration/migration/migration.tf

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,19 @@ resource "oci_database_migration_migration" "test_oracle_rds_migration" {
296296
namespace = "namespace"
297297
}
298298
}
299+
initial_load_settings {
300+
job_mode = "SCHEMA"
301+
export_directory_object {
302+
name = "name"
303+
path = "/test/test/test/dumpdir"
304+
305+
}
306+
data_pump_parameters {
307+
estimate = "BLOCKS"
308+
is_cluster = "false"
309+
table_exists_action = "TRUNCATE"
310+
}
311+
}
299312
type = "ONLINE"
300313
display_name = "displayName"
301314
}

internal/integrationtest/database_migration_migration_test.go

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ var (
4747
"type": acctest.Representation{RepType: acctest.Required, Create: `ONLINE`, Update: `OFFLINE`},
4848
"advanced_parameters": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationAdvancedParametersRepresentation},
4949
"advisor_settings": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationAdvisorSettingsRepresentation},
50-
"bulk_include_exclude_data": acctest.Representation{RepType: acctest.Optional, Create: `bulkIncludeExcludeData`},
5150
"data_transfer_medium_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationDataTransferMediumDetailsRepresentation},
5251
"description": acctest.Representation{RepType: acctest.Optional, Create: `description`, Update: `description2`},
5352
"display_name": acctest.Representation{RepType: acctest.Required, Create: `displayName`, Update: `displayName2`},
@@ -71,6 +70,20 @@ var (
7170
"include_objects": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationIncludeObjectsRepresentation},
7271
"initial_load_settings": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationInitialLoadSettingsRepresentation},
7372
}
73+
DatabaseMigrationMigrationRepresentationRDS = map[string]interface{}{
74+
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
75+
"database_combination": acctest.Representation{RepType: acctest.Required, Create: `ORACLE`},
76+
"source_database_connection_id": acctest.Representation{RepType: acctest.Required, Create: `${var.source_connection_oracle_rds_id}`},
77+
"target_database_connection_id": acctest.Representation{RepType: acctest.Required, Create: `${var.target_connection_oracle_id}`},
78+
"type": acctest.Representation{RepType: acctest.Required, Create: `ONLINE`, Update: `OFFLINE`},
79+
"advanced_parameters": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationAdvancedParametersRepresentation},
80+
"advisor_settings": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationAdvisorSettingsRepresentation},
81+
"data_transfer_medium_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationDataTransferMediumDetailsRepresentation},
82+
"description": acctest.Representation{RepType: acctest.Optional, Create: `description`, Update: `description2`},
83+
"display_name": acctest.Representation{RepType: acctest.Required, Create: `displayName`, Update: `displayName2`},
84+
"include_objects": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationIncludeObjectsRepresentation},
85+
"initial_load_settings": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationInitialLoadSettingsOracleRepresentation},
86+
}
7487
DatabaseMigrationMigrationAdvancedParametersRepresentation = map[string]interface{}{
7588
"data_type": acctest.Representation{RepType: acctest.Required, Create: `STRING`, Update: `INTEGER`},
7689
"name": acctest.Representation{RepType: acctest.Required, Create: `DATAPUMPSETTINGS_METADATAONLY`, Update: `DATAPUMPSETTINGS_DUMPFILESIZE`},
@@ -83,6 +96,7 @@ var (
8396
DatabaseMigrationMigrationDataTransferMediumDetailsRepresentation = map[string]interface{}{
8497
"type": acctest.Representation{RepType: acctest.Required, Create: `OBJECT_STORAGE`, Update: `OBJECT_STORAGE`},
8598
"object_storage_bucket": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationDataTransferMediumDetailsObjectStorageBucketRepresentation},
99+
"source": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseMigrationMigrationDataTransferMediumDetailsSourceRepresentation},
86100
}
87101
DatabaseMigrationMigrationExcludeObjectsRepresentation = map[string]interface{}{
88102
"object": acctest.Representation{RepType: acctest.Required, Create: `.*`},
@@ -128,7 +142,7 @@ var (
128142
"namespace": acctest.Representation{RepType: acctest.Optional, Create: `namespace`, Update: `namespace2`},
129143
}
130144
DatabaseMigrationMigrationDataTransferMediumDetailsSourceRepresentation = map[string]interface{}{
131-
"kind": acctest.Representation{RepType: acctest.Required, Create: `CURL`, Update: `OCI_CLI`},
145+
"kind": acctest.Representation{RepType: acctest.Required, Create: `OCI_CLI`, Update: `OCI_CLI`},
132146
"oci_home": acctest.Representation{RepType: acctest.Optional, Create: `ociHome`, Update: `ociHome2`},
133147
"wallet_location": acctest.Representation{RepType: acctest.Optional, Create: `walletLocation`, Update: `walletLocation2`},
134148
}
@@ -213,6 +227,9 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
213227
sourceConnectionOracleId := utils.GetEnvSettingWithBlankDefault("source_connection_oracle_id")
214228
sourceConnectionOracleIdVariableStr := fmt.Sprintf("variable \"source_connection_oracle_id\" { default = \"%s\" }\n", sourceConnectionOracleId)
215229

230+
sourceConnectionRDSId := utils.GetEnvSettingWithBlankDefault("source_connection_oracle_rds_id")
231+
sourceConnectionRDSIdVariableStr := fmt.Sprintf("variable \"source_connection_oracle_rds_id\" { default = \"%s\" }\n", sourceConnectionRDSId)
232+
216233
sourceConnectionContainerOracleId := utils.GetEnvSettingWithBlankDefault("source_connection_container_oracle_id")
217234
sourceConnectionContainerOracleIdVariableStr := fmt.Sprintf("variable \"source_connection_container_oracle_id\" { default = \"%s\" }\n", sourceConnectionContainerOracleId)
218235

@@ -228,13 +245,13 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
228245

229246
var resId, resId2 string
230247
// 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.
231-
acctest.SaveConfigContent(config+compartmentIdVariableStr+kmsKeyIdVariableStr+kmsVaultIdVariableStr+sourceConnectionIdVariableStr+targetConnectionIdVariableStr+bucketIdVariableStr+sourceConnectionOracleIdVariableStr+sourceConnectionContainerOracleIdVariableStr+targetConnectionOracleIdVariableStr+
248+
acctest.SaveConfigContent(config+compartmentIdVariableStr+kmsKeyIdVariableStr+kmsVaultIdVariableStr+sourceConnectionIdVariableStr+targetConnectionIdVariableStr+bucketIdVariableStr+sourceConnectionOracleIdVariableStr+sourceConnectionContainerOracleIdVariableStr+targetConnectionOracleIdVariableStr+sourceConnectionRDSIdVariableStr+
232249
acctest.GenerateResourceFromRepresentationMap("oci_database_migration_migration", "test_migration", acctest.Optional, acctest.Create, DatabaseMigrationMigrationRepresentation), "databasemigration", "migration", t)
233250

234251
acctest.ResourceTest(t, testAccCheckDatabaseMigrationMigrationDestroy, []resource.TestStep{
235252
// verify Create
236253
{
237-
Config: config + compartmentIdVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr +
254+
Config: config + compartmentIdVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr + sourceConnectionRDSIdVariableStr +
238255
acctest.GenerateResourceFromRepresentationMap("oci_database_migration_migration", "test_migration", acctest.Required, acctest.Create, DatabaseMigrationMigrationRepresentation),
239256
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
240257
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
@@ -255,7 +272,7 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
255272
},
256273
// verify Create with optionals
257274
{
258-
Config: config + compartmentIdVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr +
275+
Config: config + compartmentIdVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr + sourceConnectionRDSIdVariableStr +
259276
acctest.GenerateResourceFromRepresentationMap("oci_database_migration_migration", "test_migration", acctest.Optional, acctest.Create, DatabaseMigrationMigrationRepresentation),
260277
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
261278
resource.TestCheckResourceAttr(resourceName, "advanced_parameters.#", "1"),
@@ -265,12 +282,14 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
265282
resource.TestCheckResourceAttr(resourceName, "advisor_settings.#", "1"),
266283
resource.TestCheckResourceAttr(resourceName, "advisor_settings.0.is_ignore_errors", "false"),
267284
resource.TestCheckResourceAttr(resourceName, "advisor_settings.0.is_skip_advisor", "false"),
268-
resource.TestCheckResourceAttr(resourceName, "bulk_include_exclude_data", "bulkIncludeExcludeData"),
269285
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
270286
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.#", "1"),
271287
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.object_storage_bucket.#", "1"),
272288
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.object_storage_bucket.0.namespace", "namespace"),
273289
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.type", "OBJECT_STORAGE"),
290+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.kind", "OCI_CLI"),
291+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.oci_home", "ociHome"),
292+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.wallet_location", "walletLocation"),
274293
resource.TestCheckResourceAttr(resourceName, "database_combination", "ORACLE"),
275294
resource.TestCheckResourceAttr(resourceName, "description", "description"),
276295
resource.TestCheckResourceAttr(resourceName, "display_name", "displayName"),
@@ -302,7 +321,7 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
302321

303322
// verify Update to the compartment (the compartment will be switched back in the next step)
304323
{
305-
Config: config + compartmentIdVariableStr + compartmentIdUVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr +
324+
Config: config + compartmentIdVariableStr + compartmentIdUVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr + sourceConnectionRDSIdVariableStr +
306325
acctest.GenerateResourceFromRepresentationMap("oci_database_migration_migration", "test_migration", acctest.Optional, acctest.Create,
307326
acctest.RepresentationCopyWithNewProperties(DatabaseMigrationMigrationRepresentation, map[string]interface{}{
308327
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id_for_update}`},
@@ -315,12 +334,14 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
315334
resource.TestCheckResourceAttr(resourceName, "advisor_settings.#", "1"),
316335
resource.TestCheckResourceAttr(resourceName, "advisor_settings.0.is_ignore_errors", "false"),
317336
resource.TestCheckResourceAttr(resourceName, "advisor_settings.0.is_skip_advisor", "false"),
318-
resource.TestCheckResourceAttr(resourceName, "bulk_include_exclude_data", "bulkIncludeExcludeData"),
319337
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU),
320338
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.#", "1"),
321339
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.object_storage_bucket.#", "1"),
322340
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.object_storage_bucket.0.namespace", "namespace"),
323341
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.type", "OBJECT_STORAGE"),
342+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.kind", "OCI_CLI"),
343+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.oci_home", "ociHome"),
344+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.wallet_location", "walletLocation"),
324345
resource.TestCheckResourceAttr(resourceName, "database_combination", "ORACLE"),
325346
resource.TestCheckResourceAttr(resourceName, "description", "description"),
326347
resource.TestCheckResourceAttr(resourceName, "display_name", "displayName"),
@@ -355,7 +376,7 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
355376

356377
// verify updates to updatable parameters
357378
{
358-
Config: config + compartmentIdVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr +
379+
Config: config + compartmentIdVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr + sourceConnectionRDSIdVariableStr +
359380
acctest.GenerateResourceFromRepresentationMap("oci_database_migration_migration", "test_migration", acctest.Optional, acctest.Update, DatabaseMigrationMigrationRepresentation),
360381
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
361382
resource.TestCheckResourceAttr(resourceName, "advanced_parameters.#", "1"),
@@ -365,12 +386,14 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
365386
resource.TestCheckResourceAttr(resourceName, "advisor_settings.#", "1"),
366387
resource.TestCheckResourceAttr(resourceName, "advisor_settings.0.is_ignore_errors", "true"),
367388
resource.TestCheckResourceAttr(resourceName, "advisor_settings.0.is_skip_advisor", "true"),
368-
resource.TestCheckResourceAttr(resourceName, "bulk_include_exclude_data", "bulkIncludeExcludeData"),
369389
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
370390
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.#", "1"),
371391
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.object_storage_bucket.#", "1"),
372392
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.object_storage_bucket.0.namespace", "namespace2"),
373393
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.type", "OBJECT_STORAGE"),
394+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.kind", "OCI_CLI"),
395+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.oci_home", "ociHome2"),
396+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.wallet_location", "walletLocation2"),
374397
resource.TestCheckResourceAttr(resourceName, "database_combination", "ORACLE"),
375398
resource.TestCheckResourceAttr(resourceName, "description", "description2"),
376399
resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"),
@@ -406,7 +429,7 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
406429
{
407430
Config: config +
408431
acctest.GenerateDataSourceFromRepresentationMap("oci_database_migration_migrations", "test_migrations", acctest.Optional, acctest.Update, DatabaseMigrationMigrationDataSourceRepresentation) +
409-
compartmentIdVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr +
432+
compartmentIdVariableStr + kmsKeyIdVariableStr + kmsVaultIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr + sourceConnectionRDSIdVariableStr +
410433
acctest.GenerateResourceFromRepresentationMap("oci_database_migration_migration", "test_migration", acctest.Optional, acctest.Update, DatabaseMigrationMigrationRepresentation),
411434
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
412435
resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId),
@@ -417,7 +440,7 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
417440
{
418441
Config: config +
419442
acctest.GenerateDataSourceFromRepresentationMap("oci_database_migration_migration", "test_migration", acctest.Required, acctest.Create, DatabaseMigrationMigrationSingularDataSourceRepresentation) +
420-
compartmentIdVariableStr + kmsKeyIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + kmsVaultIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr + DatabaseMigrationMigrationResourceConfig,
443+
compartmentIdVariableStr + kmsKeyIdVariableStr + sourceConnectionIdVariableStr + targetConnectionIdVariableStr + bucketIdVariableStr + kmsVaultIdVariableStr + sourceConnectionOracleIdVariableStr + sourceConnectionContainerOracleIdVariableStr + targetConnectionOracleIdVariableStr + sourceConnectionRDSIdVariableStr + DatabaseMigrationMigrationResourceConfig,
421444
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
422445
resource.TestCheckResourceAttrSet(singularDatasourceName, "migration_id"),
423446

@@ -433,6 +456,9 @@ func TestDatabaseMigrationMigrationResource_basic(t *testing.T) {
433456
resource.TestCheckResourceAttr(singularDatasourceName, "data_transfer_medium_details.0.object_storage_bucket.#", "1"),
434457
resource.TestCheckResourceAttr(singularDatasourceName, "data_transfer_medium_details.0.object_storage_bucket.0.namespace", "namespace2"),
435458
resource.TestCheckResourceAttr(singularDatasourceName, "data_transfer_medium_details.0.type", "OBJECT_STORAGE"),
459+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.kind", "OCI_CLI"),
460+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.oci_home", "ociHome2"),
461+
resource.TestCheckResourceAttr(resourceName, "data_transfer_medium_details.0.source.0.wallet_location", "walletLocation2"),
436462
resource.TestCheckResourceAttr(singularDatasourceName, "database_combination", "ORACLE"),
437463
resource.TestCheckResourceAttr(singularDatasourceName, "description", "description2"),
438464
resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "displayName2"),

0 commit comments

Comments
 (0)