in pkg/selector/services.go [66:90]
func (sr *ServiceRegistry) ExecuteTransforms(filters Filters) (Filters, error) {
if filters.Service == nil || *filters.Service == "" || *filters.Service == "eks" {
return filters, nil
}
serviceAndVersion := strings.ToLower(*filters.Service)
versionParts := strings.Split(serviceAndVersion, "-")
serviceName := versionParts[0]
version := ""
if len(versionParts) >= 2 {
version = strings.Join(versionParts[1:], "-")
}
service, ok := sr.services[serviceName]
if !ok {
return filters, fmt.Errorf("Service %s is not registered", serviceName)
}
serviceFilters, err := (*service).Filters(version)
if err != nil {
return filters, err
}
if err := mergo.Merge(&filters, serviceFilters); err != nil {
return filters, err
}
return filters, nil
}