class_docstr: Event system that handles storing and calling callbacks for events.
  
  Attributes:
      callback_map (Dict[str, List[Callable]]) : Stores list of callbacks
          for events when registered.
docstr: Executes all callbacks for event.
  
  Args:
      event: Event that is invoked. See CreateClusterEvent
          for details on the available events.
      event_data (Dict[str, Any]): Argument that is passed to each
          callable object stored for this particular event.
docstr_tok: ["Executes","all","callbacks","for","event",".","Args",":","event",":","Event","that","is","invoked",".","See","CreateClusterEvent","for","details","on","the","available","events",".","event_data","(","Dict","[","str",",","Any","]",")",":","Argument","that","is","passed","to","each","callable","object","stored","for","this","particular","event","."]
code: def execute_callback(
      self,
      event: CreateClusterEvent,
      event_data: Optional[Dict[str, Any]] = None,
  ):
      """Executes all callbacks for event.
  
      Args:
          event: Event that is invoked. See CreateClusterEvent
              for details on the available events.
          event_data (Dict[str, Any]): Argument that is passed to each
              callable object stored for this particular event.
      """
      if event_data is None:
          event_data = {}
  
      event_data["event_name"] = event
      if event in self.callback_map:
          for callback in self.callback_map[event]:
              callback(event_data)
  
file_path: ray/python/ray/autoscaler/_private/event_system.py
imports: from enum import Enum, auto
  from typing import Any, Callable, Dict, List, Optional, Union
  from ray.autoscaler._private.cli_logger import cli_logger
label_desc: Use image node_id 3 for calling the _EventSystem obj's underlying member method code with example usage: obj.execute_callback(event, event_data) without return types