Use of PATCH method instead of PUT for projects
[osm/osmclient.git] / osmclient / sol005 / vnf.py
index 11d2057..b7ac856 100644 (file)
@@ -33,15 +33,21 @@ 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
         """
+        self._client.get_token()
         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)
+        #print('RESP: {}'.format(resp))
         if resp:
             return resp
         return list()
@@ -49,6 +55,7 @@ class Vnf(object):
     def get(self, name):
         """Returns a VNF instance based on name or id
         """
+        self._client.get_token()
         if utils.validate_uuid4(name):
             for vnf in self.list():
                 if name == vnf['_id']:
@@ -60,6 +67,7 @@ class Vnf(object):
         raise NotFound("vnf {} not found".format(name))
 
     def get_individual(self, name):
+        self._client.get_token()
         vnf_id = name
         if not utils.validate_uuid4(name):
             for vnf in self.list():
@@ -67,7 +75,7 @@ class Vnf(object):
                     vnf_id = vnf['_id']
                     break
         resp = self._http.get_cmd('{}/{}'.format(self._apiBase, vnf_id))
-        #print 'RESP: {}'.format(resp)
+        #print('RESP: {}'.format(resp))
         if resp:
             return resp
         raise NotFound("vnf {} not found".format(name))