class_docstr: A class primarily responsible for syntactic sugar + application singleton behavior that wraps
  the LookupTablesCore.
class_docstr_tok: ["A","class","primarily","responsible","for","syntactic","sugar","+","application","singleton","behavior","that","wraps","the","LookupTablesCore","."]
docstr: Returns a singleton instance of LookupTablesCore.
  
  Params:
      config (dict) OPTIONAL: You can provide this to override default behavior or as an
          optimization. Be careful; once loaded the LookupTables is cached statically
          and future invocations will ignore this config parameter, even when provided.
      reset (bool) OPTIONAL: Flag designating whether or not the cached instance of
          LookupTablesCore should be re-instantiated. Default value is False.
  
  Returns:
      LookupTablesCore
docstr_tok: ["Returns","a","singleton","instance","of","LookupTablesCore",".","Params",":","config","(","dict",")","OPTIONAL",":","You","can","provide","this","to","override","default","behavior","or","as","an","optimization",".","Be","careful",";","once","loaded","the","LookupTables","is","cached","statically","and","future","invocations","will","ignore","this","config","parameter",",","even","when","provided",".","reset","(","bool",")","OPTIONAL",":","Flag","designating","whether","or","not","the","cached","instance","of","LookupTablesCore","should","be","re-instantiated",".","Default","value","is","False",".","Returns",":","LookupTablesCore"]
code: def get_instance(cls, config=None, reset=False):
      """
      Returns a singleton instance of LookupTablesCore.
  
      Params:
          config (dict) OPTIONAL: You can provide this to override default behavior or as an
              optimization. Be careful; once loaded the LookupTables is cached statically
              and future invocations will ignore this config parameter, even when provided.
          reset (bool) OPTIONAL: Flag designating whether or not the cached instance of
              LookupTablesCore should be re-instantiated. Default value is False.
  
      Returns:
          LookupTablesCore
      """
      if not cls._instance or reset:
          if config is None:
              config = load_config()
  
          cls._instance = LookupTablesCore(config)
          cls._instance.setup_tables()
  
      return cls._instance
  
file_path: streamalert/streamalert/shared/lookup_tables/core.py
imports: from streamalert.shared.config import load_config
  from streamalert.shared.logger import get_logger
  from streamalert.shared.lookup_tables.configuration import LookupTablesConfiguration
  from streamalert.shared.lookup_tables.drivers import NullDriver
  from streamalert.shared.lookup_tables.drivers_factory import construct_persistence_driver
  from streamalert.shared.lookup_tables.table import LookupTable
label_desc: Use image node_id 1 for calling the LookupTables obj's underlying member method code with example usage: obj.get_instance(cls, config, reset) and returns: cls