code: func getSCSIControllers(vmDevices object.VirtualDeviceList) []*types.VirtualController {
  	// get all virtual scsi controllers
  	var scsiControllers []*types.VirtualController
  	for _, device := range vmDevices {
  		devType := vmDevices.Type(device)
  		switch devType {
  		case SCSIControllerType, strings.ToLower(LSILogicControllerType), strings.ToLower(BusLogicControllerType), PVSCSIControllerType, strings.ToLower(LSILogicSASControllerType):
  			if c, ok := device.(types.BaseVirtualController); ok {
  				scsiControllers = append(scsiControllers, c.GetVirtualController())
  			}
  		}
  	}
  	return scsiControllers
  }
docs: // getSCSIControllers filters and return list of Controller Devices from given list of Virtual Machine Devices.