Working northbound rest api calls for affinity objects.
[affinity.git] / scripts / affinity.py
index 0cd8832f31c146ab4969104c0382c7d304bc41f4..a70eb69b282080e8261e5f921dee31d8a14c19ea 100644 (file)
@@ -14,41 +14,36 @@ def rest_method(url, verb):
     print "REST call " + url
     resp, content = h.request(url, verb)
 
-    if (resp.status != 200):
-        print "Error code %d" % (resp.status)
-        return
-    
-    if (verb == "GET"): 
-        print content
-
+    print content
+    print "return code %d" % (resp.status)
     print "done"
     
 
-def waypoint_demo():
+def waypoint_init():
     # Create two affinity groups
 
     print "create web servers group"
     put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/create/group/webservers'
-    rest_method(put_url, "POST")
+    rest_method(put_url, "PUT")
 
     print "create external addresses"
-    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/create/group/external'
+    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/create/group/clients'
     rest_method(put_url, "PUT")
 
     print "create link inflows"
-    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/create/link/inflows'
+    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/create/link/inflows/from/clients/to/webservers'
     rest_method(put_url, "PUT")
 
     print "add ip to webservers"
-    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/add/ip/webservers/192.168.1.1'
+    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/webservers/add/ip/192.168.1.1'
     rest_method(put_url, "PUT")
 
     print "add ip to webservers"
-    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/add/ip/webservers/192.168.1.2'
+    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/webservers/add/ip/192.168.1.2'
     rest_method(put_url, "PUT")
 
     print "add ip to external"    
-    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/add/ip/external/10.10.0.0'
+    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/clients/add/ip/10.10.0.0'
     rest_method(put_url, "PUT")
 
 
@@ -57,20 +52,36 @@ def get_all_affinity_groups():
     get_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/affinity-groups'
     rest_method(get_url, "GET")
 
-def get_affinity_group(): 
-    print "get affinity group"
-    get_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/webserver'
+def get_all_affinity_links(): 
+    print "get all affinity groups"
+    get_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/affinity-links'
+    rest_method(get_url, "GET")
+
+def get_affinity_group(groupname): 
+    get_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/' + groupname
     rest_method(get_url, "GET")
 
+def set_waypoint_address():
+    wp = "192.168.1.10"
+    put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/link/inflows/setwaypoint/' + wp
+    rest_method(put_url, "PUT")
+
 # Add waypoint IP to an affinity link.
 def main():
     global h
     h = httplib2.Http(".cache")
     h.add_credentials('admin', 'admin')
 
-    waypoint_demo()
-#    get_all_affinity_groups()
-#    get_affinity_group()
+#    waypoint_init()
+    set_waypoint_address()
+#    unset_waypoint_address()
+
+    get_affinity_group('webservers')
+    get_affinity_group('clients')
+
+    get_all_affinity_groups()
+#    get_all_affinity_links()
+
 if __name__ == "__main__":
     main()