class_docstr: The Client-side methods corresponding to the ray API. Delegates
  to the Client Worker that contains the connection to the ClientServer.
class_docstr_tok: ["The","Client-side","methods","corresponding","to","the","ray","API",".","Delegates","to","the","Client","Worker","that","contains","the","connection","to","the","ClientServer","."]
docstr: Get the current total cluster resources.
  
  Note that this information can grow stale as nodes are added to or
  removed from the cluster.
  
  Returns:
      A dictionary mapping resource name to the total quantity of that
          resource in the cluster.
code: def cluster_resources(self):
      """Get the current total cluster resources.
  
      Note that this information can grow stale as nodes are added to or
      removed from the cluster.
  
      Returns:
          A dictionary mapping resource name to the total quantity of that
              resource in the cluster.
      """
      # This should be imported here, otherwise, it will error doc build.
      import ray.core.generated.ray_client_pb2 as ray_client_pb2
  
      return self.worker.get_cluster_info(
          ray_client_pb2.ClusterInfoType.CLUSTER_RESOURCES
      )
  
imports: import json
  import logging
  from concurrent.futures import Future
  from typing import TYPE_CHECKING, Any, Callable, List, Optional, Union
  from ray._private import ray_option_utils
  from ray.util.client.runtime_context import _ClientWorkerPropertyAPI
label_desc: Use image node_id 17 for calling the _ClientAPI obj's underlying member method code with example usage: obj.cluster_resources() and returns: self