in internal/deployers/eksapi/k8s.go [285:305]
func parseKubernetesProviderID(rawProviderId string) (*KubernetesProviderID, error) {
url, err := url.Parse(rawProviderId)
if err != nil {
return nil, fmt.Errorf("malformed provider ID: %s", rawProviderId)
}
if url.Scheme != "aws" {
return nil, fmt.Errorf("usupported provider ID scheme: %s", url.Scheme)
}
if url.Path == "" {
return nil, fmt.Errorf("provider ID path is empty: %s", rawProviderId)
}
// example: /us-west-2a/i-12345abcdefg
parts := strings.Split(url.Path, "/")
if len(parts) != 3 {
return nil, fmt.Errorf("provider ID path does not have 3 parts: %s", url.Path)
}
return &KubernetesProviderID{
AvailabilityZone: parts[1],
InstanceID: parts[2],
}, nil
}