From 2ee6c9c70b40375875c48428c8a113725fe5adde Mon Sep 17 00:00:00 2001 From: The Magician Date: Thu, 5 Mar 2020 12:08:10 -0800 Subject: [PATCH] network endpoint support long form ids for network endpoint groups (#3224) (#5838) Signed-off-by: Modular Magician --- .changelog/3224.txt | 3 +++ google/resource_compute_network_endpoint.go | 5 ++++- google/resource_compute_network_endpoint_test.go | 6 +++--- 3 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 .changelog/3224.txt diff --git a/.changelog/3224.txt b/.changelog/3224.txt new file mode 100644 index 00000000000..62553ae302e --- /dev/null +++ b/.changelog/3224.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +compute: Added support for full-name/id `network_endpoint_group` value in `google_network_endpoint` +``` diff --git a/google/resource_compute_network_endpoint.go b/google/resource_compute_network_endpoint.go index 843f1a86a8c..c6742ec3c6c 100644 --- a/google/resource_compute_network_endpoint.go +++ b/google/resource_compute_network_endpoint.go @@ -60,7 +60,7 @@ range).`, Type: schema.TypeString, Required: true, ForceNew: true, - DiffSuppressFunc: compareSelfLinkOrResourceName, + DiffSuppressFunc: compareResourceNames, Description: `The network endpoint group this endpoint is part of.`, }, "port": { @@ -332,6 +332,9 @@ func expandComputeNetworkEndpointIpAddress(v interface{}, d TerraformResourceDat } func resourceComputeNetworkEndpointEncoder(d *schema.ResourceData, meta interface{}, obj map[string]interface{}) (map[string]interface{}, error) { + // Network Endpoint Group is a URL parameter only, so replace self-link/path with resource name only. + d.Set("network_endpoint_group", GetResourceNameFromSelfLink(d.Get("network_endpoint_group").(string))) + wrappedReq := map[string]interface{}{ "networkEndpoints": []interface{}{obj}, } diff --git a/google/resource_compute_network_endpoint_test.go b/google/resource_compute_network_endpoint_test.go index 48935856901..ab5e761e011 100644 --- a/google/resource_compute_network_endpoint_test.go +++ b/google/resource_compute_network_endpoint_test.go @@ -81,7 +81,7 @@ func testAccComputeNetworkEndpoint_networkEndpointsBasic(context map[string]inte return Nprintf(` resource "google_compute_network_endpoint" "default" { zone = "us-central1-a" - network_endpoint_group = google_compute_network_endpoint_group.neg.name + network_endpoint_group = google_compute_network_endpoint_group.neg.id instance = google_compute_instance.default.name ip_address = google_compute_instance.default.network_interface[0].network_ip @@ -107,7 +107,7 @@ func testAccComputeNetworkEndpoint_networkEndpointsAdditional(context map[string return Nprintf(` resource "google_compute_network_endpoint" "default" { zone = "us-central1-a" - network_endpoint_group = google_compute_network_endpoint_group.neg.name + network_endpoint_group = google_compute_network_endpoint_group.neg.id instance = google_compute_instance.default.name ip_address = google_compute_instance.default.network_interface[0].network_ip @@ -116,7 +116,7 @@ resource "google_compute_network_endpoint" "default" { resource "google_compute_network_endpoint" "add1" { zone = "us-central1-a" - network_endpoint_group = google_compute_network_endpoint_group.neg.name + network_endpoint_group = google_compute_network_endpoint_group.neg.id instance = google_compute_instance.default.name ip_address = google_compute_instance.default.network_interface[0].network_ip