providers/google: make projects importable.

This change doesn't make much sense now, as projects are read-only
anyways, so there's not a lot that importing really does for you--you
can already reference pre-existing projects just by defining them in
your config.

But as we discussed #10425, this change made more and more sense. In a
world where projects can be created, we can no longer reference
pre-existing projects just by defining them in config. We get that
ability back by making projects importable.
This commit is contained in:
Paddy 2016-12-01 10:38:27 -08:00
parent 973a46c5df
commit 7054fdfa13
3 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,29 @@
package google
import (
"fmt"
"testing"
"github.com/hashicorp/terraform/helper/resource"
)
func TestAccGoogleProject_importBasic(t *testing.T) {
resourceName := "google_project.acceptance"
conf := fmt.Sprintf(testAccGoogleProject_basic, projectId)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
Steps: []resource.TestStep{
resource.TestStep{
Config: conf,
},
resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
}

View File

@ -29,6 +29,9 @@ func resourceGoogleProject() *schema.Resource {
Read: resourceGoogleProjectRead, Read: resourceGoogleProjectRead,
Update: resourceGoogleProjectUpdate, Update: resourceGoogleProjectUpdate,
Delete: resourceGoogleProjectDelete, Delete: resourceGoogleProjectDelete,
Importer: &schema.ResourceImporter{
State: schema.ImportStatePassthrough,
},
Schema: map[string]*schema.Schema{ Schema: map[string]*schema.Schema{
"id": &schema.Schema{ "id": &schema.Schema{

View File

@ -135,6 +135,7 @@ To make a resource importable, please see the
* google_compute_instance_group_manager * google_compute_instance_group_manager
* google_compute_instance_template * google_compute_instance_template
* google_compute_target_pool * google_compute_target_pool
* google_project
### OpenStack ### OpenStack