From 5fea92fadf94a193020afe77ea635019993ae201 Mon Sep 17 00:00:00 2001 From: The Magician Date: Wed, 12 Dec 2018 09:06:36 -0800 Subject: [PATCH] allow cross-project imports for sql user (#2632) /cc @danawillow --- google/resource_sql_user.go | 16 +++++++++------- website/docs/r/sql_user.html.markdown | 8 ++++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/google/resource_sql_user.go b/google/resource_sql_user.go index bc79aa9b..bbc869e2 100644 --- a/google/resource_sql_user.go +++ b/google/resource_sql_user.go @@ -227,15 +227,17 @@ func resourceSqlUserDelete(d *schema.ResourceData, meta interface{}) error { func resourceSqlUserImporter(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) { parts := strings.Split(d.Id(), "/") - if len(parts) == 2 { - d.Set("instance", parts[0]) - d.Set("name", parts[1]) - } else if len(parts) == 3 { - d.Set("instance", parts[0]) - d.Set("host", parts[1]) + if len(parts) == 3 { + d.Set("project", parts[0]) + d.Set("instance", parts[1]) d.Set("name", parts[2]) + } else if len(parts) == 4 { + d.Set("project", parts[0]) + d.Set("instance", parts[1]) + d.Set("host", parts[2]) + d.Set("name", parts[3]) } else { - return nil, fmt.Errorf("Invalid specifier. Expecting {instance}/{name} for postgres instance and {instance}/{host}/{name} for MySQL instance") + return nil, fmt.Errorf("Invalid specifier. Expecting {project}/{instance}/{name} for postgres instance and {project}/{instance}/{host}/{name} for MySQL instance") } return []*schema.ResourceData{d}, nil diff --git a/website/docs/r/sql_user.html.markdown b/website/docs/r/sql_user.html.markdown index fb4b783d..1628adb8 100644 --- a/website/docs/r/sql_user.html.markdown +++ b/website/docs/r/sql_user.html.markdown @@ -62,14 +62,14 @@ Only the arguments listed above are exposed as attributes. ## Import -SQL users for MySQL databases can be imported using the `instance`, `host` and `name`, e.g. +SQL users for MySQL databases can be imported using the `project`, `instance`, `host` and `name`, e.g. ``` -$ terraform import google_sql_user.users master-instance/my-domain.com/me +$ terraform import google_sql_user.users my-project/master-instance/my-domain.com/me ``` -SQL users for PostgreSQL databases can be imported using the `instance` and `name`, e.g. +SQL users for PostgreSQL databases can be imported using the `project`, `instance` and `name`, e.g. ``` -$ terraform import google_sql_user.users master-instance/me +$ terraform import google_sql_user.users my-project/master-instance/me ```