summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorYun Huang <yun.huang@windriver.com>2018-05-30 18:15:36 +0800
committerYun Huang <yun.huang@windriver.com>2018-05-30 18:15:36 +0800
commit889735bc51e90217ea6540ecc5d62337434cff6c (patch)
tree4605a6aea96141309edb206bfba1e17ba806ce10 /share
parent785f119effd057e0e5e44ab2e1d1f3ec90c5ce5d (diff)
Enable swagger UI for proxied API of capacity
Change-Id: I429c77dafd14a639ff607272ce86a37dd27f3c83 Issue-ID: MULTICLOUD-240 Signed-off-by: Yun Huang <yun.huang@windriver.com>
Diffstat (limited to 'share')
-rw-r--r--share/newton_base/swagger/multicloud.capacity.swagger.json66
-rw-r--r--share/newton_base/swagger/views.py6
2 files changed, 72 insertions, 0 deletions
diff --git a/share/newton_base/swagger/multicloud.capacity.swagger.json b/share/newton_base/swagger/multicloud.capacity.swagger.json
new file mode 100644
index 00000000..903458a9
--- /dev/null
+++ b/share/newton_base/swagger/multicloud.capacity.swagger.json
@@ -0,0 +1,66 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.0.0",
+ "title": "MultiVIM Capacity check rest API"
+ },
+ "basePath": "/api/multicloud-newton/v0/",
+ "tags": [
+ {
+ "name": "MultiVIM Capacity check"
+ }
+ ],
+ "paths": {
+ "/{vimid}/capacity_check": {
+ "post": {
+ "tags": [
+ "MultiCloud Capacity Proxy"
+ ],
+ "summary": "check capacity",
+ "description": "check capacity",
+ "operationId": "check_openstack_capacity",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "vimid",
+ "in": "path",
+ "description": "vim instance id",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "X-Auth-Token",
+ "in": "header",
+ "description": "authenticated token",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "parameters to check openstack capacity",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "type": "string"
+ },
+ "404": {
+ "description": "the vim id is wrong"
+ },
+ "500": {
+ "description": "the vim capacity check is not accessable"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/share/newton_base/swagger/views.py b/share/newton_base/swagger/views.py
index 0e3722ec..165cf01e 100644
--- a/share/newton_base/swagger/views.py
+++ b/share/newton_base/swagger/views.py
@@ -96,6 +96,12 @@ class SwaggerJsonView(APIView):
f.close()
json_data["paths"].update(json_data_temp["paths"])
+ json_file = os.path.join(os.path.dirname(__file__), 'multicloud.capacity.swagger.json')
+ f = open(json_file)
+ json_data_temp = json.JSONDecoder().decode(f.read())
+ f.close()
+ json_data["paths"].update(json_data_temp["paths"])
+
json_data["basePath"] = "/api/multicloud-newton/v0/"
json_data["info"]["title"] = "Service NBI of MultiCloud plugin for OpenStack Newton"
return Response(json_data)