in pkg/deploy/lattice/listener_synthesizer.go [105:148]
func (l *listenerSynthesizer) getLatticeListenersAsModels(ctx context.Context) ([]*model.Listener, error) {
var latticeListenersAsModel []*model.Listener
var modelSvcs []*model.Service
err := l.stack.ListResources(&modelSvcs)
if err != nil {
return latticeListenersAsModel, err
}
// get the listeners for each service
for _, modelSvc := range modelSvcs {
if modelSvc.IsDeleted {
l.log.Debugf(ctx, "Ignoring deleted service %s", modelSvc.LatticeServiceName())
continue
}
listenerSummaries, err := l.listenerMgr.List(ctx, modelSvc.Status.Id)
if err != nil {
l.log.Infof(ctx, "Ignoring error when listing listeners %s", err)
continue
}
for _, latticeListener := range listenerSummaries {
spec := model.ListenerSpec{
StackServiceId: modelSvc.ID(),
Port: aws.Int64Value(latticeListener.Port),
Protocol: aws.StringValue(latticeListener.Protocol),
}
status := model.ListenerStatus{
Name: aws.StringValue(latticeListener.Name),
ListenerArn: aws.StringValue(latticeListener.Arn),
Id: aws.StringValue(latticeListener.Id),
ServiceId: modelSvc.Status.Id,
}
latticeListenersAsModel = append(latticeListenersAsModel, &model.Listener{
Spec: spec,
Status: &status,
})
}
}
return latticeListenersAsModel, nil
}