class_docstr: The class encapsulates normalization information for each normalized type
docstr: Init NormalizatedType
  Args:
      log_type (str): log type name, e.g. osquery:differential
      normalized_type (str): Normalized type name defined in conf/, e.g. 'sourceAddress',
          'destination_ip' may be normalized to 'ip_address'.
      params (list): a list of str or dict contains normalization configuration read from
          conf/schemas/*.json. The params can be a list of str or a list of dict to specify
          the path to the keys which will be normalized.
          e.g.
              ['path', 'to', 'the', 'key']
          or
              [
                  {
                      'path': ['detail', 'sourceIPAddress'],
                      'function': 'source ip address'
                  },
                  {
                      'path': ['path', 'to', 'the', 'key'],
                      'function': 'destination ip address'
                  }
              ]
docstr_tok: ["Init","NormalizatedType","Args",":","log_type","(","str",")",":","log","type","name",",","e.g",".","osquery",":","differential","normalized_type","(","str",")",":","Normalized","type","name","defined","in","conf\/",",","e.g",".","'sourceAddress","'",",","'destination_ip","'","may","be","normalized","to","'ip_address","'",".","params","(","list",")",":","a","list","of","str","or","dict","contains","normalization","configuration","read","from","conf\/schemas\/","*",".json",".","The","params","can","be","a","list","of","str","or","a","list","of","dict","to","specify","the","path","to","the","keys","which","will","be","normalized",".","e.g",".","[","'path","'",",","'to","'",",","'the","'",",","'key","'","]","or","[","{","'path","'",":","[","'detail","'",",","'sourceIPAddress","'","]",",","'function","'",":","'source","ip","address'","}",",","{","'path","'",":","[","'path","'",",","'to","'",",","'the","'",",","'key","'","]",",","'function","'",":","'destination","ip","address'","}","]"]
code: def __init__(self, log_type, normalized_type, params):
      """Init NormalizatedType
      Args:
          log_type (str): log type name, e.g. osquery:differential
          normalized_type (str): Normalized type name defined in conf/, e.g. 'sourceAddress',
              'destination_ip' may be normalized to 'ip_address'.
          params (list): a list of str or dict contains normalization configuration read from
              conf/schemas/*.json. The params can be a list of str or a list of dict to specify
              the path to the keys which will be normalized.
              e.g.
                  ['path', 'to', 'the', 'key']
              or
                  [
                      {
                          'path': ['detail', 'sourceIPAddress'],
                          'function': 'source ip address'
                      },
                      {
                          'path': ['path', 'to', 'the', 'key'],
                          'function': 'destination ip address'
                      }
                  ]
      """
      self._log_type = log_type
      self._log_source = log_type.split(":")[0]
      self._normalized_type = normalized_type
      self._parsed_params = self._parse_params(params)
  
imports: from collections import defaultdict
  import logging
  import itertools
  import uuid
  from streamalert.shared.config import TopLevelConfigKeys
  from streamalert.shared.exceptions import ConfigError
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 1 to create a new NormalizedType object  with example: obj = NormalizedType(log_type, normalized_type, params)