aboutsummaryrefslogtreecommitdiffstats
path: root/docs/platform/APIs/NSLCM_API
diff options
context:
space:
mode:
authoryangyan <yangyanyj@chinamobile.com>2017-11-01 12:20:49 +0800
committeryangyan <yangyanyj@chinamobile.com>2017-11-01 12:21:27 +0800
commitad8793f9b4a4de8fe8aa37c80d6746403631528f (patch)
treec830abb339bb9231a64e3f0c3c5ed6b82171e68f /docs/platform/APIs/NSLCM_API
parent8ef8e0696d5e9598012363f780d722f90e9d06e2 (diff)
Update VF-C doc
Add VF-C release note Update VF-C component installation document Issue-ID: VFC-574 Change-Id: I8d422e341d785c8d817e53ad5a24412e50933a64 Signed-off-by: yangyan <yangyanyj@chinamobile.com>
Diffstat (limited to 'docs/platform/APIs/NSLCM_API')
-rw-r--r--docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst1086
-rw-r--r--docs/platform/APIs/NSLCM_API/index.rst7
2 files changed, 1093 insertions, 0 deletions
diff --git a/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst b/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
new file mode 100644
index 00000000..bada11e7
--- /dev/null
+++ b/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
@@ -0,0 +1,1086 @@
+
+
+NS LCM API
+==========
+
+ {
+ "swagger": "2.0",
+
+ "info": {
+
+ "version": "1.0.0",
+
+ "title": "ONAP VFC Network Service Lifecycle Management API",
+
+ "description": "VFC Network Service Lifecycle Management Rest API.",
+
+ "contact": {
+
+ "name": "ONAP VFC team",
+
+ "email": "onap-discuss@lists.onap.org",
+
+ "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"
+
+ }
+
+ },
+
+ "basePath": "/api/nslcm/v1",
+
+ "schemes": [
+
+ "http",
+ "https"
+
+ ],
+
+ "consumes": [
+
+ "application/json"
+
+ ],
+ "produces": [
+
+ "application/json"
+
+ ],
+ "paths": {
+
+ "/ns": {
+
+ "post": {
+
+ "tags": [
+
+ "ns"
+
+ ],
+ "summary": "ns create",
+
+ "description": "ns create",
+
+ "operationId": "ns_create",
+
+ "parameters": [
+
+ {
+
+ "in": "body",
+
+ "name": "NSCreateRequest",
+
+ "description": "NS Instance Create Request",
+
+ "required": true,
+
+ "schema": {
+
+ "$ref": "#/definitions/NsCreateRequest"
+
+ }
+
+ }
+
+ ],
+
+ "responses": {
+
+ "200": {
+
+ "description": "successful operation",
+
+ "schema": {
+
+ "$ref": "#/definitions/NsCreateResponse"
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "get": {
+
+ "tags": [
+
+ "ns"
+
+ ],
+
+ "summary": "ns get",
+
+ "description": "ns get",
+
+ "operationId": "ns_get",
+
+ "parameters": [],
+
+ "responses": {
+
+ "200": {
+
+ "description": "successful operation",
+
+ "schema": {
+
+ "$ref": "#/definitions/NsInfo"
+
+ }
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "/ns/{nsInstanceId}/Instantiate": {
+
+ "post": {
+
+ "tags": [
+
+ "ns"
+
+ ],
+
+ "summary": "ns Instantiate",
+
+ "description": "ns Instantiate",
+
+ "operationId": "ns_Instantiate",
+
+ "parameters": [
+
+ {
+ "required": true,
+
+ "type": "string",
+
+ "description": "",
+
+ "name": "nsInstanceId",
+
+ "in": "path"
+
+ },
+ {
+
+ "in": "body",
+
+ "name": "NSInstantiateRequest",
+
+ "description": "NS Instantiate Request Body",
+
+ "required": true,
+
+ "schema": {
+
+ "$ref": "#/definitions/NsInstantiateRequest"
+
+ }
+
+ }
+
+ ],
+
+ "responses": {
+
+ "200": {
+
+ "description": "",
+
+ "schema": {
+
+ "$ref": "#/definitions/JobInfo"
+
+ }
+
+ },
+
+ "201": {
+
+ "description": "Invalid Request"
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "/ns/{nsInstanceId}/scale": {
+
+ "post": {
+
+ "tags": [
+
+ "ns"
+
+ ],
+
+ "summary": "ns scale",
+
+ "description": "ns scale",
+
+ "operationId": "ns_scale",
+
+ "parameters": [
+
+ {
+
+ "required": true,
+
+ "type": "string",
+
+ "description": "",
+
+ "name": "nsInstanceId",
+
+ "in": "path"
+
+ },
+
+ {
+
+ "in": "body",
+
+ "name": "ScaleNSRequest",
+
+ "description": "Scale NS Request Body",
+
+ "required": true,
+
+ "schema": {
+
+ "$ref": "#/definitions/NsScaleRequest"
+
+ }
+
+ }
+
+ ],
+
+ "responses": {
+
+ "200": {
+
+ "description": "",
+
+ "schema": {
+
+ "$ref": "#/definitions/JobInfo"
+
+ }
+
+ },
+
+ "201": {
+
+ "description": "Invalid Request"
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "/ns/{ns_instance_id}/heal": {
+
+ "post": {
+
+ "tags": [
+
+ "ns"
+
+ ],
+
+ "summary": "ns heal",
+
+ "description": "ns heal",
+
+ "operationId": "ns_heal",
+
+ "parameters": [
+
+ {
+ "required": true,
+
+ "type": "string",
+
+ "description": "Identifier of the NS instance.",
+
+ "name": "ns_instance_id",
+
+ "in": "path"
+
+ },
+
+ {
+
+ "in": "body",
+
+ "name": "healVnfData",
+
+ "description": "healVnfData",
+
+ "required": true,
+
+ "schema": {
+
+ "$ref": "#/definitions/NsHealRequest"
+
+ }
+
+ }
+
+ ],
+
+ "responses": {
+
+ "202": {
+
+ "description": "",
+
+ "schema": {
+
+ "$ref": "#/definitions/JobInfo"
+
+ }
+
+ },
+
+ "500": {
+
+ "description": "the url is invalid"
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "/ns/{ns_instance_id}/terminate": {
+
+ "post": {
+
+ "tags": [
+
+ "ns"
+
+ ],
+
+ "summary": "ns terminate",
+
+ "description": "ns terminate",
+
+ "operationId": "ns_terminate",
+
+ "parameters": [
+
+ {
+
+ "required": true,
+
+ "type": "string",
+
+ "description": "Identifier of the NS instance.",
+
+ "name": "ns_instance_id",
+
+ "in": "path"
+
+ },
+
+ {
+ "in": "body",
+
+ "name": "NsTerminateRequest",
+
+ "description": "NsTerminateRequest",
+
+ "required": true,
+
+ "schema": {
+
+ "$ref": "#/definitions/NsTerminateRequest"
+
+ }
+
+ }
+
+ ],
+
+ "responses": {
+
+ "202": {
+
+ "description": "",
+
+ "schema": {
+
+ "$ref": "#/definitions/JobInfo"
+
+ }
+
+ },
+
+ "500": {
+
+ "description": "the url is invalid"
+
+ }
+
+ }
+
+ }
+
+ },
+ "/ns/{ns_instance_id}": {
+
+ "delete": {
+
+ "tags": [
+
+ "ns"
+
+ ],
+
+ "summary": "ns delete",
+
+ "description": "ns delete",
+
+ "operationId": "ns_delete",
+
+ "parameters": [
+
+ {
+ "required": true,
+
+ "type": "string",
+
+ "description": "Identifier of the NS instance.",
+
+ "name": "ns_instance_id",
+
+ "in": "path"
+
+ }
+
+ ],
+
+ "responses": {
+
+ "204": {
+
+ "description": "The NS instance resource and the associated NS identifier were deleted successfully."
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "/jobs/{jobId}": {
+
+ "post": {
+
+ "tags": [
+
+ "job"
+
+ ],
+
+ "summary": "jobstatus",
+
+ "description": "",
+
+ "operationId": "jobstatus",
+
+ "parameters": [
+
+ {
+ "required": true,
+
+ "type": "string",
+
+ "description": "",
+
+ "name": "jobId",
+
+ "in": "path"
+
+ },
+
+ {
+
+ "in": "body",
+
+ "name": "body",
+
+ "description": "request param",
+
+ "required": true,
+
+ "schema": {
+
+ "$ref": "#/definitions/JobProgressRequest"
+
+ }
+
+ }
+
+ ],
+
+ "responses": {
+
+ "202": {
+
+ "description": ""
+
+ }
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "definitions": {
+
+ "NsCreateRequest": {
+
+ "type": "object",
+
+ "properties": {
+
+ "context":{
+
+ "type": "object",
+
+ "properties": {
+
+ "globalCustomerId":{
+
+ "type": "string",
+ "description": "the global customer id"
+
+ },
+
+ "serviceType":{
+ "type": "string",
+
+ "description": "service type"
+
+ }
+
+ }
+
+ },
+
+ "csarId": {
+
+ "type": "string",
+
+ "description": "the NS package ID"
+
+ },
+
+ "nsName": {
+
+ "type": "string"
+
+ },
+
+ "description": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+
+ "NsCreateResponse": {
+
+ "type": "object",
+
+ "properties": {
+
+ "nsInstanceId": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+ "NsInstantiateRequest": {
+
+ "type": "object",
+
+ "properties": {
+
+ "LocationConstraints": {
+
+ "type": "array",
+
+ "items": {
+
+ "$ref": "#/definitions/LocationConstraint"
+
+ }
+
+ },
+
+ "additionalParamForNs": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+
+ "LocationConstraint": {
+
+ "type": "object",
+
+ "properties": {
+
+ "vnfProfileId": {
+
+ "type": "string"
+
+ },
+ "locationConstraints": {
+
+ "type": "object",
+
+ "properties": {
+
+ "vimid": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "NsScaleRequest": {
+
+ "type": "object",
+
+ "properties": {
+
+ "scaleType": {
+
+ "type": "string"
+
+ },
+
+ "scaleNsByStepsData": {
+
+ "$ref": "#/definitions/NsScaleByStepsData"
+
+ }
+
+ }
+
+ },
+
+ "NsScaleByStepsData": {
+
+ "type": "object",
+
+ "properties": {
+
+ "scalingDirection": {
+
+ "type": "string"
+
+ },
+
+ "aspectId": {
+
+ "type": "string"
+
+ },
+
+ "numberOfSteps": {
+
+ "type": "integer"
+
+ }
+
+ }
+
+ },
+
+ "NsHealRequest": {
+
+ "type": "object",
+
+ "properties": {
+
+ "vnfInstanceId": {
+
+ "type": "string"
+
+ },
+
+ "cause": {
+
+ "type": "string"
+
+ },
+
+ "additionalParams": {
+
+ "type": "object",
+
+ "properties": {
+
+ "action": {
+
+ "type": "string"
+
+ },
+
+ "actionvminfo": {
+
+ "type": "object",
+
+ "properties": {
+
+ "vmid": {
+
+ "type": "string"
+
+ },
+
+ "vmname": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "NsTerminateRequest": {
+
+ "type": "object",
+
+ "properties": {
+
+ "terminationType": {
+
+ "type": "string"
+
+ },
+
+ "gracefulTerminationTimeout": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+
+ "JobInfo": {
+
+ "type": "object",
+
+ "properties": {
+
+ "jobId": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+
+ "JobProgressRequest": {
+
+ "type": "object",
+
+ "properties": {
+
+ "progress": {
+
+ "type": "string"
+
+ },
+
+ "desc": {
+
+ "type": "string"
+
+ },
+
+ "errcode": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+
+ "NsInfo": {
+
+ "type": "object",
+
+ "properties": {
+
+ "nsInstanceId": {
+
+ "type": "string"
+
+ },
+
+ "nsName": {
+
+ "type": "string"
+
+ },
+
+ "description": {
+
+ "type": "string"
+
+ },
+
+ "nsdId": {
+
+ "type": "string"
+
+ },
+
+ "vnfInfo": {
+
+ "type": "array",
+
+ "items": {
+
+ "$ref": "#/definitions/vnfInfo"
+
+ }
+
+ },
+
+ "vlInfo": {
+
+ "type": "array",
+
+ "items": {
+
+ "$ref": "#/definitions/vlInfo"
+
+ }
+
+ },
+
+ "vnffgInfo": {
+
+ "type": "array",
+
+ "items": {
+
+ "$ref": "#/definitions/vnffgInfo"
+
+ }
+
+ },
+
+ "nsState": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+
+ "vnfInfo": {
+
+ "type": "object",
+
+ "properties": {
+
+ "vnfInstanceId": {
+
+ "type": "string"
+
+ },
+
+ "vnfInstanceName": {
+
+ "type": "string"
+
+ },
+
+ "vnfdId": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+
+ "vlInfo": {
+
+ "type": "object",
+
+ "properties": {
+
+ "vlInstanceId": {
+
+ "type": "string"
+
+ },
+
+ "vlInstanceName": {
+
+ "type": "string"
+
+ },
+
+ "vldId": {
+
+ "type": "string"
+
+ },
+
+ "relatedCpInstanceId": {
+
+ "type": "array",
+
+ "items": {
+
+ "$ref": "#/definitions/cpInfo"
+
+ }
+
+ }
+
+ }
+
+ },
+
+ "cpInfo": {
+
+ "type": "object",
+
+ "properties": {
+
+ "cpInstanceId": {
+
+ "type": "string"
+
+ },
+
+ "cpInstanceName": {
+
+ "type": "string"
+
+ },
+
+ "cpdId": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ },
+ "vnffgInfo": {
+
+ "type": "object",
+
+ "properties": {
+
+ "vnffgInstanceId": {
+
+ "type": "string"
+
+ },
+
+ "vnfId": {
+
+ "type": "string"
+
+ },
+ "pnfId": {
+
+ "type": "string"
+
+ },
+
+ "virtualLinkId": {
+
+ "type": "string"
+
+ },
+
+ "cpId": {
+
+ "type": "string"
+
+ },
+
+ "nfp": {
+
+ "type": "string"
+
+ }
+
+ }
+
+ }
+
+ }
+
+ } \ No newline at end of file
diff --git a/docs/platform/APIs/NSLCM_API/index.rst b/docs/platform/APIs/NSLCM_API/index.rst
new file mode 100644
index 00000000..ffbf0756
--- /dev/null
+++ b/docs/platform/APIs/NSLCM_API/index.rst
@@ -0,0 +1,7 @@
+NSLCM API
+---------
+
+.. toctree::
+ :titlesonly:
+
+.. literalinclude:: NSLCM_API_Specification_v0.1.rst \ No newline at end of file