code: def list_jobs(
      address: Optional[str] = None,
      filters: Optional[
          List[Tuple[str, PredicateType, SupportedFilterType]]
      ] = None,
      limit: int = DEFAULT_LIMIT,
      timeout: int = DEFAULT_RPC_TIMEOUT,
      detail: bool = False,
      raise_on_missing_output: bool = True,
      _explain: bool = False,
  ) -> List[JobState]:
      """List jobs submitted to the cluster by :ref:`ray job submission <jobs-overview>`.
  
      Args:
          address: Ray bootstrap address, could be `auto`, `localhost:6379`.
              If None, it will be resolved automatically from an initialized ray.
          filters: List of tuples of filter key, predicate (=, or !=), and
              the filter value. E.g., `("status", "=", "abcd")`
              String filter values are case-insensitive.
          limit: Max number of entries returned by the state backend.
          timeout: Max timeout value for the state APIs requests made.
          detail: When True, more details info (specified in `JobState`)
              will be queried and returned. See
              :class:`JobState <ray.util.state.common.JobState>`.
          raise_on_missing_output: When True, exceptions will be raised if
              there is missing data due to truncation/data source unavailable.
          _explain: Print the API information such as API latency or
              failed query information.
  
      Returns:
          List of dictionarified
          :class:`JobState <ray.util.state.common.JobState>`.
  
      Raises:
          Exceptions: :class:`RayStateApiException <ray.util.state.exception.RayStateApiException>` if the CLI
              failed to query the data.
      """  # noqa: E501
      return StateApiClient(address=address).list(
          StateResource.JOBS,
          options=ListApiOptions(
              limit=limit,
              timeout=timeout,
              filters=filters,
              detail=detail,
          ),
          raise_on_missing_output=raise_on_missing_output,
          _explain=_explain,
      )
  
imports: import logging
  import threading
  import urllib
  import warnings
  from contextlib import contextmanager
  from dataclasses import fields
  from typing import Any, Dict, Generator, List, Optional, Tuple, Union
  import requests
  from ray.dashboard.modules.dashboard_sdk import SubmissionClient
  from ray.dashboard.utils import get_address_for_submission_client, ray_address_to_api_server_url
  from ray.util.annotations import DeveloperAPI
  from ray.util.state.common import DEFAULT_LIMIT, DEFAULT_RPC_TIMEOUT, ActorState, ClusterEventState, GetApiOptions, GetLogOptions, JobState, ListApiOptions, NodeState, ObjectState, PlacementGroupState, PredicateType, RuntimeEnvState, StateResource, SummaryApiOptions, SummaryResource, SupportedFilterType, TaskState, WorkerState, dict_to_state
  from ray.util.state.exception import RayStateApiException, ServerUnavailable
label_desc: Use image node_id 12 for calling a global function with example usage: list_jobs(address, filters, limit, timeout, detail, raise_on_missing_output, _explain) and returns: StateApiClient