+ vnfd.get("df", ())[0].get("instantiation-level", ())[0].get("vdu-level", ()),
+ lambda a_vdu: a_vdu["vdu-id"] == vdu_id,
+ ).get("number-of-instances", 1)
+
+
+def get_juju_ee_ref(vnfd, entity_id):
+ return list_utils.find_in_list(
+ get_configuration(vnfd, entity_id).get("execution-environment-list", []),
+ lambda ee: "juju" in ee,
+ )
+
+
+def find_software_version(vnfd: dict) -> str:
+ """Find the sotware version in the VNFD descriptors
+
+ Args:
+ vnfd (dict): Descriptor as a dictionary
+
+ Returns:
+ software-version (str)
+ """
+
+ default_sw_version = "1.0"
+
+ if vnfd.get("vnfd"):
+ vnfd = vnfd["vnfd"]
+
+ if vnfd.get("software-version"):
+ return vnfd["software-version"]
+
+ else:
+ return default_sw_version
+
+
+def check_helm_ee_in_ns(db_vnfds: list) -> bool:
+ for vnfd in db_vnfds:
+ descriptor_config = get_configuration(vnfd, vnfd["id"])
+ if not (
+ descriptor_config and "execution-environment-list" in descriptor_config
+ ):
+ continue
+ ee_list = descriptor_config.get("execution-environment-list", [])
+ if list_utils.find_in_list(ee_list, lambda ee_item: "helm-chart" in ee_item):
+ return True