code: func (c *Cloud) InstanceID(ctx context.Context, nodeName types.NodeName) (string, error) {
  	// In the future it is possible to also return an endpoint as:
  	// <endpoint>/<zone>/<instanceid>
  	if c.selfAWSInstance.nodeName == nodeName {
  		return "/" + c.selfAWSInstance.availabilityZone + "/" + c.selfAWSInstance.awsID, nil
  	}
  	inst, err := c.getInstanceByNodeName(nodeName)
  	if err != nil {
  		if err == cloudprovider.InstanceNotFound {
  			// The Instances interface requires that we return InstanceNotFound (without wrapping)
  			return "", err
  		}
  		return "", fmt.Errorf("getInstanceByNodeName failed for %q with %q", nodeName, err)
  	}
  	return "/" + aws.StringValue(inst.Placement.AvailabilityZone) + "/" + aws.StringValue(inst.InstanceId), nil
  }
docs: // InstanceID returns the cloud provider ID of the node with the specified nodeName.