aboutsummaryrefslogtreecommitdiffstats
path: root/catalog/pub/utils/toscaparser/nsdmodel.py
diff options
context:
space:
mode:
Diffstat (limited to 'catalog/pub/utils/toscaparser/nsdmodel.py')
-rw-r--r--catalog/pub/utils/toscaparser/nsdmodel.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/catalog/pub/utils/toscaparser/nsdmodel.py b/catalog/pub/utils/toscaparser/nsdmodel.py
index 03133861..096579c2 100644
--- a/catalog/pub/utils/toscaparser/nsdmodel.py
+++ b/catalog/pub/utils/toscaparser/nsdmodel.py
@@ -36,6 +36,7 @@ class EtsiNsdInfoModel(BaseInfoModel):
def parseModel(self, tosca):
self.metadata = self.buildMetadata(tosca)
+ self.ns = self._build_ns(tosca)
self.inputs = self.buildInputs(tosca)
nodeTemplates = map(functools.partial(self.buildNode, tosca=tosca), tosca.nodetemplates)
types = tosca.topology_template.custom_defs
@@ -176,3 +177,29 @@ class EtsiNsdInfoModel(BaseInfoModel):
for key, value in item.items():
rets.append({"key_name": key, "vl_id": self.get_requirement_node_name(value)})
return rets
+
+ def _build_ns(self, tosca):
+ ns = self.get_substitution_mappings(tosca)
+ properties = ns.get("properties", {})
+ metadata = ns.get("metadata", {})
+ if properties.get("descriptor_id", "") == "":
+ descriptor_id = metadata.get("descriptor_id", "")
+ if descriptor_id == "":
+ descriptor_id = metadata.get("id", "")
+ if descriptor_id == "":
+ descriptor_id = metadata.get("UUID", "")
+ properties["descriptor_id"] = descriptor_id
+ if properties.get("verison", "") == "":
+ version = metadata.get("template_version", "")
+ if version == "":
+ version = metadata.get("version", "")
+ properties["verison"] = version
+ if properties.get("designer", "") == "":
+ author = metadata.get("template_author", "")
+ properties["designer"] = author
+ if properties.get("name", "") == "":
+ template_name = metadata.get("template_name", "")
+ if template_name == "":
+ template_name = metadata.get("name", "")
+ properties["name"] = template_name
+ return ns