From 0be42521c1e4892c81ee6303cee978a644718784 Mon Sep 17 00:00:00 2001 From: Matt Morrison Date: Sat, 5 Aug 2017 05:24:53 +1200 Subject: [PATCH] Fix error if container_node_pool deleted out of band (#293) Prior to this change it was possible for Terraform to error during plan / apply with the following: Error 404: The resource "node pool \"foo\" not found" --- google/resource_container_node_pool.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/google/resource_container_node_pool.go b/google/resource_container_node_pool.go index 7fd30161..094631de 100644 --- a/google/resource_container_node_pool.go +++ b/google/resource_container_node_pool.go @@ -7,7 +7,6 @@ import ( "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/schema" "google.golang.org/api/container/v1" - "google.golang.org/api/googleapi" ) func resourceContainerNodePool() *schema.Resource { @@ -350,10 +349,8 @@ func resourceContainerNodePoolExists(d *schema.ResourceData, meta interface{}) ( _, err = config.clientContainer.Projects.Zones.Clusters.NodePools.Get( project, zone, cluster, name).Do() if err != nil { - if gerr, ok := err.(*googleapi.Error); ok && gerr.Code == 404 { - log.Printf("[WARN] Removing Container NodePool %q because it's gone", name) - // The resource doesn't exist anymore - return false, err + if err = handleNotFoundError(err, d, fmt.Sprintf("Container NodePool %s", d.Get("name").(string))); err == nil { + return false, nil } // There was some other error in reading the resource return true, err