From f9f35bbe4ab93c551daf1742e20a51ebb6e5b107 Mon Sep 17 00:00:00 2001 From: Dana Hoffman Date: Wed, 20 Dec 2017 13:22:48 -0800 Subject: [PATCH] more descriptive error message for health check not found (#883) --- google/resource_compute_target_pool.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/google/resource_compute_target_pool.go b/google/resource_compute_target_pool.go index 5fcf2655..9cef0f88 100644 --- a/google/resource_compute_target_pool.go +++ b/google/resource_compute_target_pool.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform/helper/schema" "google.golang.org/api/compute/v1" + "google.golang.org/api/googleapi" ) var instancesSelfLinkPattern = regexp.MustCompile(fmt.Sprintf(zonalLinkBasePattern, "instances")) @@ -189,6 +190,9 @@ func resourceComputeTargetPoolCreate(d *schema.ResourceData, meta interface{}) e op, err := config.clientCompute.TargetPools.Insert( project, region, tpool).Do() if err != nil { + if gerr, ok := err.(*googleapi.Error); ok && gerr.Code == 404 && strings.Contains(gerr.Message, "httpHealthChecks") { + return fmt.Errorf("Health check %s is not a valid HTTP health check", d.Get("health_checks").([]interface{})[0]) + } return fmt.Errorf("Error creating TargetPool: %s", err) }