3 from lcm.pub.utils.toscaparser import EtsiNsdInfoModel
6 class EtsiVnfdInfoModel(EtsiNsdInfoModel):
8 def __init__(self, path, params):
9 super(EtsiVnfdInfoModel, self).__init__(path, params)
11 def parseModel(self, tosca):
12 self.buidMetadata(tosca)
13 if hasattr(tosca, 'topology_template') and hasattr(tosca.topology_template, 'inputs'):
14 self.inputs = self.buildInputs(tosca.topology_template.inputs)
16 nodeTemplates = map(functools.partial(self.buildNode, inputs=tosca.inputs, parsed_params=tosca.parsed_params),
19 self.services = self._get_all_services(nodeTemplates)
22 def _get_all_services(self, nodeTemplates):
24 for node in nodeTemplates:
25 if self.isService(node):
27 service['serviceId'] = node['name']
28 if 'description' in node:
29 service['description'] = node['description']
30 service['properties'] = node['properties']
31 service['dependencies'] = map(lambda x: self.get_requirement_node_name(x),
32 self.getNodeDependencys(node))
33 service['networks'] = map(lambda x: self.get_requirement_node_name(x), self.getVirtualLinks(node))