func parseScrapePool()

in pkg/operator/endpoint_status_builder.go [144:173]


func parseScrapePool(pool string) (scrapePool, error) {
	split := strings.Split(pool, "/")
	switch split[0] {
	case "kubelet":
		if len(split) != 2 {
			return scrapePool{}, fmt.Errorf("invalid kubelet scrape pool format %q", pool)
		}
		return scrapePool{
			key:   split[0],
			group: split[1],
		}, nil
	case "PodMonitoring":
		if len(split) != 4 {
			return scrapePool{}, fmt.Errorf("invalid PodMonitoring scrape pool format %q", pool)
		}
		return getNamespacedScrapePool(pool, split), nil
	case "ClusterPodMonitoring":
		if len(split) != 3 {
			return scrapePool{}, fmt.Errorf("invalid ClusterPodMonitoring scrape pool format %q", pool)
		}
		return getClusterScopedScrapePool(pool, split), nil
	case "ClusterNodeMonitoring":
		if len(split) != 3 && len(split) != 4 {
			return scrapePool{}, fmt.Errorf("invalid ClusterNodeMonitoring scrape pool format %q", pool)
		}
		return getClusterScopedScrapePool(pool, split), nil
	default:
		return scrapePool{}, fmt.Errorf("unknown scrape kind %q", split[0])
	}
}