From cb6908802de67be50420ad1a568d6e5e6b406f4a Mon Sep 17 00:00:00 2001 From: Peter Rifel Date: Wed, 15 Mar 2023 18:45:39 -0500 Subject: [PATCH] Add terraform rendering to GCP HTTP Health Check --- .../fi/cloudup/gcetasks/httphealthcheck.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/upup/pkg/fi/cloudup/gcetasks/httphealthcheck.go b/upup/pkg/fi/cloudup/gcetasks/httphealthcheck.go index af2d473151..897c66b5ab 100644 --- a/upup/pkg/fi/cloudup/gcetasks/httphealthcheck.go +++ b/upup/pkg/fi/cloudup/gcetasks/httphealthcheck.go @@ -23,6 +23,8 @@ import ( "k8s.io/klog/v2" "k8s.io/kops/upup/pkg/fi" "k8s.io/kops/upup/pkg/fi/cloudup/gce" + "k8s.io/kops/upup/pkg/fi/cloudup/terraform" + "k8s.io/kops/upup/pkg/fi/cloudup/terraformWriter" ) // HTTPHealthcheck represents a GCE Healthcheck @@ -93,3 +95,20 @@ func (h *HTTPHealthcheck) RenderGCE(t *gce.GCEAPITarget, a, e, changes *HTTPHeal } return nil } + +type terraformHTTPHealthcheck struct { + Name string `cty:"name"` + Port *int64 `cty:"port"` +} + +func (_ *HTTPHealthcheck) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *HTTPHealthcheck) error { + tf := &terraformHTTPHealthcheck{ + Name: *e.Name, + Port: e.Port, + } + return t.RenderResource("google_compute_http_health_check", *e.Name, tf) +} + +func (e *HTTPHealthcheck) TerraformAddress() *terraformWriter.Literal { + return terraformWriter.LiteralProperty("google_compute_http_health_check", *e.Name, "id") +}