docs: def run(self, workflow_input, *args, **kwargs):
          '''
          :param workflow_input: Dictionary of the workflow's input arguments; see below for more details
          :type workflow_input: dict
          :param instance_type: Instance type on which all stages' jobs will be run, or a dict mapping function names to instance types. These may be overridden on a per-stage basis if stage_instance_types is specified.
          :type instance_type: string or dict
          :param stage_instance_types: A dict mapping stage IDs, names, or indices to either a string (representing an instance type to be used for all functions in that stage), or a dict mapping function names to instance types.
          :type stage_instance_types: dict
          :param stage_folders: A dict mapping stage IDs, names, indices, and/or the string "*" to folder values to be used for the stages' output folders (use "*" as the default for all unnamed stages)
          :type stage_folders: dict
          :param rerun_stages: A list of stage IDs, names, indices, and/or the string "*" to indicate which stages should be run even if there are cached executions available
          :type rerun_stages: list of strings
          :param ignore_reuse_stages: Stages of a workflow (IDs, names, or indices) or "*" for which job reuse should be disabled
          :type ignore_reuse_stages: list
          :returns: Object handler of the newly created analysis
          :rtype: :class:`~dxpy.bindings.dxanalysis.DXAnalysis`
  
          Run the associated workflow. See :meth:`dxpy.bindings.dxapplet.DXExecutable.run` for additional args.
  
          When providing input for the workflow, keys should be of one of the following forms:
  
          * "N.name" where *N* is the stage number, and *name* is the
            name of the input, e.g. "0.reads" if the first stage takes
            in an input called "reads"
  
          * "stagename.name" where *stagename* is the stage name, and
            *name* is the name of the input within the stage
  
          * "stageID.name" where *stageID* is the stage ID, and *name*
            is the name of the input within the stage
  
          * "name" where *name* is the name of a workflow level input
            (defined in inputs) or the name that has been
            exported for the workflow (this name will appear as a key
            in the "inputSpec" of this workflow's description if it has
            been exported for this purpose)
  
          '''
          return super(DXWorkflow, self).run(workflow_input, *args, **kwargs)