code: public Task upgradeIoFilter_Task(String filterId, ComputeResource cluster, String vibUrl) throws InvalidArgument, InvalidState, NotFound, RuntimeFault, RemoteException {
          return new Task(getServerConnection(), getVimService().upgradeIoFilter_Task(getMOR(), filterId, cluster.getMOR(), vibUrl));
      }
docs: Upgrade an IO Filter on a compute resource.
  
  @param filterId
  - ID of the filter.
  @param cluster
  - The compute resource to install the IO Filter on. "compRes" must be a cluster.
  
  @param vibUrl
  - The URL that points to the IO Filter VIB package.
  
  @return - This method returns a Task object with which to monitor the operation. The task is set to success if
  the filter is installed on all the hosts in the compute resource successfully. If the task fails, first
  check error to see the error. If the error indicates that installation has failed on the hosts, use
  QueryIoFilterIssues to get the detailed errors occured during installation on each host. The dynamic
  privilege check ensures that the user must have Host.Config.Patch privilege for all the hosts in the
  compute resource.
  @throws InvalidState
  Thrown if "compRes" is a cluster and DRS is disabled on the cluster.
  @throws NotFound
  Thrown if the filter is not installed on the cluster. - Thrown if another VIB with the same name and
  vendor has been installed.
  @throws InvalidArgument
  - Thrown if "compRes" is a standalone host.
  @throws RuntimeFault
  - Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example,
  a communication error.
  @throws RemoteException