Skip to content

Commit 7dbcab2

Browse files
google_sql_user: Fixed import where host is an IPv4 CIDR (#11523) (#8028)
[upstream:8eb4d1a9d94f44eb65ba93425eef7be1bd785f95] Signed-off-by: Modular Magician <[email protected]>
1 parent 1fafe33 commit 7dbcab2

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

Diff for: .changelog/11523.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note: bug
2+
sql: fixed importing `google_sql_user` where `host` is an IPv4 CIDR
3+
```

Diff for: google-beta/services/sql/resource_sql_user.go

+13
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,19 @@ func resourceSqlUserImporter(d *schema.ResourceData, meta interface{}) ([]*schem
575575
if err := d.Set("name", parts[3]); err != nil {
576576
return nil, fmt.Errorf("Error setting name: %s", err)
577577
}
578+
} else if len(parts) == 5 {
579+
if err := d.Set("project", parts[0]); err != nil {
580+
return nil, fmt.Errorf("Error setting project: %s", err)
581+
}
582+
if err := d.Set("instance", parts[1]); err != nil {
583+
return nil, fmt.Errorf("Error setting instance: %s", err)
584+
}
585+
if err := d.Set("host", fmt.Sprintf("%s/%s", parts[2], parts[3])); err != nil {
586+
return nil, fmt.Errorf("Error setting host: %s", err)
587+
}
588+
if err := d.Set("name", parts[4]); err != nil {
589+
return nil, fmt.Errorf("Error setting name: %s", err)
590+
}
578591
} else {
579592
return nil, fmt.Errorf("Invalid specifier. Expecting {project}/{instance}/{name} for postgres instance and {project}/{instance}/{host}/{name} for MySQL instance")
580593
}

Diff for: google-beta/services/sql/resource_sql_user_test.go

+15
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func TestAccSqlUser_mysql(t *testing.T) {
3636
Check: resource.ComposeTestCheckFunc(
3737
testAccCheckGoogleSqlUserExists(t, "google_sql_user.user1"),
3838
testAccCheckGoogleSqlUserExists(t, "google_sql_user.user2"),
39+
testAccCheckGoogleSqlUserExists(t, "google_sql_user.user3"),
3940
),
4041
},
4142
{
@@ -45,6 +46,13 @@ func TestAccSqlUser_mysql(t *testing.T) {
4546
ImportStateVerify: true,
4647
ImportStateVerifyIgnore: []string{"password"},
4748
},
49+
{
50+
ResourceName: "google_sql_user.user3",
51+
ImportStateId: fmt.Sprintf("%s/%s/10.0.0.0/24/admin", envvar.GetTestProjectFromEnv(), instance),
52+
ImportState: true,
53+
ImportStateVerify: true,
54+
ImportStateVerifyIgnore: []string{"password"},
55+
},
4856
},
4957
})
5058
}
@@ -343,6 +351,13 @@ resource "google_sql_user" "user2" {
343351
host = "gmail.com"
344352
password = "hunter2"
345353
}
354+
355+
resource "google_sql_user" "user3" {
356+
name = "admin"
357+
instance = google_sql_database_instance.instance.name
358+
host = "10.0.0.0/24"
359+
password = "hunter3"
360+
}
346361
`, instance, password)
347362
}
348363

0 commit comments

Comments
 (0)