mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-10-03 01:01:06 +00:00
Remove inferred region from igm (#2693)
<!-- This change is generated by MagicModules. --> /cc @rileykarson
This commit is contained in:
parent
5b075c1eca
commit
9e9524af70
@ -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 {
|
||||
|
@ -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)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user