- if tpl.get(TOPOLOGY_TEMPLATE):
- nested_tosca_template = ToscaTemplate(
- path=self.path, parsed_params=self.parsed_params,
- yaml_dict_tpl=nested_topo_tpls)
- self.nested_tosca_template.apend(nested_tosca_template)
+ filename, tosca_tpl = list(tpl.items())[0]
+ if (tosca_tpl.get(TOPOLOGY_TEMPLATE) and
+ filename not in list(self.nested_tosca_tpls.keys())):
+ self.nested_tosca_tpls.update(tpl)
+
+ def _handle_nested_topo_templates(self):
+ for filename, tosca_tpl in self.nested_tosca_tpls.items():
+ for nodetemplate in self.nodetemplates:
+ if self._is_substitution_mapped_node(nodetemplate, tosca_tpl):
+ nested_template = ToscaTemplate(
+ path=filename, parsed_params=self.parsed_params,
+ yaml_dict_tpl=tosca_tpl,
+ submaped_node_template=nodetemplate)
+ if nested_template.has_substitution_mappings():
+ filenames = [tpl.path for tpl in
+ self.nested_tosca_templates]
+ if filename not in filenames:
+ self.nested_tosca_templates.append(nested_template)