fix(kdu): kdu-profiles uses name instead of id
[osm/LCM.git] / osm_lcm / data_utils / vnfd.py
index 5774060..b12f7d0 100644 (file)
@@ -91,7 +91,7 @@ def get_vdu_profile(vnfd, vdu_profile_id):
 def get_kdu_profile(vnfd, kdu_profile_id):
     return list_utils.find_in_list(
         vnfd.get("df", ())[0]["kdu-profile"],
-        lambda kdu_profile: kdu_profile["id"] == kdu_profile_id)
+        lambda kdu_profile: kdu_profile["name"] == kdu_profile_id)
 
 
 def get_vnf_configuration(vnfd):
@@ -135,3 +135,23 @@ def get_vdu_index(vnfd, vdu_id):
         return vnfd.get("vdu", ()).index(target_vdu)
     else:
         return -1
+
+
+def get_scaling_aspect(vnfd):
+    return vnfd.get("df", ())[0].get("scaling-aspect", ())
+
+
+def get_number_of_instances(vnfd, vdu_id):
+    return list_utils.find_in_list(
+        vnfd.get(
+            "df",
+            ()
+        )[0].get(
+            "instantiation-level",
+            ()
+        )[0].get(
+            "vdu-level",
+            ()
+        ),
+        lambda a_vdu: a_vdu["vdu-id"] == vdu_id
+    )["number-of-instances"]