kubernetes/kops · error
invalid google cloud URL (unexpected regions): %q
Error message
invalid google cloud URL (unexpected regions): %q
What it means
Same tokenizer, regions case: 'regions' must be followed by exactly two more tokens (region and resource); if the URL ends right after 'regions/', this guard fires. It protects deleteTargetPool, deleteGCEDisk, etc. from parsing incomplete self-links.
Source
Thrown at upup/pkg/fi/cloudup/gce/gce_url.go:99
}
t := tokens[pos]
switch {
case t == "projects":
pos++
if pos >= len(tokens) {
return nil, fmt.Errorf("invalid google cloud URL (unexpected projects): %q", u)
}
parsed.Project = tokens[pos]
case t == "zones":
pos++
if pos >= len(tokens) {
return nil, fmt.Errorf("invalid google cloud URL (unexpected zones): %q", u)
}
parsed.Zone = tokens[pos]
case t == "regions" && ((pos + 2) < len(tokens)):
pos++
if pos >= len(tokens) {
return nil, fmt.Errorf("invalid google cloud URL (unexpected regions): %q", u)
}
parsed.Region = tokens[pos]
case t == "global":
parsed.Global = true
default:
parsed.Type = tokens[pos]
pos++
if pos >= len(tokens) {
return nil, fmt.Errorf("invalid google cloud URL (no name): %q", u)
}
parsed.Name = tokens[pos]
pos++
if pos != len(tokens) {
return nil, fmt.Errorf("invalid google cloud URL (content after name): %q", u)
} else {
return parsed, nil
}
}View on GitHub (pinned to 4c8573c808)
Solutions
- Include the region name after 'regions/' in the URL
- Fix truncated self-links
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/gce/gce_url.go:99 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/ee5e88a89e445fb9.
Report an issue: GitHub.