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