X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Fdata_utils%2Fvnfr.py;h=fc64145ba5cb13256a96dfda2b046c1e4ded44b7;hb=4ff4b51325ee03faf991cd0fd435658c9365ecf0;hp=fe9810257f5b509b3ec10c071cd33658acfec5cb;hpb=5f75f10f2308aa6a8cf36cfdeeb20dc95316c5ce;p=osm%2FLCM.git diff --git a/osm_lcm/data_utils/vnfr.py b/osm_lcm/data_utils/vnfr.py index fe98102..fc64145 100644 --- a/osm_lcm/data_utils/vnfr.py +++ b/osm_lcm/data_utils/vnfr.py @@ -77,3 +77,30 @@ def get_kdur(db_vnfr, kdu_name): return next(x for x in kdur_list if x.get("kdu-name") == kdu_name) else: return None + + +def get_volumes_from_instantiation_params( + vdu_instantiation_params: dict, vdud: dict +) -> list: + """Get the VDU volumes from instantiation parameters + + Args: + vdu_instantiation_params: VDU instantiation parameters + vdud: VDU description as a dictionary extracted from VNFD + Returns: + vdu_volume_list:(list) + + """ + vdu_volume_list = [] + if vdu_instantiation_params.get("volume"): + for volume in vdu_instantiation_params["volume"]: + if volume.get("vim-volume-id") and volume.get("name") in vdud.get( + "virtual-storage-desc" + ): + vdu_volume = { + "name": volume["name"], + "vim-volume-id": volume["vim-volume-id"], + } + vdu_volume_list.append(vdu_volume) + + return vdu_volume_list