@@ -1452,15 +1452,17 @@ func TestAccSqlDatabaseInstance_createFromBackupDR(t *testing.T) {
14521452
14531453 // Bootstrap the BackupDR vault
14541454 backupVaultID := " bv-test"
1455- location := " us-central1"
1455+ vaultLocation := " us-central1"
14561456 project := envvar.GetTestProjectFromEnv ()
1457- backupvault := acctest.BootstrapBackupDRVault (t, backupVaultID, location )
1457+ backupvault := acctest.BootstrapBackupDRVault (t, backupVaultID, vaultLocation )
14581458
14591459 context := map[string]interface{}{
14601460 " random_suffix" : acctest.RandString (t, 10),
14611461 " project" : project,
14621462 " backup_vault_id" : backupVaultID,
14631463 " backup_vault" : backupvault,
1464+ " target_instance_region" : " us-central1" ,
1465+ " vault_location" : vaultLocation,
14641466 }
14651467
14661468 acctest.VcrTest (t, resource.TestCase {
@@ -1571,6 +1573,123 @@ func TestAccSqlDatabaseInstance_BackupDRUpdate(t *testing.T) {
15711573 })
15721574}
15731575
1576+ func TestAccSqlDatabaseInstance_createFromCrossRegionBackupDrBackup(t *testing.T ) {
1577+ t.Parallel ()
1578+
1579+ // Bootstrap the BackupDR vault
1580+ backupVaultID := " bv-test"
1581+ vaultLocation := " us-central1"
1582+ project := envvar.GetTestProjectFromEnv ()
1583+ backupvault := acctest.BootstrapBackupDRVault (t, backupVaultID, vaultLocation)
1584+
1585+ context := map[string]interface{}{
1586+ " random_suffix" : acctest.RandString (t, 10),
1587+ " project" : project,
1588+ " backup_vault_id" : backupVaultID,
1589+ " backup_vault" : backupvault,
1590+ " target_instance_region" : " us-east1" ,
1591+ " vault_location" : vaultLocation,
1592+ }
1593+
1594+ acctest.VcrTest (t, resource.TestCase {
1595+ PreCheck: func() { acctest.AccTestPreCheck (t) },
1596+ ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories (t),
1597+ CheckDestroy: testAccSqlDatabaseInstanceDestroyProducer(t),
1598+ ExternalProviders: map[string]resource.ExternalProvider {
1599+ " time" : {},
1600+ },
1601+ Steps: []resource.TestStep {
1602+ {
1603+ Config: testAccSqlDatabaseInstance_createFromBackupDR(context),
1604+ },
1605+ {
1606+ ResourceName: " google_sql_database_instance.instance" ,
1607+ ImportState: true,
1608+ ImportStateVerify: true,
1609+ ImportStateVerifyIgnore: []string{" deletion_protection" , " backupdr_backup" },
1610+ },
1611+ },
1612+ })
1613+ }
1614+
1615+ func TestAccSqlDatabaseInstance_createFromMultiRegionBackupDrBackup(t *testing.T ) {
1616+ t.Parallel ()
1617+
1618+ // Bootstrap the BackupDR vault
1619+ backupVaultID := " bv-test-mr"
1620+ vaultLocation := " us"
1621+ project := envvar.GetTestProjectFromEnv ()
1622+ backupvault := acctest.BootstrapBackupDRVault (t, backupVaultID, vaultLocation)
1623+
1624+ context := map[string]interface{}{
1625+ " random_suffix" : acctest.RandString (t, 10),
1626+ " project" : project,
1627+ " backup_vault_id" : backupVaultID,
1628+ " backup_vault" : backupvault,
1629+ " target_instance_region" : " us-central1" ,
1630+ " vault_location" : vaultLocation,
1631+ }
1632+
1633+ acctest.VcrTest (t, resource.TestCase {
1634+ PreCheck: func() { acctest.AccTestPreCheck (t) },
1635+ ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories (t),
1636+ CheckDestroy: testAccSqlDatabaseInstanceDestroyProducer(t),
1637+ ExternalProviders: map[string]resource.ExternalProvider {
1638+ " time" : {},
1639+ },
1640+ Steps: []resource.TestStep {
1641+ {
1642+ Config: testAccSqlDatabaseInstance_createFromBackupDR(context),
1643+ },
1644+ {
1645+ ResourceName: " google_sql_database_instance.instance" ,
1646+ ImportState: true,
1647+ ImportStateVerify: true,
1648+ ImportStateVerifyIgnore: []string{" deletion_protection" , " backupdr_backup" },
1649+ },
1650+ },
1651+ })
1652+ }
1653+
1654+ func TestAccSqlDatabaseInstance_createFromMultiRegionBackupDrBackupCrossRegion(t *testing.T ) {
1655+ t.Parallel ()
1656+
1657+ // Bootstrap the BackupDR vault
1658+ backupVaultID := " bv-test-mr"
1659+ vaultLocation := " us"
1660+ project := envvar.GetTestProjectFromEnv ()
1661+ backupvault := acctest.BootstrapBackupDRVault (t, backupVaultID, vaultLocation)
1662+
1663+ context := map[string]interface{}{
1664+ " random_suffix" : acctest.RandString (t, 10),
1665+ " project" : project,
1666+ " backup_vault_id" : backupVaultID,
1667+ " backup_vault" : backupvault,
1668+ " target_instance_region" : " us-east1" ,
1669+ " vault_location" : vaultLocation,
1670+ }
1671+
1672+ acctest.VcrTest (t, resource.TestCase {
1673+ PreCheck: func() { acctest.AccTestPreCheck (t) },
1674+ ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories (t),
1675+ CheckDestroy: testAccSqlDatabaseInstanceDestroyProducer(t),
1676+ ExternalProviders: map[string]resource.ExternalProvider {
1677+ " time" : {},
1678+ },
1679+ Steps: []resource.TestStep {
1680+ {
1681+ Config: testAccSqlDatabaseInstance_createFromBackupDR(context),
1682+ },
1683+ {
1684+ ResourceName: " google_sql_database_instance.instance" ,
1685+ ImportState: true,
1686+ ImportStateVerify: true,
1687+ ImportStateVerifyIgnore: []string{" deletion_protection" , " backupdr_backup" },
1688+ },
1689+ },
1690+ })
1691+ }
1692+
15741693func TestAccSqlDatabaseInstance_basicClone(t *testing.T ) {
15751694 // Sqladmin client
15761695 acctest.SkipIfVcr (t)
@@ -7863,7 +7982,7 @@ resource "time_sleep" "wait_10_mins" {
78637982
78647983data "google_backup_dr_backup" "sql_backups" {
78657984 project = "%{project}"
7866- location = "us-central1 "
7985+ location = "%{vault_location} "
78677986 backup_vault_id = "%{backup_vault_id}"
78687987 data_source_id = element(split("/", google_backup_dr_backup_plan_association.association.data_source), length(split("/", google_backup_dr_backup_plan_association.association.data_source)) - 1)
78697988
@@ -7873,7 +7992,7 @@ data "google_backup_dr_backup" "sql_backups" {
78737992resource "google_sql_database_instance" "instance" {
78747993 name = "tf-test-%{random_suffix}"
78757994 database_version = "MYSQL_8_0_41"
7876- region = "us-central1 "
7995+ region = "%{target_instance_region} "
78777996
78787997 settings {
78797998 tier = "db-g1-small"
0 commit comments