Skip to content

Commit 9a5cc3a

Browse files
Fix plan for google_identity_platform_config always showing a change for phone_number.enabled=false and email.enabled=false (#12255) (#20244)
[upstream:c3885741c9b1c21ba3ccd0c4128818891791952f] Signed-off-by: Modular Magician <[email protected]>
1 parent 188a4b8 commit 9a5cc3a

File tree

3 files changed

+98
-34
lines changed

3 files changed

+98
-34
lines changed

.changelog/12255.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note: bug
2+
identityplatform: Fixed perma-diff in `google_identity_platform_config`
3+
```

google/services/identityplatform/resource_identity_platform_config.go

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -840,49 +840,47 @@ func flattenIdentityPlatformConfigSignIn(v interface{}, d *schema.ResourceData,
840840
return []interface{}{transformed}
841841
}
842842
func flattenIdentityPlatformConfigSignInEmail(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
843+
transformed := make(map[string]interface{})
844+
843845
if v == nil {
844-
return nil
845-
}
846-
original := v.(map[string]interface{})
847-
if len(original) == 0 {
848-
return nil
846+
transformed["enabled"] = false
847+
} else {
848+
original := v.(map[string]interface{})
849+
850+
if original["enabled"] == nil {
851+
transformed["enabled"] = false
852+
} else {
853+
transformed["enabled"] = original["enabled"]
854+
}
855+
856+
if original["passwordRequired"] != nil {
857+
transformed["password_required"] = original["passwordRequired"]
858+
}
849859
}
850-
transformed := make(map[string]interface{})
851-
transformed["enabled"] =
852-
flattenIdentityPlatformConfigSignInEmailEnabled(original["enabled"], d, config)
853-
transformed["password_required"] =
854-
flattenIdentityPlatformConfigSignInEmailPasswordRequired(original["passwordRequired"], d, config)
855-
return []interface{}{transformed}
856-
}
857-
func flattenIdentityPlatformConfigSignInEmailEnabled(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
858-
return v
859-
}
860860

861-
func flattenIdentityPlatformConfigSignInEmailPasswordRequired(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
862-
return v
861+
return []interface{}{transformed}
863862
}
864863

865864
func flattenIdentityPlatformConfigSignInPhoneNumber(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
865+
transformed := make(map[string]interface{})
866+
866867
if v == nil {
867-
return nil
868-
}
869-
original := v.(map[string]interface{})
870-
if len(original) == 0 {
871-
return nil
868+
transformed["enabled"] = false
869+
} else {
870+
original := v.(map[string]interface{})
871+
872+
if original["enabled"] == nil {
873+
transformed["enabled"] = false
874+
} else {
875+
transformed["enabled"] = original["enabled"]
876+
}
877+
878+
if original["testPhoneNumbers"] != nil {
879+
transformed["test_phone_numbers"] = original["testPhoneNumbers"]
880+
}
872881
}
873-
transformed := make(map[string]interface{})
874-
transformed["enabled"] =
875-
flattenIdentityPlatformConfigSignInPhoneNumberEnabled(original["enabled"], d, config)
876-
transformed["test_phone_numbers"] =
877-
flattenIdentityPlatformConfigSignInPhoneNumberTestPhoneNumbers(original["testPhoneNumbers"], d, config)
878-
return []interface{}{transformed}
879-
}
880-
func flattenIdentityPlatformConfigSignInPhoneNumberEnabled(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
881-
return v
882-
}
883882

884-
func flattenIdentityPlatformConfigSignInPhoneNumberTestPhoneNumbers(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
885-
return v
883+
return []interface{}{transformed}
886884
}
887885

888886
func flattenIdentityPlatformConfigSignInAnonymous(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {

google/services/identityplatform/resource_identity_platform_config_generated_test.go

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,3 +208,66 @@ resource "google_identity_platform_config" "default" {
208208
}
209209
`, context)
210210
}
211+
212+
func TestAccIdentityPlatformConfig_identityPlatformConfigWithFalseValuesExample(t *testing.T) {
213+
t.Parallel()
214+
215+
context := map[string]interface{}{
216+
"billing_acct": envvar.GetTestBillingAccountFromEnv(t),
217+
"org_id": envvar.GetTestOrgFromEnv(t),
218+
"random_suffix": acctest.RandString(t, 10),
219+
}
220+
221+
acctest.VcrTest(t, resource.TestCase{
222+
PreCheck: func() { acctest.AccTestPreCheck(t) },
223+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
224+
Steps: []resource.TestStep{
225+
{
226+
Config: testAccIdentityPlatformConfig_identityPlatformConfigWithFalseValuesExample(context),
227+
},
228+
{
229+
ResourceName: "google_identity_platform_config.default",
230+
ImportState: true,
231+
ImportStateVerify: true,
232+
ImportStateVerifyIgnore: []string{"client.0.api_key", "client.0.firebase_subdomain"},
233+
},
234+
},
235+
})
236+
}
237+
238+
func testAccIdentityPlatformConfig_identityPlatformConfigWithFalseValuesExample(context map[string]interface{}) string {
239+
return acctest.Nprintf(`
240+
resource "google_project" "default" {
241+
project_id = "tf-test-my-project-2%{random_suffix}"
242+
name = "tf-test-my-project-2%{random_suffix}"
243+
org_id = "%{org_id}"
244+
billing_account = "%{billing_acct}"
245+
deletion_policy = "DELETE"
246+
labels = {
247+
firebase = "enabled"
248+
}
249+
}
250+
251+
resource "google_project_service" "identitytoolkit" {
252+
project = google_project.default.project_id
253+
service = "identitytoolkit.googleapis.com"
254+
}
255+
256+
resource "google_identity_platform_config" "default" {
257+
project = google_project.default.project_id
258+
autodelete_anonymous_users = false
259+
sign_in {
260+
261+
anonymous {
262+
enabled = false
263+
}
264+
email {
265+
enabled = false
266+
}
267+
phone_number {
268+
enabled = false
269+
}
270+
}
271+
}
272+
`, context)
273+
}

0 commit comments

Comments
 (0)