in pkg/aws/cloudmap.go [92:116]
func (c *CloudMapClient) getServices(selectedNamespaces []string, sdNamespaces map[string]string) ([]*servicediscovery.ServiceSummary, error) {
sdServices := make([]*servicediscovery.ServiceSummary, 0)
for _, name := range selectedNamespaces {
if id, present := sdNamespaces[name]; present {
fmt.Printf("Discovering scraping targets in the namespace '%s'\n", name)
filterType := aws.String("NAMESPACE_ID")
filterCondition := aws.String("EQ")
filterValues := []*string{&id}
serviceFilter := servicediscovery.ServiceFilter{
Name: filterType,
Values: filterValues,
Condition: filterCondition}
listServiceOutput, err := c.service.ListServices(&servicediscovery.ListServicesInput{Filters: []*servicediscovery.ServiceFilter{&serviceFilter}})
if err != nil {
log.Println(err)
return nil, err
}
for _, serviceSummary := range listServiceOutput.Services {
sdServices = append(sdServices, serviceSummary)
}
}
}
fmt.Printf("No.of services discovered for scraping = %d\n", len(sdServices))
return sdServices, nil
}