code: func (vm *VirtualMachine) GetVirtualDiskPath(ctx context.Context) (string, error) {
  	vmDevices, err := vm.Device(ctx)
  	if err != nil {
  		klog.Errorf("Failed to get the devices for VM: %q. err: %+v", vm.InventoryPath, err)
  		return "", err
  	}
  	// filter vm devices to retrieve device for the given vmdk file identified by disk path
  	for _, device := range vmDevices {
  		if vmDevices.TypeName(device) == "VirtualDisk" {
  			virtualDevice := device.GetVirtualDevice()
  			if backing, ok := virtualDevice.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok {
  				return backing.FileName, nil
  			}
  		}
  	}
  	return "", nil
  }
docs: // GetVirtualDiskPath gets the first available virtual disk devicePath from the VM