class_docstr: OutputDispatcher is the base class to handle routing alerts to outputs
  
  Public methods:
      format_output_config: returns a formatted version of the outputs configuration
          that is to be written to disk
      get_user_defined_properties: returns any properties for this output that must be
          provided by the user. must be implemented by subclasses
      dispatch: handles the actual sending of alerts to the configured service. must
          be implemented by subclass
docstr: Add this descriptor to the list of descriptor this service
     If the service doesn't exist, a new entry is added to an empty list
  
  Args:
      service_config (dict): Loaded configuration as a dictionary
      values (OrderedDict): Contains various OutputProperty items
  Returns:
      [list<string>] List of descriptors for this service
docstr_tok: ["Add","this","descriptor","to","the","list","of","descriptor","this","service","If","the","service","does","n't","exist",",","a","new","entry","is","added","to","an","empty","list","Args",":","service_config","(","dict",")",":","Loaded","configuration","as","a","dictionary","values","(","OrderedDict",")",":","Contains","various","OutputProperty","items","Returns",":","[","list","<","string",">","]","List","of","descriptors","for","this","service"]
code: def format_output_config(cls, service_config, values):
      """Add this descriptor to the list of descriptor this service
         If the service doesn't exist, a new entry is added to an empty list
  
      Args:
          service_config (dict): Loaded configuration as a dictionary
          values (OrderedDict): Contains various OutputProperty items
      Returns:
          [list<string>] List of descriptors for this service
      """
      return service_config.get(cls.__service__, []) + [
          values["descriptor"].value
      ]
  
imports: from abc import ABCMeta, abstractmethod
  from collections import namedtuple
  import requests
  from requests.exceptions import Timeout
  import urllib3
  import backoff
  from streamalert.alert_processor.outputs.credentials.provider import OutputCredentialsProvider
  from streamalert.shared.backoff_handlers import backoff_handler, success_handler, giveup_handler
  from streamalert.shared.helpers.boto import REGION
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 14 for calling the OutputDispatcher obj's underlying member method code with example usage: obj.format_output_config(cls, service_config, values) and returns: unknown