Add docs directory and NSLCM api document 09/14409/1
authoryangyan <yangyanyj@chinamobile.com>
Fri, 22 Sep 2017 02:10:38 +0000 (10:10 +0800)
committeryangyan <yangyanyj@chinamobile.com>
Fri, 22 Sep 2017 02:16:39 +0000 (10:16 +0800)
Add docs directory and NSLCM api document

Issue-ID: VFC-403
Change-Id: Ib02badc97c66752aebde0e3c335ce239a45eb7ca
Signed-off-by: yangyan <yangyanyj@chinamobile.com>
docs/NSLCM_API_Specification_v0.1.rst [new file with mode: 0644]
docs/index.rst [new file with mode: 0644]

diff --git a/docs/NSLCM_API_Specification_v0.1.rst b/docs/NSLCM_API_Specification_v0.1.rst
new file mode 100644 (file)
index 0000000..b6992b1
--- /dev/null
@@ -0,0 +1,544 @@
+.. contents::\r
+   :depth: 1\r
+..\r
+\r
+NL LCM API\r
+==========\r
+\r
+ {\r
+   "swagger": "2.0",\r
+   "info": {\r
+     "version": "1.0.0",\r
+     "title": "ONAP VFC Network Service Lifecycle Management API",\r
+     "description": "VFC Network Service Lifecycle Management Rest API.",\r
+     "contact": {\r
+       "name": "ONAP VFC team",\r
+       "email": "onap-discuss@lists.onap.org",\r
+       "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"\r
+     }\r
+   },\r
+   "basePath": "/api/nslcm/v1",\r
+   "schemes": [\r
+     "http",\r
+     "https"\r
+   ],\r
+   "consumes": [\r
+     "application/json"\r
+   ],\r
+   "produces": [\r
+     "application/json"\r
+   ],\r
+   "paths": {\r
+     "/ns": {\r
+       "post": {\r
+         "tags": [\r
+           "ns"\r
+         ],\r
+         "summary": "ns create",\r
+         "description": "ns create",\r
+         "operationId": "ns_create",\r
+         "parameters": [\r
+           {\r
+             "in": "body",\r
+             "name": "NSCreateRequest",\r
+             "description": "NS Instance Create Request",\r
+             "required": true,\r
+             "schema": {\r
+               "$ref": "#/definitions/NsCreateRequest"\r
+             }\r
+           }\r
+         ],\r
+         "responses": {\r
+           "200": {\r
+             "description": "successful operation",\r
+             "schema": {\r
+               "$ref": "#/definitions/NsCreateResponse"\r
+             }\r
+           }\r
+         }\r
+       },\r
+       "get": {\r
+         "tags": [\r
+           "ns"\r
+         ],\r
+         "summary": "ns get",\r
+         "description": "ns get",\r
+         "operationId": "ns_get",\r
+         "parameters": [],\r
+         "responses": {\r
+           "200": {\r
+             "description": "successful operation",\r
+             "schema": {\r
+               "$ref": "#/definitions/NsInfo"\r
+             }\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "/ns/{nsInstanceId}/Instantiate": {\r
+       "post": {\r
+         "tags": [\r
+           "ns"\r
+         ],\r
+         "summary": "ns Instantiate",\r
+         "description": "ns Instantiate",\r
+         "operationId": "ns_Instantiate",\r
+         "parameters": [\r
+           {\r
+             "required": true,\r
+             "type": "string",\r
+             "description": "",\r
+             "name": "nsInstanceId",\r
+             "in": "path"\r
+           },\r
+           {\r
+             "in": "body",\r
+             "name": "NSInstantiateRequest",\r
+             "description": "NS Instantiate Request Body",\r
+             "required": true,\r
+             "schema": {\r
+               "$ref": "#/definitions/NsInstantiateRequest"\r
+             }\r
+           }\r
+         ],\r
+         "responses": {\r
+           "200": {\r
+             "description": "",\r
+             "schema": {\r
+               "$ref": "#/definitions/JobInfo"\r
+             }\r
+           },\r
+           "201": {\r
+             "description": "Invalid Request"\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "/ns/{nsInstanceId}/scale": {\r
+       "post": {\r
+         "tags": [\r
+           "ns"\r
+         ],\r
+         "summary": "ns scale",\r
+         "description": "ns scale",\r
+         "operationId": "ns_scale",\r
+         "parameters": [\r
+           {\r
+             "required": true,\r
+             "type": "string",\r
+             "description": "",\r
+             "name": "nsInstanceId",\r
+             "in": "path"\r
+           },\r
+           {\r
+             "in": "body",\r
+             "name": "ScaleNSRequest",\r
+             "description": "Scale NS Request Body",\r
+             "required": true,\r
+             "schema": {\r
+               "$ref": "#/definitions/NsScaleRequest"\r
+             }\r
+           }\r
+         ],\r
+         "responses": {\r
+           "200": {\r
+             "description": "",\r
+             "schema": {\r
+               "$ref": "#/definitions/JobInfo"\r
+             }\r
+           },\r
+           "201": {\r
+             "description": "Invalid Request"\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "/ns/{ns_instance_id}/heal": {\r
+       "post": {\r
+         "tags": [\r
+           "ns"\r
+         ],\r
+         "summary": "ns heal",\r
+         "description": "ns heal",\r
+         "operationId": "ns_heal",\r
+         "parameters": [\r
+           {\r
+             "required": true,\r
+             "type": "string",\r
+             "description": "Identifier of the NS instance.",\r
+             "name": "ns_instance_id",\r
+             "in": "path"\r
+           },\r
+           {\r
+             "in": "body",\r
+             "name": "healVnfData",\r
+             "description": "healVnfData",\r
+             "required": true,\r
+             "schema": {\r
+               "$ref": "#/definitions/NsHealRequest"\r
+             }\r
+           }\r
+         ],\r
+         "responses": {\r
+           "202": {\r
+             "description": "",\r
+             "schema": {\r
+               "$ref": "#/definitions/JobInfo"\r
+             }\r
+           },\r
+           "500": {\r
+             "description": "the url is invalid"\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "/ns/{ns_instance_id}/terminate": {\r
+       "post": {\r
+         "tags": [\r
+           "ns"\r
+         ],\r
+         "summary": "ns terminate",\r
+         "description": "ns terminate",\r
+         "operationId": "ns_terminate",\r
+         "parameters": [\r
+           {\r
+             "required": true,\r
+             "type": "string",\r
+             "description": "Identifier of the NS instance.",\r
+             "name": "ns_instance_id",\r
+             "in": "path"\r
+           },\r
+           {\r
+             "in": "body",\r
+             "name": "NsTerminateRequest",\r
+             "description": "NsTerminateRequest",\r
+             "required": true,\r
+             "schema": {\r
+               "$ref": "#/definitions/NsTerminateRequest"\r
+             }\r
+           }\r
+         ],\r
+         "responses": {\r
+           "202": {\r
+             "description": "",\r
+             "schema": {\r
+               "$ref": "#/definitions/JobInfo"\r
+             }\r
+           },\r
+           "500": {\r
+             "description": "the url is invalid"\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "/ns/{ns_instance_id}": {\r
+       "delete": {\r
+         "tags": [\r
+           "ns"\r
+         ],\r
+         "summary": "ns delete",\r
+         "description": "ns delete",\r
+         "operationId": "ns_delete",\r
+         "parameters": [\r
+           {\r
+             "required": true,\r
+             "type": "string",\r
+             "description": "Identifier of the NS instance.",\r
+             "name": "ns_instance_id",\r
+             "in": "path"\r
+           }\r
+         ],\r
+         "responses": {\r
+           "204": {\r
+             "description": "The NS instance resource and the associated NS identifier were deleted successfully."\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "/jobs/{jobId}": {\r
+       "post": {\r
+         "tags": [\r
+           "job"\r
+         ],\r
+         "summary": "jobstatus",\r
+         "description": "",\r
+         "operationId": "jobstatus",\r
+         "parameters": [\r
+           {\r
+             "required": true,\r
+             "type": "string",\r
+             "description": "",\r
+             "name": "jobId",\r
+             "in": "path"\r
+           },\r
+           {\r
+             "in": "body",\r
+             "name": "body",\r
+             "description": "request param",\r
+             "required": true,\r
+             "schema": {\r
+               "$ref": "#/definitions/JobProgressRequest"\r
+             }\r
+           }\r
+         ],\r
+         "responses": {\r
+           "202": {\r
+             "description": ""\r
+           }\r
+         }\r
+       }\r
+     }\r
+   },\r
+   "definitions": {\r
+     "NsCreateRequest": {\r
+       "type": "object",\r
+       "properties": {\r
+         "csarId": {\r
+           "type": "string",\r
+           "description": "the NS package ID"\r
+         },\r
+         "nsName": {\r
+           "type": "string"\r
+         },\r
+         "description": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "NsCreateResponse": {\r
+       "type": "object",\r
+       "properties": {\r
+         "nsInstanceId": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "NsInstantiateRequest": {\r
+       "type": "object",\r
+       "properties": {\r
+         "LocationConstraints": {\r
+           "type": "array",\r
+           "items": {\r
+             "$ref": "#/definitions/LocationConstraint"\r
+           }\r
+         },\r
+         "additionalParamForNs": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "LocationConstraint": {\r
+       "type": "object",\r
+       "properties": {\r
+         "vnfProfileId": {\r
+           "type": "string"\r
+         },\r
+         "locationConstraints": {\r
+           "type": "object",\r
+           "properties": {\r
+             "vimid": {\r
+               "type": "string"\r
+             }\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "NsScaleRequest": {\r
+       "type": "object",\r
+       "properties": {\r
+         "scaleType": {\r
+           "type": "string"\r
+         },\r
+         "scaleNsByStepsData": {\r
+           "$ref": "#/definitions/NsScaleByStepsData"\r
+         }\r
+       }\r
+     },\r
+     "NsScaleByStepsData": {\r
+       "type": "object",\r
+       "properties": {\r
+         "scalingDirection": {\r
+           "type": "string"\r
+         },\r
+         "aspectId": {\r
+           "type": "string"\r
+         },\r
+         "numberOfSteps": {\r
+           "type": "integer"\r
+         }\r
+       }\r
+     },\r
+     "NsHealRequest": {\r
+       "type": "object",\r
+       "properties": {\r
+         "vnfInstanceId": {\r
+           "type": "string"\r
+         },\r
+         "cause": {\r
+           "type": "string"\r
+         },\r
+         "additionalParams": {\r
+           "type": "object",\r
+           "properties": {\r
+             "action": {\r
+               "type": "string"\r
+             },\r
+             "actionvminfo": {\r
+               "type": "object",\r
+               "properties": {\r
+                 "vmid": {\r
+                   "type": "string"\r
+                 },\r
+                 "vmname": {\r
+                   "type": "string"\r
+                 }\r
+               }\r
+             }\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "NsTerminateRequest": {\r
+       "type": "object",\r
+       "properties": {\r
+         "terminationType": {\r
+           "type": "string"\r
+         },\r
+         "gracefulTerminationTimeout": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "JobInfo": {\r
+       "type": "object",\r
+       "properties": {\r
+         "jobId": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "JobProgressRequest": {\r
+       "type": "object",\r
+       "properties": {\r
+         "progress": {\r
+           "type": "string"\r
+         },\r
+         "desc": {\r
+           "type": "string"\r
+         },\r
+         "errcode": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "NsInfo": {\r
+       "type": "object",\r
+       "properties": {\r
+         "nsInstanceId": {\r
+           "type": "string"\r
+         },\r
+         "nsName": {\r
+           "type": "string"\r
+         },\r
+         "description": {\r
+           "type": "string"\r
+         },\r
+         "nsdId": {\r
+           "type": "string"\r
+         },\r
+         "vnfInfo": {\r
+           "type": "array",\r
+           "items": {\r
+             "$ref": "#/definitions/vnfInfo"\r
+           }\r
+         },\r
+         "vlInfo": {\r
+           "type": "array",\r
+           "items": {\r
+             "$ref": "#/definitions/vlInfo"\r
+           }\r
+         },\r
+         "vnffgInfo": {\r
+           "type": "array",\r
+           "items": {\r
+             "$ref": "#/definitions/vnffgInfo"\r
+           }\r
+         },\r
+         "nsState": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "vnfInfo": {\r
+       "type": "object",\r
+       "properties": {\r
+         "vnfInstanceId": {\r
+           "type": "string"\r
+         },\r
+         "vnfInstanceName": {\r
+           "type": "string"\r
+         },\r
+         "vnfdId": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "vlInfo": {\r
+       "type": "object",\r
+       "properties": {\r
+         "vlInstanceId": {\r
+           "type": "string"\r
+         },\r
+         "vlInstanceName": {\r
+           "type": "string"\r
+         },\r
+         "vldId": {\r
+           "type": "string"\r
+         },\r
+         "relatedCpInstanceId": {\r
+           "type": "array",\r
+           "items": {\r
+             "$ref": "#/definitions/cpInfo"\r
+           }\r
+         }\r
+       }\r
+     },\r
+     "cpInfo": {\r
+       "type": "object",\r
+       "properties": {\r
+         "cpInstanceId": {\r
+           "type": "string"\r
+         },\r
+         "cpInstanceName": {\r
+           "type": "string"\r
+         },\r
+         "cpdId": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     },\r
+     "vnffgInfo": {\r
+       "type": "object",\r
+       "properties": {\r
+         "vnffgInstanceId": {\r
+           "type": "string"\r
+         },\r
+         "vnfId": {\r
+           "type": "string"\r
+         },\r
+         "pnfId": {\r
+           "type": "string"\r
+         },\r
+         "virtualLinkId": {\r
+           "type": "string"\r
+         },\r
+         "cpId": {\r
+           "type": "string"\r
+         },\r
+         "nfp": {\r
+           "type": "string"\r
+         }\r
+       }\r
+     }\r
+   }\r
+ }
\ No newline at end of file
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644 (file)
index 0000000..c8ea095
--- /dev/null
@@ -0,0 +1,7 @@
+NSLCM API\r
+---------\r
+\r
+.. toctree::\r
+    :titlesonly:\r
+\r
+    NSLCM_API_Specification_v0.1
\ No newline at end of file