code: func availableScsiDisk(dss *object.HostDatastoreSystem, name string) (*types.HostScsiDisk, error) {
  	ctx, cancel := context.WithTimeout(context.Background(), defaultAPITimeout)
  	defer cancel()
  	disks, err := dss.QueryAvailableDisksForVmfs(ctx)
  	if err != nil {
  		return nil, fmt.Errorf("cannot query available disks: %s", err)
  	}
  
  	var disk *types.HostScsiDisk
  	for _, d := range disks {
  		if d.CanonicalName == name {
  			disk = &d
  			break
  		}
  	}
  	if disk == nil {
  		return nil, fmt.Errorf("%s does not seem to be a disk available for VMFS", name)
  	}
  	return disk, nil
  }
docs: // availableScsiDisk checks to make sure that a disk is available for use in a
  // VMFS datastore, and returns the ScsiDisk.