code: func (pc *PCCloud) DiskIsAttached(ctx context.Context, pdID string, nodeName k8stypes.NodeName) (bool, error) {
  	photonClient, err := getPhotonClient(pc)
  	if err != nil {
  		klog.Errorf("Photon Cloud Provider: Failed to get photon client for DiskIsAttached, error: [%v]", err)
  		return false, err
  	}
  
  	disk, err := photonClient.Disks.Get(pdID)
  	if err != nil {
  		klog.Errorf("Photon Cloud Provider: Failed to Get disk with pdID %s. Error[%v]", pdID, err)
  		return false, err
  	}
  
  	vmID, err := pc.InstanceID(ctx, nodeName)
  	if err == cloudprovider.InstanceNotFound {
  		klog.Infof("Instance %q does not exist, disk %s will be detached automatically.", nodeName, pdID)
  		return false, nil
  	}
  	if err != nil {
  		klog.Errorf("Photon Cloud Provider: pc.InstanceID failed for DiskIsAttached. Error[%v]", err)
  		return false, err
  	}
  
  	for _, vm := range disk.VMs {
  		if vm == vmID {
  			return true, nil
  		}
  	}
  
  	return false, nil
  }
docs: // DiskIsAttached returns if disk is attached to the VM using controllers supported by the plugin.