Add implicit osm-config configuration parameter to charm
[osm/LCM.git] / osm_lcm / data_utils / vnfd.py
index 5351c41..f8c11ca 100644 (file)
@@ -37,6 +37,16 @@ def get_kdu_list(vnfd):
     return vnfd.get("kdu", ())
 
 
+def get_kdu(vnfd, kdu_name):
+    return list_utils.find_in_list(
+        get_kdu_list(vnfd), lambda kdu: kdu["name"] == kdu_name
+    )
+
+
+def get_kdu_services(kdu):
+    return kdu.get("service", [])
+
+
 def get_ee_sorted_initial_config_primitive_list(
     primitive_list, vca_deployed, ee_descriptor_id
 ):
@@ -101,6 +111,13 @@ def get_vdu_profile(vnfd, vdu_profile_id):
     )
 
 
+def get_kdu_resource_profile(vnfd, kdu_profile_id):
+    return list_utils.find_in_list(
+        vnfd.get("df", ())[0]["kdu-resource-profile"],
+        lambda kdu_profile: kdu_profile["id"] == kdu_profile_id,
+    )
+
+
 def get_configuration(vnfd, entity_id):
     lcm_ops_config = vnfd.get("df")[0].get("lcm-operations-configuration")
     if not lcm_ops_config:
@@ -114,6 +131,10 @@ def get_configuration(vnfd, entity_id):
     )
 
 
+def get_relation_list(vnfd, entity_id):
+    return (get_configuration(vnfd, entity_id) or {}).get("relation", [])
+
+
 def get_virtual_link_profiles(vnfd):
     return vnfd.get("df")[0].get("virtual-link-profile", ())