code: func (name KubernetesInstanceID) MapToAWSInstanceID() (InstanceID, error) {
  	s := string(name)
  
  	if !strings.HasPrefix(s, "aws://") {
  		// Assume a bare aws volume id (vol-1234...)
  		// Build a URL with an empty host (AZ)
  		s = "aws://" + "/" + "/" + s
  	}
  	url, err := url.Parse(s)
  	if err != nil {
  		return "", fmt.Errorf("Invalid instance name (%s): %v", name, err)
  	}
  	if url.Scheme != "aws" {
  		return "", fmt.Errorf("Invalid scheme for AWS instance (%s)", name)
  	}
  
  	awsID := ""
  	tokens := strings.Split(strings.Trim(url.Path, "/"), "/")
  	if len(tokens) == 1 {
  		// instanceId
  		awsID = tokens[0]
  	} else if len(tokens) == 2 {
  		// az/instanceId
  		awsID = tokens[1]
  	}
  
  	// We sanity check the resulting volume; the two known formats are
  	// i-12345678 and i-12345678abcdef01
  	if awsID == "" || !awsInstanceRegMatch.MatchString(awsID) {
  		return "", fmt.Errorf("Invalid format for AWS instance (%s)", name)
  	}
  
  	return InstanceID(awsID), nil
  }
docs: // MapToAWSInstanceID extracts the InstanceID from the KubernetesInstanceID