in pkg/deploy/lattice/target_group_manager.go [440:456]
func (s *defaultTargetGroupManager) findSvcExportTG(ctx context.Context, svcImportTg model.SvcImportTargetGroup) (string, error) {
tgs, err := s.List(ctx)
if err != nil {
return "", err
}
for _, tg := range tgs {
tgTags := model.TGTagFieldsFromTags(tg.tags)
svcMatch := tgTags.IsSourceTypeServiceExport() && (tgTags.K8SServiceName == svcImportTg.K8SServiceName) &&
(tgTags.K8SServiceNamespace == svcImportTg.K8SServiceNamespace)
clusterMatch := (svcImportTg.K8SClusterName == "") || (tgTags.K8SClusterName == svcImportTg.K8SClusterName)
vpcMatch := (svcImportTg.VpcId == "") || (svcImportTg.VpcId == aws.StringValue(tg.tgSummary.VpcIdentifier))
if svcMatch && clusterMatch && vpcMatch {
return *tg.tgSummary.Id, nil
}
}
return "", errors.New("target group for service import could not be found")
}