X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fsol005%2Fvnf.py;h=9875d39f71cc0a0432dc8c95495c5f46d0eb381f;hb=6991001536f5cd7b4bda5d9c95e09646048cf9f3;hp=0a1e44a46ca47caf3103bf68881dfb748f2676d4;hpb=e26c422590219f865d958a8537b8f6c0973ac703;p=osm%2Fosmclient.git diff --git a/osmclient/sol005/vnf.py b/osmclient/sol005/vnf.py index 0a1e44a..9875d39 100644 --- a/osmclient/sol005/vnf.py +++ b/osmclient/sol005/vnf.py @@ -33,14 +33,20 @@ class Vnf(object): self._apiBase = '{}{}{}'.format(self._apiName, self._apiVersion, self._apiResource) - def list(self, ns=None): + def list(self, ns=None, filter=None): """Returns a list of VNF instances """ filter_string = '' + if filter: + filter_string = '?{}'.format(filter) if ns: ns_instance = self._client.ns.get(ns) - filter_string = '?nsr-id-ref={}'.format(ns_instance['_id']) + if filter_string: + filter_string += ',nsr-id-ref={}'.format(ns_instance['_id']) + else: + filter_string = '?nsr-id-ref={}'.format(ns_instance['_id']) resp = self._http.get_cmd('{}{}'.format(self._apiBase,filter_string)) + #print 'RESP: {}'.format(resp) if resp: return resp return list() @@ -50,7 +56,7 @@ class Vnf(object): """ if utils.validate_uuid4(name): for vnf in self.list(): - if vnf == vnf['_id']: + if name == vnf['_id']: return vnf else: for vnf in self.list(): @@ -66,6 +72,7 @@ class Vnf(object): vnf_id = vnf['_id'] break resp = self._http.get_cmd('{}/{}'.format(self._apiBase, vnf_id)) + #print 'RESP: {}'.format(resp) if resp: return resp raise NotFound("vnf {} not found".format(name))