VictoriaMetrics/VictoriaMetrics · error

cannot query hcloud api for networks: %w

Error message

cannot query hcloud api for networks: %w

What it means

Raised in getHCloudNetworks when a paginated request to the Hetzner Cloud /v1/networks API fails (GetAPIResponse error). It indicates network/auth/HTTP problems querying hcloud networks; the wrapped error has details.

Source

Thrown at lib/promscrape/discovery/hetzner/hcloud.go:96

		labelName = discoveryutil.SanitizeLabelName("__meta_hetzner_hcloud_label_" + labelKey)
		m.Add(labelName, labelValue)
	}

	ms = append(ms, m)
	return ms
}

// getHCloudNetworks returns hcloud networks obtained from the given cfg
func getHCloudNetworks(cfg *apiConfig) ([]HCloudNetwork, error) {
	// See https://docs.hetzner.cloud/#networks-get-all-networks
	var networks []HCloudNetwork
	page := 1
	for {
		path := fmt.Sprintf("/v1/networks?page=%d", page)
		data, err := cfg.client.GetAPIResponse(path)
		if err != nil {
			return nil, fmt.Errorf("cannot query hcloud api for networks: %w", err)
		}
		networksPage, nextPage, err := parseHCloudNetworksList(data)
		if err != nil {
			return nil, err
		}
		networks = append(networks, networksPage...)
		if nextPage <= page {
			break
		}
		page = nextPage
	}
	return networks, nil
}

func parseHCloudNetworksList(data []byte) ([]HCloudNetwork, int, error) {
	var resp HCloudNetworksList
	if err := json.Unmarshal(data, &resp); err != nil {
		return nil, 0, fmt.Errorf("cannot unmarshal HCloudNetworksList from %q: %w", data, err)

View on GitHub (pinned to 5079fb58f1)

Solutions

  1. Verify the hcloud API token and network reachability
  2. Check rate limits on the Hetzner Cloud API
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at lib/promscrape/discovery/hetzner/hcloud.go:96 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of VictoriaMetrics/VictoriaMetrics@5079fb58f1 (2026-09-03). Data as JSON: /api/errors/f4962125a05ad76e. Report an issue: GitHub.