X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fv1%2Fvnfd.py;h=e43475d3e1ce07d21186f895b76cdc0db72f84dc;hb=f5c87f062b9d4b707135cc106ca7256d100461df;hp=28a8f92eeb9a189219d2bc7ae76b76c2da6bafe0;hpb=4c7e237e45bc6fe209006b4837a8e6b031e78e1c;p=osm%2Fosmclient.git diff --git a/osmclient/v1/vnfd.py b/osmclient/v1/vnfd.py index 28a8f92..e43475d 100644 --- a/osmclient/v1/vnfd.py +++ b/osmclient/v1/vnfd.py @@ -23,25 +23,37 @@ from osmclient.common.exceptions import ClientException class Vnfd(object): - - def __init__(self, http=None): + def __init__(self, http=None, client=None): self._http = http + self._client = client def list(self): - resp = self._http.get_cmd('api/running/vnfd-catalog/vnfd') - if resp and 'vnfd:vnfd' in resp: - return resp['vnfd:vnfd'] + resp = self._http.get_cmd( + "api/running/{}vnfd-catalog/vnfd".format(self._client.so_rbac_project_path) + ) + + if self._client._so_version == "v3": + if resp and "project-vnfd:vnfd" in resp: + return resp["project-vnfd:vnfd"] + else: + # Backwards Compatibility + if resp and "vnfd:vnfd" in resp: + return resp["vnfd:vnfd"] + return list() def get(self, name): for vnfd in self.list(): - if name == vnfd['name']: + if name == vnfd["name"]: return vnfd raise NotFound("vnfd {} not found".format(name)) def delete(self, vnfd_name): vnfd = self.get(vnfd_name) - resp = self._http.delete_cmd('api/running/vnfd-catalog/vnfd/{}' - .format(vnfd['id'])) - if 'success' not in resp: + resp = self._http.delete_cmd( + "api/running/{}vnfd-catalog/vnfd/{}".format( + self._client.so_rbac_project_path, vnfd["id"] + ) + ) + if "success" not in resp: raise ClientException("failed to delete vnfd {}".format(vnfd_name))