From e97fb95b36bbec3992a539c5f5bb8a126a905c84 Mon Sep 17 00:00:00 2001 From: The Magician Date: Mon, 14 Jan 2019 08:58:02 -0800 Subject: [PATCH] Fix next_instance_zone for google_compute_route (#2856) /cc @rileykarson --- google/resource_compute_route.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/google/resource_compute_route.go b/google/resource_compute_route.go index e30c5de3..eae0a98d 100644 --- a/google/resource_compute_route.go +++ b/google/resource_compute_route.go @@ -454,11 +454,18 @@ func expandComputeRouteNextHopGateway(v interface{}, d *schema.ResourceData, con } func expandComputeRouteNextHopInstance(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) { - f, err := parseZonalFieldValue("instances", v.(string), "project", "zone", d, config, true) - if err != nil { - return nil, fmt.Errorf("Invalid value for next_hop_instance: %s", err) + if v == "" { + return v, nil } - return f.RelativeLink(), nil + val, err := parseZonalFieldValue("instances", v.(string), "project", "next_hop_instance_zone", d, config, true) + if err != nil { + return nil, err + } + nextInstance, err := config.clientCompute.Instances.Get(val.Project, val.Zone, val.Name).Do() + if err != nil { + return nil, err + } + return nextInstance.SelfLink, nil } func expandComputeRouteNextHopIp(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {