class_docstr: Internal datastructure wrapping config options for a deployment.
  
  Args:
      num_replicas (Optional[int]): The number of processes to start up that
          handles requests to this deployment. Defaults to 1.
      max_concurrent_queries (Optional[int]): The maximum number of queries
          that is sent to a replica of this deployment without receiving
          a response. Defaults to 100.
      user_config (Optional[Any]): Arguments to pass to the reconfigure
          method of the deployment. The reconfigure method is called if
          user_config is not None. Must be JSON-serializable.
      graceful_shutdown_wait_loop_s (Optional[float]): Duration
          that deployment replicas wait until there is no more work to
          be done before shutting down.
      graceful_shutdown_timeout_s (Optional[float]):
          Controller waits for this duration to forcefully kill the replica
          for shutdown.
      health_check_period_s (Optional[float]):
          Frequency at which the controller health checks replicas.
      health_check_timeout_s (Optional[float]):
          Timeout that the controller waits for a response from the
          replica's health check before marking it unhealthy.
      user_configured_option_names (Set[str]):
          The names of options manually configured by the user.
class_docstr_tok: ["Internal","datastructure","wrapping","config","options","for","a","deployment",".","Args",":","num_replicas","(","Optional","[","int","]",")",":","The","number","of","processes","to","start","up","that","handles","requests","to","this","deployment",".","Defaults","to","1.","max_concurrent_queries","(","Optional","[","int","]",")",":","The","maximum","number","of","queries","that","is","sent","to","a","replica","of","this","deployment","without","receiving","a","response",".","Defaults","to","100.","user_config","(","Optional","[","Any","]",")",":","Arguments","to","pass","to","the","reconfigure","method","of","the","deployment",".","The","reconfigure","method","is","called","if","user_config","is","not","None",".","Must","be","JSON-serializable",".","graceful_shutdown_wait_loop_s","(","Optional","[","float","]",")",":","Duration","that","deployment","replicas","wait","until","there","is","no","more","work","to","be","done","before","shutting","down",".","graceful_shutdown_timeout_s","(","Optional","[","float","]",")",":","Controller","waits","for","this","duration","to","forcefully","kill","the","replica","for","shutdown",".","health_check_period_s","(","Optional","[","float","]",")",":","Frequency","at","which","the","controller","health","checks","replicas",".","health_check_timeout_s","(","Optional","[","float","]",")",":","Timeout","that","the","controller","waits","for","a","response","from","the","replica","'s","health","check","before","marking","it","unhealthy",".","user_configured_option_names","(","Set","[","str","]",")",":","The","names","of","options","manually","configured","by","the","user","."]
code: def needs_pickle(self):
      return _needs_pickle(
          self.deployment_language, self.is_cross_language
      )
  
imports: import inspect
  import json
  from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union
  from google.protobuf.descriptor import FieldDescriptor
  from google.protobuf.message import Message
  from ray import cloudpickle
  from ray._private import ray_option_utils
  from ray._private.pydantic_compat import BaseModel, Field, NonNegativeFloat, NonNegativeInt, PositiveFloat, validator
  from ray._private.serialization import pickle_dumps
  from ray._private.utils import resources_from_ray_options
  from ray.serve._private.constants import DEFAULT_GRACEFUL_SHUTDOWN_TIMEOUT_S, DEFAULT_GRACEFUL_SHUTDOWN_WAIT_LOOP_S, DEFAULT_HEALTH_CHECK_PERIOD_S, DEFAULT_HEALTH_CHECK_TIMEOUT_S, DEFAULT_MAX_CONCURRENT_QUERIES, MAX_REPLICAS_PER_NODE_MAX_VALUE
  from ray.serve._private.utils import DEFAULT, DeploymentOptionUpdateType
  from ray.serve.config import AutoscalingConfig
  from ray.serve.generated.serve_pb2 import AutoscalingConfig
  from ray.serve.generated.serve_pb2 import DeploymentConfig
  from ray.serve.generated.serve_pb2 import DeploymentLanguage
  from ray.serve.generated.serve_pb2 import EncodingType
  from ray.serve.generated.serve_pb2 import LoggingConfig
  from ray.serve.generated.serve_pb2 import ReplicaConfig
  from ray.util.placement_group import VALID_PLACEMENT_GROUP_STRATEGIES
label_desc: Use image node_id 4 for calling the DeploymentConfig obj's underlying member method code with example usage: obj.needs_pickle() and returns: _needs_pickle