code: func setSCSIBusSharing(l *object.VirtualDeviceList, ctlr types.BaseVirtualSCSIController, st string) ([]types.BaseVirtualDeviceConfigSpec, error) {
  	var cspec []types.BaseVirtualDeviceConfigSpec
  	if ctlr.GetVirtualSCSIController().SharedBus != types.VirtualSCSISharing(st) {
  		ctlr.GetVirtualSCSIController().SharedBus = types.VirtualSCSISharing(st)
  		var err error
  		cspec, err = object.VirtualDeviceList{ctlr.(types.BaseVirtualDevice)}.ConfigSpec(types.VirtualDeviceConfigSpecOperationEdit)
  		if err != nil {
  			return nil, err
  		}
  		*l = applyDeviceChange(*l, cspec)
  	}
  	return cspec, nil
  }
docs: // setSCSIBusSharing takes a BaseVirtualSCSIController, sets the sharing mode,
  // and applies that change to the VirtualDeviceList.