func()

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
}