code: func (as *availabilitySet) GetInstanceIDByNodeName(name string) (string, error) {
  	var machine compute.VirtualMachine
  	var err error
  
  	machine, err = as.getVirtualMachine(types.NodeName(name))
  	if err == cloudprovider.InstanceNotFound {
  		return "", cloudprovider.InstanceNotFound
  	}
  	if err != nil {
  		if as.CloudProviderBackoff {
  			klog.V(2).Infof("GetInstanceIDByNodeName(%s) backing off", name)
  			machine, err = as.GetVirtualMachineWithRetry(types.NodeName(name))
  			if err != nil {
  				klog.V(2).Infof("GetInstanceIDByNodeName(%s) abort backoff", name)
  				return "", err
  			}
  		} else {
  			return "", err
  		}
  	}
  
  	resourceID := *machine.ID
  	convertedResourceID, err := convertResourceGroupNameToLower(resourceID)
  	if err != nil {
  		klog.Errorf("convertResourceGroupNameToLower failed with error: %v", err)
  		return "", err
  	}
  	return convertedResourceID, nil
  }
docs: // GetInstanceIDByNodeName gets the cloud provider ID by node name.
  // It must return ("", cloudprovider.InstanceNotFound) if the instance does
  // not exist or is no longer running.