Lookup LoadBalancerName when only the LB task name is known

This commit is contained in:
Peter Rifel 2020-10-29 10:46:29 -05:00
parent 7022f2834d
commit 7497edaf7c
No known key found for this signature in database
GPG Key ID: BC6469E5B16DB2B6
2 changed files with 21 additions and 3 deletions

View File

@ -364,7 +364,10 @@ func (b *AutoscalingGroupModelBuilder) buildAutoScalingGroupTask(c *fi.ModelBuil
for _, extLB := range ig.Spec.ExternalLoadBalancers {
if extLB.LoadBalancerName != nil {
t.LoadBalancers = append(t.LoadBalancers, &awstasks.LoadBalancer{Name: extLB.LoadBalancerName})
t.LoadBalancers = append(t.LoadBalancers, &awstasks.LoadBalancer{
Name: extLB.LoadBalancerName,
LoadBalancerName: extLB.LoadBalancerName,
})
c.AddTask(&awstasks.LoadBalancer{
Name: extLB.LoadBalancerName,

View File

@ -117,7 +117,11 @@ func (e *AutoscalingGroup) Find(c *fi.Context) (*AutoscalingGroup, error) {
}
for _, lb := range g.LoadBalancerNames {
actual.LoadBalancers = append(actual.LoadBalancers, &LoadBalancer{Name: aws.String(*lb)})
actual.LoadBalancers = append(actual.LoadBalancers, &LoadBalancer{
Name: aws.String(*lb),
LoadBalancerName: aws.String(*lb),
})
}
for _, tg := range g.TargetGroupARNs {
@ -277,7 +281,18 @@ func (v *AutoscalingGroup) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Autos
}
for _, k := range e.LoadBalancers {
request.LoadBalancerNames = append(request.LoadBalancerNames, k.GetName())
if k.LoadBalancerName == nil {
lbDesc, err := FindLoadBalancerByNameTag(t.Cloud, fi.StringValue(k.GetName()))
if err != nil {
return err
}
if lbDesc == nil {
return fmt.Errorf("could not find load balancer to attach")
}
request.LoadBalancerNames = append(request.LoadBalancerNames, lbDesc.LoadBalancerName)
} else {
request.LoadBalancerNames = append(request.LoadBalancerNames, k.LoadBalancerName)
}
}
for _, tg := range e.TargetGroups {