code: func SCSIControllerTypes() VirtualDeviceList {
  	// Return a mutable list of SCSI controller types, initialized with defaults.
  	return VirtualDeviceList([]types.BaseVirtualDevice{
  		&types.VirtualLsiLogicController{},
  		&types.VirtualBusLogicController{},
  		&types.ParaVirtualSCSIController{},
  		&types.VirtualLsiLogicSASController{},
  	}).Select(func(device types.BaseVirtualDevice) bool {
  		c := device.(types.BaseVirtualSCSIController).GetVirtualSCSIController()
  		c.SharedBus = types.VirtualSCSISharingNoSharing
  		c.BusNumber = -1
  		return true
  	})
  }
docs: // SCSIControllerTypes are used for adding a new SCSI controller to a VM.