From 70621b8b61b7cd335e5ae2fac9c14b5f29fafddc Mon Sep 17 00:00:00 2001 From: Modular Magician Date: Wed, 16 Nov 2022 23:19:17 +0000 Subject: [PATCH] connectorEnforcement field added along with modified test (#6667) Signed-off-by: Modular Magician --- .changelog/6667.txt | 3 +++ google/resource_sql_database_instance.go | 9 +++++++++ google/resource_sql_database_instance_test.go | 5 +++++ website/docs/r/sql_database_instance.html.markdown | 2 ++ 4 files changed, 19 insertions(+) create mode 100644 .changelog/6667.txt diff --git a/.changelog/6667.txt b/.changelog/6667.txt new file mode 100644 index 00000000000..c5bfcaa0647 --- /dev/null +++ b/.changelog/6667.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +cloudsql: added `connector_enforcement` field to `google_sql_database_instance` resource +``` diff --git a/google/resource_sql_database_instance.go b/google/resource_sql_database_instance.go index f8bbb9fd8bd..577419e72c6 100644 --- a/google/resource_sql_database_instance.go +++ b/google/resource_sql_database_instance.go @@ -521,6 +521,13 @@ is set to true. Defaults to ZONAL.`, }, }, }, + "connector_enforcement": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ValidateFunc: validation.StringInSlice([]string{"NOT_REQUIRED", "REQUIRED"}, false), + Description: `Specifies if connections must use Cloud SQL connectors.`, + }, }, }, Description: `The settings to use for the database. The configuration is detailed below.`, @@ -1062,6 +1069,7 @@ func expandSqlDatabaseInstanceSettings(configured []interface{}) *sqladmin.Setti SqlServerAuditConfig: expandSqlServerAuditConfig(_settings["sql_server_audit_config"].([]interface{})), TimeZone: _settings["time_zone"].(string), AvailabilityType: _settings["availability_type"].(string), + ConnectorEnforcement: _settings["connector_enforcement"].(string), Collation: _settings["collation"].(string), DataDiskSizeGb: int64(_settings["disk_size"].(int)), DataDiskType: _settings["disk_type"].(string), @@ -1576,6 +1584,7 @@ func flattenSettings(settings *sqladmin.Settings) []map[string]interface{} { "activation_policy": settings.ActivationPolicy, "availability_type": settings.AvailabilityType, "collation": settings.Collation, + "connector_enforcement": settings.ConnectorEnforcement, "disk_type": settings.DataDiskType, "disk_size": settings.DataDiskSizeGb, "pricing_plan": settings.PricingPlan, diff --git a/google/resource_sql_database_instance_test.go b/google/resource_sql_database_instance_test.go index 18d915b5924..ee47d96b69c 100644 --- a/google/resource_sql_database_instance_test.go +++ b/google/resource_sql_database_instance_test.go @@ -798,6 +798,8 @@ func TestAccSqlDatabaseInstance_withPrivateNetwork_withoutAllocatedIpRange(t *te } func TestAccSqlDatabaseInstance_withPrivateNetwork_withAllocatedIpRange(t *testing.T) { + // Service Networking + skipIfVcr(t) t.Parallel() databaseName := "tf-test-" + randString(t, 10) @@ -1233,6 +1235,8 @@ func TestAccSqlDatabaseInstance_ActiveDirectory(t *testing.T) { } func TestAccSqlDatabaseInstance_SqlServerAuditConfig(t *testing.T) { + // Service Networking + skipIfVcr(t) t.Parallel() databaseName := "tf-test-" + randString(t, 10) rootPassword := randString(t, 15) @@ -1887,6 +1891,7 @@ resource "google_sql_database_instance" "instance" { } activation_policy = "ALWAYS" + connector_enforcement = "REQUIRED" } } ` diff --git a/website/docs/r/sql_database_instance.html.markdown b/website/docs/r/sql_database_instance.html.markdown index 05eb067b73b..084250bcf41 100644 --- a/website/docs/r/sql_database_instance.html.markdown +++ b/website/docs/r/sql_database_instance.html.markdown @@ -238,6 +238,8 @@ The `settings` block supports: * `collation` - (Optional) The name of server instance collation. +* `connector_enforcement` - (Optional) Specifies if connections must use Cloud SQL connectors. + * `disk_autoresize` - (Optional) Enables auto-resizing of the storage size. Defaults to `true`. * `disk_autoresize_limit` - (Optional) The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.