From fd2ed53f797970305555bbd8c8a5392fe3bda9aa Mon Sep 17 00:00:00 2001 From: ryan-dyer Date: Wed, 20 Mar 2019 09:00:05 -0500 Subject: [PATCH] 2048 - Add cloudLabels as tags to API ELB resource --- pkg/model/awsmodel/api_loadbalancer.go | 2 ++ upup/pkg/fi/cloudup/awstasks/load_balancer.go | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/model/awsmodel/api_loadbalancer.go b/pkg/model/awsmodel/api_loadbalancer.go index f9d398dfe0..4884563543 100644 --- a/pkg/model/awsmodel/api_loadbalancer.go +++ b/pkg/model/awsmodel/api_loadbalancer.go @@ -142,6 +142,8 @@ func (b *APILoadBalancerBuilder) Build(c *fi.ModelBuilderContext) error { ConnectionSettings: &awstasks.LoadBalancerConnectionSettings{ IdleTimeout: fi.Int64(int64(idleTimeout.Seconds())), }, + + Tags: b.Cluster.Spec.CloudLabels, } switch lbSpec.Type { diff --git a/upup/pkg/fi/cloudup/awstasks/load_balancer.go b/upup/pkg/fi/cloudup/awstasks/load_balancer.go index 86489e2910..0fcfe1aac9 100644 --- a/upup/pkg/fi/cloudup/awstasks/load_balancer.go +++ b/upup/pkg/fi/cloudup/awstasks/load_balancer.go @@ -64,6 +64,8 @@ type LoadBalancer struct { ConnectionSettings *LoadBalancerConnectionSettings CrossZoneLoadBalancing *LoadBalancerCrossZoneLoadBalancing SSLCertificateID string + + Tags map[string]string } var _ fi.CompareWithID = &LoadBalancer{} @@ -601,6 +603,10 @@ func (_ *LoadBalancer) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *LoadBalan } } + if err := t.AddELBTags(loadBalancerName, e.Tags); err != nil { + return err + } + if err := t.AddELBTags(loadBalancerName, t.Cloud.BuildTags(e.Name)); err != nil { return err } @@ -749,7 +755,11 @@ func (_ *LoadBalancer) RenderTerraform(t *terraform.TerraformTarget, a, e, chang tf.CrossZoneLoadBalancing = e.CrossZoneLoadBalancing.Enabled } - tf.Tags = cloud.BuildTags(e.Name) + var tags map[string]string = cloud.BuildTags(e.Name) + for k, v := range e.Tags { + tags[k] = v + } + tf.Tags = tags return t.RenderResource("aws_elb", *e.Name, tf) }