diff --git a/google/resource_compute_instance_group_manager.go b/google/resource_compute_instance_group_manager.go index abaadc08..98f0ff65 100644 --- a/google/resource_compute_instance_group_manager.go +++ b/google/resource_compute_instance_group_manager.go @@ -361,6 +361,7 @@ func getManager(d *schema.ResourceData, meta interface{}) (*computeBeta.Instance if err != nil { return nil, err } + if zonalID.Project == "" { project, err := getProject(d, config) if err != nil { @@ -368,34 +369,14 @@ func getManager(d *schema.ResourceData, meta interface{}) (*computeBeta.Instance } zonalID.Project = project } + if zonalID.Zone == "" { zonalID.Zone, _ = getZone(d, config) } - getInstanceGroupManager := func(zone string) (interface{}, error) { - return config.clientComputeBeta.InstanceGroupManagers.Get(zonalID.Project, zone, zonalID.Name).Do() - } - - var manager *computeBeta.InstanceGroupManager - if zonalID.Zone == "" { - // If the resource was imported, the only info we have is the ID. Try to find the resource - // by searching in the region of the project. - region, err := getRegion(d, config) - if err != nil { - return nil, err - } - resource, err := getZonalBetaResourceFromRegion(getInstanceGroupManager, region, config.clientComputeBeta, zonalID.Project) - if err != nil { - return nil, err - } - if resource != nil { - manager = resource.(*computeBeta.InstanceGroupManager) - } - } else { - manager, err = config.clientComputeBeta.InstanceGroupManagers.Get(zonalID.Project, zonalID.Zone, zonalID.Name).Do() - if err != nil { - return nil, handleNotFoundError(err, d, fmt.Sprintf("Instance Group Manager %q", zonalID.Name)) - } + manager, err := config.clientComputeBeta.InstanceGroupManagers.Get(zonalID.Project, zonalID.Zone, zonalID.Name).Do() + if err != nil { + return nil, handleNotFoundError(err, d, fmt.Sprintf("Instance Group Manager %q", zonalID.Name)) } if manager == nil { diff --git a/google/utils.go b/google/utils.go index 31982f9f..85566f4e 100644 --- a/google/utils.go +++ b/google/utils.go @@ -11,7 +11,6 @@ import ( "github.com/hashicorp/errwrap" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/schema" - computeBeta "google.golang.org/api/compute/v0.beta" "google.golang.org/api/compute/v1" "google.golang.org/api/googleapi" ) @@ -87,30 +86,6 @@ func getZonalResourceFromRegion(getResource func(string) (interface{}, error), r return nil, nil } -func getZonalBetaResourceFromRegion(getResource func(string) (interface{}, error), region string, compute *computeBeta.Service, project string) (interface{}, error) { - zoneList, err := compute.Zones.List(project).Do() - if err != nil { - return nil, err - } - var resource interface{} - for _, zone := range zoneList.Items { - if strings.Contains(zone.Name, region) { - resource, err = getResource(zone.Name) - if err != nil { - if gerr, ok := err.(*googleapi.Error); ok && gerr.Code == 404 { - // Resource was not found in this zone - continue - } - return nil, fmt.Errorf("Error reading Resource: %s", err) - } - // Resource was found - return resource, nil - } - } - // Resource does not exist in this region - return nil, nil -} - func getRouterLockName(region string, router string) string { return fmt.Sprintf("router/%s/%s", region, router) }