def __init__(self, template_dict, parameter_overrides=None):
self.template_dict = SamBaseProvider.get_template(template_dict, parameter_overrides)<EOL>self.resources = self.template_dict.get("<STR_LIT>", {})<EOL>LOG.debug("<STR_LIT>", len(self.resources))<EOL>self.functions = self._extract_functions(self.resources)<EOL>
Initialize the class with SAM template data. The SAM template passed to this provider is assumed
to be valid, normalized and a dictionary. It should be normalized by running all pre-processing
before passing to this class. The process of normalization will remove structures like ``Globals``, resolve
intrinsic functions etc.
This class does not perform any syntactic validation of the template.

After the class is initialized, any changes to the ``template_dict`` will not be reflected in here.
You need to explicitly update the class with new template, if necessary.

:param dict template_dict: SAM Template as a dictionary
:param dict parameter_overrides: Optional dictionary of values for SAM template parameters that might want
    to get substituted within the template