in cmd/lb_create.go [125:181]
func (o lbCreateOperation) execute() {
defaultTargetGroupName := fmt.Sprintf(defaultTargetGroupFormat, o.lbName)
loadBalancerARN, err := o.elbv2.CreateLoadBalancer(
elbv2.CreateLoadBalancerParameters{
Name: o.lbName,
SecurityGroupIDs: o.securityGroupIDs,
SubnetIDs: o.subnetIDs,
Type: o.lbType,
Scheme: o.lbScheme,
},
)
if err != nil {
o.output.Fatal(err, "Could not create load balancer")
return
}
o.output.Debug("Creating target group [Name=%s]", defaultTargetGroupName)
defaultTargetGroupARN, err := o.elbv2.CreateTargetGroup(
elbv2.CreateTargetGroupParameters{
Name: defaultTargetGroupName,
Port: o.ports[0].Number,
Protocol: o.ports[0].Protocol,
VPCID: o.vpcID,
},
)
if err != nil {
o.output.Fatal(err, "Could not create default target group")
return
}
o.output.Debug("Created target group [ARN=%s]", defaultTargetGroupARN)
for _, port := range o.ports {
o.output.Debug("Creating listener [Port=%d Protocol=%s]", port.Number, port.Protocol)
listenerARN, err := o.elbv2.CreateListener(
elbv2.CreateListenerParameters{
CertificateARNs: o.certificateARNs,
DefaultTargetGroupARN: defaultTargetGroupARN,
LoadBalancerARN: loadBalancerARN,
Port: port.Number,
Protocol: port.Protocol,
},
)
if err != nil {
o.output.Fatal(err, "Could not create listener")
return
}
o.output.Debug("Created listener [ARN=%s]", listenerARN)
}
o.output.Info("Created load balancer %s", o.lbName)
}