class_docstr: Interface for getting and returning nodes from a Cloud.
  
  **Important**: This is an INTERNAL API that is only exposed for the purpose
  of implementing custom node providers. It is not allowed to call into
  NodeProvider methods from any Ray package outside the autoscaler, only to
  define new implementations of NodeProvider for use with the "external" node
  provider option.
  
  NodeProviders are namespaced by the `cluster_name` parameter; they only
  operate on nodes within that namespace.
  
  Nodes may be in one of three states: {pending, running, terminated}. Nodes
  appear immediately once started by `create_node`, and transition
  immediately to terminated when `terminate_node` is called.
class_docstr_tok: ["Interface","for","getting","and","returning","nodes","from","a","Cloud",".","*","*","Important","*","*",":","This","is","an","INTERNAL","API","that","is","only","exposed","for","the","purpose","of","implementing","custom","node","providers",".","It","is","not","allowed","to","call","into","NodeProvider","methods","from","any","Ray","package","outside","the","autoscaler",",","only","to","define","new","implementations","of","NodeProvider","for","use","with","the","``","external","''","node","provider","option",".","NodeProviders","are","namespaced","by","the","`","cluster_name","`","parameter",";","they","only","operate","on","nodes","within","that","namespace",".","Nodes","may","be","in","one","of","three","states",":","{","pending",",","running",",","terminated","}",".","Nodes","appear","immediately","once","started","by","`","create_node","`",",","and","transition","immediately","to","terminated","when","`","terminate_node","`","is","called","."]
docstr: The maximum number of nodes which can be terminated in one single
  API request. By default, this is "None", which means that the node
  provider's underlying API allows infinite requests to be terminated
  with one request.
  
  For example, AWS only allows 1000 nodes to be terminated
  at once; to terminate more, we must issue multiple separate API
  requests. If the limit is infinity, then simply set this to None.
  
  This may be overridden. The value may be useful when overriding the
  "terminate_nodes" method.
docstr_tok: ["The","maximum","number","of","nodes","which","can","be","terminated","in","one","single","API","request",".","By","default",",","this","is","``","None","''",",","which","means","that","the","node","provider","'s","underlying","API","allows","infinite","requests","to","be","terminated","with","one","request",".","For","example",",","AWS","only","allows","1000","nodes","to","be","terminated","at","once",";","to","terminate","more",",","we","must","issue","multiple","separate","API","requests",".","If","the","limit","is","infinity",",","then","simply","set","this","to","None",".","This","may","be","overridden",".","The","value","may","be","useful","when","overriding","the","''","terminate_nodes","''","method","."]
code: def max_terminate_nodes(self) -> Optional[int]:
      """The maximum number of nodes which can be terminated in one single
      API request. By default, this is "None", which means that the node
      provider's underlying API allows infinite requests to be terminated
      with one request.
  
      For example, AWS only allows 1000 nodes to be terminated
      at once; to terminate more, we must issue multiple separate API
      requests. If the limit is infinity, then simply set this to None.
  
      This may be overridden. The value may be useful when overriding the
      "terminate_nodes" method.
      """
      return None
  
imports: import logging
  from types import ModuleType
  from typing import Any, Dict, List, Optional
  from ray.autoscaler._private.command_runner import DockerCommandRunner, SSHCommandRunner
  from ray.autoscaler.command_runner import CommandRunnerInterface
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 15 for calling the NodeProvider obj's underlying member method code with example usage: obj.max_terminate_nodes() and returns: None