Skip to content

Commit 261178b

Browse files
Allow ENTERPRISE_PLUS as default Edition for POSTGRES_16 (#12077) (#8490)
[upstream:385db4524531105c80b9aaf550da05d749de4ce6] Signed-off-by: Modular Magician <[email protected]>
1 parent 5870936 commit 261178b

File tree

3 files changed

+48
-6
lines changed

3 files changed

+48
-6
lines changed

.changelog/12077.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
sql: removed the client-side default of `ENTERPRISE` for `edition` in `google_sql_database_instance` so that `edition` is determined by the API when unset. This will cause new instances to use `ENTERPRISE_PLUS` as the default for POSTGRES_16.
3+
```

google-beta/services/sql/resource_sql_database_instance.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ func ResourceSqlDatabaseInstance() *schema.Resource {
179179
"edition": {
180180
Type: schema.TypeString,
181181
Optional: true,
182-
Default: "ENTERPRISE",
182+
Computed: true,
183183
ValidateFunc: validation.StringInSlice([]string{"ENTERPRISE", "ENTERPRISE_PLUS"}, false),
184184
Description: `The edition of the instance, can be ENTERPRISE or ENTERPRISE_PLUS.`,
185185
},

google-beta/services/sql/resource_sql_database_instance_test.go

+44-5
Original file line numberDiff line numberDiff line change
@@ -1598,6 +1598,32 @@ func TestAccSQLDatabaseInstance_DenyMaintenancePeriod(t *testing.T) {
15981598
})
15991599
}
16001600

1601+
func TestAccSQLDatabaseInstance_DefaultEdition(t *testing.T) {
1602+
t.Parallel()
1603+
databaseName := "tf-test-" + acctest.RandString(t, 10)
1604+
databaseVersion := "POSTGRES_16"
1605+
enterprisePlusTier := "db-perf-optimized-N-2"
1606+
acctest.VcrTest(t, resource.TestCase{
1607+
PreCheck: func() { acctest.AccTestPreCheck(t) },
1608+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
1609+
CheckDestroy: testAccSqlDatabaseInstanceDestroyProducer(t),
1610+
Steps: []resource.TestStep{
1611+
{
1612+
Config: testGoogleSqlDatabaseInstance_DefaultEdition(databaseName, databaseVersion, enterprisePlusTier),
1613+
Check: resource.ComposeAggregateTestCheckFunc(
1614+
resource.TestCheckResourceAttr("google_sql_database_instance.instance", "settings.0.edition", "ENTERPRISE_PLUS"),
1615+
),
1616+
},
1617+
{
1618+
ResourceName: "google_sql_database_instance.instance",
1619+
ImportState: true,
1620+
ImportStateVerify: true,
1621+
ImportStateVerifyIgnore: []string{"deletion_protection"},
1622+
},
1623+
},
1624+
})
1625+
}
1626+
16011627
func TestAccSqlDatabaseInstance_Edition(t *testing.T) {
16021628
t.Parallel()
16031629
enterprisePlusName := "tf-test-enterprise-plus" + acctest.RandString(t, 10)
@@ -1757,7 +1783,7 @@ func TestAccSqlDatabaseInstance_Postgres_Edition_Upgrade(t *testing.T) {
17571783
CheckDestroy: testAccSqlDatabaseInstanceDestroyProducer(t),
17581784
Steps: []resource.TestStep{
17591785
{
1760-
Config: testGoogleSqlDatabaseInstance_EditionConfig_noEdition(editionUpgrade, enterpriseTier),
1786+
Config: testGoogleSqlDatabaseInstance_EditionConfig(editionUpgrade, enterpriseTier, "ENTERPRISE"),
17611787
Check: resource.ComposeAggregateTestCheckFunc(
17621788
resource.TestCheckResourceAttr("google_sql_database_instance.instance", "settings.0.edition", "ENTERPRISE"),
17631789
),
@@ -1807,7 +1833,7 @@ func TestAccSqlDatabaseInstance_Edition_Downgrade(t *testing.T) {
18071833
ImportStateVerifyIgnore: []string{"deletion_protection"},
18081834
},
18091835
{
1810-
Config: testGoogleSqlDatabaseInstance_EditionConfig_noEdition(editionDowngrade, enterpriseTier),
1836+
Config: testGoogleSqlDatabaseInstance_EditionConfig(editionDowngrade, enterpriseTier, "ENTERPRISE"),
18111837
Check: resource.ComposeAggregateTestCheckFunc(
18121838
resource.TestCheckResourceAttr("google_sql_database_instance.instance", "settings.0.edition", "ENTERPRISE"),
18131839
),
@@ -2683,6 +2709,19 @@ resource "google_sql_database_instance" "instance" {
26832709
}`, databaseName, endDate, startDate, time)
26842710
}
26852711

2712+
func testGoogleSqlDatabaseInstance_DefaultEdition(databaseName, databaseVersion, tier string) string {
2713+
return fmt.Sprintf(`
2714+
resource "google_sql_database_instance" "instance" {
2715+
name = "%s"
2716+
region = "us-east1"
2717+
database_version = "%s"
2718+
deletion_protection = false
2719+
settings {
2720+
tier = "%s"
2721+
}
2722+
}`, databaseName, databaseVersion, tier)
2723+
}
2724+
26862725
func testGoogleSqlDatabaseInstance_EditionConfig_noEdition(databaseName, tier string) string {
26872726
return fmt.Sprintf(`
26882727
@@ -2693,9 +2732,6 @@ resource "google_sql_database_instance" "instance" {
26932732
deletion_protection = false
26942733
settings {
26952734
tier = "%s"
2696-
backup_configuration {
2697-
transaction_log_retention_days = 7
2698-
}
26992735
}
27002736
}`, databaseName, tier)
27012737
}
@@ -2711,6 +2747,9 @@ resource "google_sql_database_instance" "instance" {
27112747
settings {
27122748
tier = "%s"
27132749
edition = "%s"
2750+
backup_configuration {
2751+
transaction_log_retention_days = 7
2752+
}
27142753
}
27152754
}`, databaseName, tier, edition)
27162755
}

0 commit comments

Comments
 (0)