mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-10-06 18:51:13 +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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if zonalID.Project == "" {
|
if zonalID.Project == "" {
|
||||||
project, err := getProject(d, config)
|
project, err := getProject(d, config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -368,35 +369,15 @@ func getManager(d *schema.ResourceData, meta interface{}) (*computeBeta.Instance
|
|||||||
}
|
}
|
||||||
zonalID.Project = project
|
zonalID.Project = project
|
||||||
}
|
}
|
||||||
|
|
||||||
if zonalID.Zone == "" {
|
if zonalID.Zone == "" {
|
||||||
zonalID.Zone, _ = getZone(d, config)
|
zonalID.Zone, _ = getZone(d, config)
|
||||||
}
|
}
|
||||||
|
|
||||||
getInstanceGroupManager := func(zone string) (interface{}, error) {
|
manager, err := config.clientComputeBeta.InstanceGroupManagers.Get(zonalID.Project, zonalID.Zone, zonalID.Name).Do()
|
||||||
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 {
|
if err != nil {
|
||||||
return nil, handleNotFoundError(err, d, fmt.Sprintf("Instance Group Manager %q", zonalID.Name))
|
return nil, handleNotFoundError(err, d, fmt.Sprintf("Instance Group Manager %q", zonalID.Name))
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if manager == nil {
|
if manager == nil {
|
||||||
log.Printf("[WARN] Removing Instance Group Manager %q because it's gone", d.Get("name").(string))
|
log.Printf("[WARN] Removing Instance Group Manager %q because it's gone", d.Get("name").(string))
|
||||||
|
@ -11,7 +11,6 @@ import (
|
|||||||
"github.com/hashicorp/errwrap"
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/resource"
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
computeBeta "google.golang.org/api/compute/v0.beta"
|
|
||||||
"google.golang.org/api/compute/v1"
|
"google.golang.org/api/compute/v1"
|
||||||
"google.golang.org/api/googleapi"
|
"google.golang.org/api/googleapi"
|
||||||
)
|
)
|
||||||
@ -87,30 +86,6 @@ func getZonalResourceFromRegion(getResource func(string) (interface{}, error), r
|
|||||||
return nil, nil
|
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 {
|
func getRouterLockName(region string, router string) string {
|
||||||
return fmt.Sprintf("router/%s/%s", region, router)
|
return fmt.Sprintf("router/%s/%s", region, router)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user