--- /dev/null
+.. 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