diff --git a/google/import_google_project_services_test.go b/google/import_google_project_services_test.go new file mode 100644 index 00000000..a6b2ce7d --- /dev/null +++ b/google/import_google_project_services_test.go @@ -0,0 +1,34 @@ +package google + +import ( + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccGoogleProjectServices_importBasic(t *testing.T) { + t.Parallel() + + resourceName := "google_project_services.acceptance" + projectId := "terraform-" + acctest.RandString(10) + services := []string{"iam.googleapis.com", "cloudresourcemanager.googleapis.com", "servicemanagement.googleapis.com"} + + conf := testAccGoogleProjectAssociateServicesBasic(services, projectId, pname, org) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: conf, + }, + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateId: projectId, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/google/resource_google_project_services.go b/google/resource_google_project_services.go index 3a9c6673..27576992 100644 --- a/google/resource_google_project_services.go +++ b/google/resource_google_project_services.go @@ -14,6 +14,9 @@ func resourceGoogleProjectServices() *schema.Resource { Read: resourceGoogleProjectServicesRead, Update: resourceGoogleProjectServicesUpdate, Delete: resourceGoogleProjectServicesDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "project": &schema.Schema{ @@ -71,6 +74,7 @@ func resourceGoogleProjectServicesRead(d *schema.ResourceData, meta interface{}) return err } + d.Set("project", d.Id()) d.Set("services", services) return nil } diff --git a/website/docs/r/google_project_services.html.markdown b/website/docs/r/google_project_services.html.markdown index 895ecd37..868a890e 100644 --- a/website/docs/r/google_project_services.html.markdown +++ b/website/docs/r/google_project_services.html.markdown @@ -34,3 +34,11 @@ The following arguments are supported: * `services` - (Required) The list of services that are enabled. Supports update. + +## Import + +Project services can be imported using the `project_id`, e.g. + +``` +$ terraform import google_project_services.my_project your-project-id +```