X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fv1%2Fvnfd.py;h=dd3b11740567d5e7222da692878a8a47fa91c464;hb=c009e0adcaaa63f0a998f47020472679fd295d38;hp=28a8f92eeb9a189219d2bc7ae76b76c2da6bafe0;hpb=ef3e9bd9d3aea645aa43461122904ad69a27b2c3;p=osm%2Fosmclient.git diff --git a/osmclient/v1/vnfd.py b/osmclient/v1/vnfd.py index 28a8f92..dd3b117 100644 --- a/osmclient/v1/vnfd.py +++ b/osmclient/v1/vnfd.py @@ -24,13 +24,22 @@ 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): @@ -41,7 +50,7 @@ class Vnfd(object): def delete(self, vnfd_name): vnfd = self.get(vnfd_name) - resp = self._http.delete_cmd('api/running/vnfd-catalog/vnfd/{}' - .format(vnfd['id'])) + 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))