aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lcm/pub/msapi/aai.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/lcm/pub/msapi/aai.py b/lcm/pub/msapi/aai.py
index ec0bee93..5ceb4159 100644
--- a/lcm/pub/msapi/aai.py
+++ b/lcm/pub/msapi/aai.py
@@ -293,3 +293,32 @@ def delete_network_relationship(network_id):
logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
raise NSLCMException("Delete network relationship exception in AAI")
return json.JSONDecoder().decode(ret[1]), ret[2]
+
+
+def create_subnet_aai(network_id, subnet_id, data):
+ resource = "/network/l3-networks/l3-network/%s/subnets/subnet/%s" % (network_id, subnet_id)
+ ret = call_aai(resource, "PUT", data)
+ if ret[0] != 0:
+ logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
+ raise NSLCMException("Subnetwork creation exception in AAI")
+ return json.JSONDecoder().decode(ret[1]), ret[2]
+
+
+def query_subnet_aai(network_id, subnet_id):
+ resource = "/network/l3-networks/l3-network/%s/subnets/subnet/%s" % (network_id, subnet_id)
+ ret = call_aai(resource, "GET")
+ if ret[0] != 0:
+ logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
+ raise NSLCMException("Subnetwork query exception in AAI")
+ return json.JSONDecoder().decode(ret[1])
+
+
+def delete_subnet_aai(network_id, subnet_id, resource_version=""):
+ resource = "/network/l3-networks/l3-network/%s/subnets/subnet/%s" % (network_id, subnet_id)
+ if resource_version:
+ resource = resource + "?resource-version=%s" % resource_version
+ ret = call_aai(resource, "DELETE")
+ if ret[0] != 0:
+ logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
+ raise NSLCMException("Subnetwork delete exception in AAI")
+ return json.JSONDecoder().decode(ret[1]), ret[2]