+++ /dev/null
-{\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
- "404": {\r
- "description": "URL not found"\r
- }\r
- }\r
- },\r
- "get": {\r
- "tags": [\r
- "ns"\r
- ],\r
- "summary": "ns get",\r
- "description": "ns get",\r
- "operationId": "ns_instantces_get",\r
- "parameters": [\r
- {\r
- "required": true,\r
- "type": "string",\r
- "description": "job response message id",\r
- "name": "csarId",\r
- "in": "query"\r
- }\r
- ],\r
- "responses": {\r
- "200": {\r
- "description": "successful operation",\r
- "schema": {\r
- "$ref": "#/definitions/NsInstancesInfo"\r
- }\r
- },\r
- "404": {\r
- "description": "URL not found"\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
- "404": {\r
- "description": "URL not found"\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
- "404": {\r
- "description": "URL not found"\r
- }\r
- }\r
- }\r
- },\r
- "/ns/{nsInstanceId}/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": "nsInstanceId",\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
- "404": {\r
- "description": "URL not found"\r
- },\r
- "500": {\r
- "description": "the url is invalid"\r
- }\r
- }\r
- }\r
- },\r
- "/ns/{nsInstanceId}/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": "nsInstanceId",\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/{nsInstanceId}": {\r
- "get": {\r
- "tags": [\r
- "ns"\r
- ],\r
- "summary": "ns get",\r
- "description": "ns get",\r
- "operationId": "ns_instance_get",\r
- "parameters": [\r
- {\r
- "required": true,\r
- "type": "string",\r
- "description": "Identifier of the NS instance.",\r
- "name": "nsInstanceId",\r
- "in": "path"\r
- }\r
- ],\r
- "responses": {\r
- "200": {\r
- "description": "successful operation",\r
- "schema": {\r
- "$ref": "#/definitions/NsInstanceInfo"\r
- }\r
- }\r
- }\r
- },\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": "nsInstanceId",\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
- "get": {\r
- "tags": [\r
- "job"\r
- ],\r
- "summary": "jobstatus",\r
- "description": "",\r
- "operationId": "get_jobstatus",\r
- "parameters": [\r
- {\r
- "required": true,\r
- "type": "string",\r
- "description": "job Id",\r
- "name": "jobId",\r
- "in": "path"\r
- },\r
- {\r
- "required": true,\r
- "type": "string",\r
- "description": "job response message id",\r
- "name": "responseId",\r
- "in": "query"\r
- }\r
- ],\r
- "responses": {\r
- "202": {\r
- "description": "",\r
- "schema": {\r
- "$ref": "#/definitions/JobDetailInfo"\r
- }\r
- }\r
- }\r
- }\r
- }\r
- },\r
- "definitions": {\r
- "NsCreateRequest": {\r
- "type": "object",\r
- "properties": {\r
- "context":{\r
- "type": "object",\r
- "properties": {\r
- "globalCustomerId":{\r
- "type": "string",\r
- "description": "the global customer id"\r
- },\r
- "serviceType":{\r
- "type": "string",\r
- "description": "service type"\r
- }\r
- }\r
- },\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": "object",\r
- "additionalProperties" : {\r
- "type" : "string"\r
- }\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
- "NsInstancesInfo":{\r
- "type": "array",\r
- "items": {\r
- "$ref": "#/definitions/NsInstanceInfo"\r
- }\r
- },\r
- "NsInstanceInfo": {\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
- "jobResponseInfo": {\r
- "type": "object",\r
- "properties": {\r
- "status": {\r
- "type": "string"\r
- },\r
- "progress":{\r
- "type": "string"\r
- },\r
- "statusDescription": {\r
- "type": "string"\r
- },\r
- "errorCode": {\r
- "type": "string"\r
- },\r
- "responseId": {\r
- "type": "string"\r
- }\r
- }\r
- },\r
- "JobDetailInfo":{\r
- "type": "object",\r
- "properties": {\r
- "jobId": {\r
- "type": "string"\r
- },\r
- "responseDescriptor":\r
- {\r
- "type":"object",\r
- "properties": {\r
- "status": {\r
- "type": "string"\r
- },\r
- "progress":{\r
- "type": "string"\r
- },\r
- "statusDescription": {\r
- "type": "string"\r
- },\r
- "errorCode": {\r
- "type": "string"\r
- },\r
- "responseId": {\r
- "type": "string"\r
- },\r
- "responseHistoryList": {\r
- "type": "array",\r
- "items": {\r
- "$ref": "#/definitions/jobResponseInfo"\r
- }\r
- }\r
- }\r
- }\r
- }\r
- }\r
- }\r
-}\r
+++ /dev/null
-{
- "swagger": "2.0",
- "info": {
- "version": "1.0.0",
- "title": "ONAP VNFM Driver Development Related API",
- "description": "ONAP VNFM Driver Development Related 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",
- "schemes": [
- "http",
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/{vnfmtype}/v1/{vnfmid}/vnfs": {
- "post": {
- "tags": [
- "VNFMDriver"
- ],
- "summary": "vnf create&instantiate",
- "description": "VNF create&instantiate Rest API should be provided by the VNFM Driver",
- "operationId": "vnf_instantiate",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmtype should be the SVNFM driver service name",
- "name": "vnfmtype",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmid should be the VNFM Instantiate ID",
- "name": "vnfmid",
- "in": "path"
- },
- {
- "in": "body",
- "name": "body",
- "description": "instantiate request param",
- "required": true,
- "schema": {
- "$ref": "#/definitions/VnfInstantiateRequest"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/VnfInstantiateResponse"
- }
- }
- }
- }
- },
- "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/scale": {
- "post": {
- "tags": [
- "VNFMDriver"
- ],
- "summary": "vnf Scale",
- "description": "VNF Scale Rest API should be provided by the VNFM Driver",
- "operationId": "vnf_scale",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmtype should be the SVNFM driver service name",
- "name": "vnfmtype",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmid should be the VNFM Instantiate ID",
- "name": "vnfmid",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
- "name": "vnfInstanceId",
- "in": "path"
- },
- {
- "in": "body",
- "name": "body",
- "description": "instantiate request param",
- "required": true,
- "schema": {
- "$ref": "#/definitions/VnfScaleRequest"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/JobInfo"
- }
- },
- "404": {
- "description": "the VNF instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/heal": {
- "post": {
- "tags": [
- "VNFMDriver"
- ],
- "summary": "vnf heal",
- "description": "VNF Heal Rest API should be provided by the VNFM Driver",
- "operationId": "vnf_heal",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmtype should be the SVNFM driver service name",
- "name": "vnfmtype",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmid should be the VNFM Instantiate ID",
- "name": "vnfmid",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
- "name": "vnfInstanceId",
- "in": "path"
- },
- {
- "in": "body",
- "name": "body",
- "description": "instantiate request param",
- "required": true,
- "schema": {
- "$ref": "#/definitions/VnfHealRequest"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/JobInfo"
- }
- },
- "404": {
- "description": "the VNF instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/terminate": {
- "post": {
- "tags": [
- "VNFMDriver"
- ],
- "summary": "terminate&delete vnf",
- "description": "VNF terminate&delete Rest API should be provided by the VNFM Driver",
- "operationId": "terminate_vnf",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmtype should be the SVNFM driver service name",
- "name": "vnfmtype",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmid should be the VNFM Instantiate ID",
- "name": "vnfmid",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
- "name": "vnfInstanceId",
- "in": "path"
- },
- {
- "in": "body",
- "name": "body",
- "description": "instantiate request param",
- "required": true,
- "schema": {
- "$ref": "#/definitions/VnfTerminateRequest"
- }
- }
- ],
- "responses": {
- "204": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/JobInfo"
- }
- },
- "404": {
- "description": "the VNF instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}": {
- "get": {
- "tags": [
- "VNFMDriver"
- ],
- "summary": "query the specified vnf info",
- "description": "",
- "operationId": "query_vnf",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmtype should be the SVNFM driver service name",
- "name": "vnfmtype",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmid should be the VNFM Instantiate ID",
- "name": "vnfmid",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
- "name": "vnfInstanceId",
- "in": "path"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/VnfInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/nslcm/v1/ns/grantvnf": {
- "post": {
- "tags": [
- "NSLCM"
- ],
- "summary": "grantvnf",
- "description": "Grant VNF, provived by the NSLCM component",
- "operationId": "grantvnf",
- "parameters": [
- {
- "in": "body",
- "name": "grantvnf",
- "description": "Grant VNF Request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/GrantVNFRequest"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/GrantVNFResponse"
- }
- },
- "404": {
- "description": "URL not found"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/nslcm/v1/ns/{vnfmid}/vnfs/{vnfInstanceId}/Notify": {
- "post": {
- "tags": [
- "NSLCM"
- ],
- "summary": "VNF LCM Notification",
- "description": "VNF LCM Notification API should be provided by NSLCM component",
- "operationId": "VNF_LCM_Notification",
- "parameters": [
- {
- "required": true,
- "type": "string",
- "description": "VNFM Instance Id",
- "name": "vnfmid",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "VNF Instance Id",
- "name": "vnfInstanceId",
- "in": "path"
- },
- {
- "in": "body",
- "name": "vnf Notification",
- "description": "VNF LCM Notification",
- "required": true,
- "schema": {
- "$ref": "#/definitions/VNFLCMNotification"
- }
- }
- ],
- "responses": {
- "202": {
- "description": ""
- },
- "404": {
- "description": "URL not found"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfmid}/jobs/{jobid}": {
- "get": {
- "tags": [
- "VNFMDriver"
- ],
- "summary": "jobstatus",
- "description": "Job Infomation API should be provided by VNFM Driver",
- "operationId": "get_jobstatus",
- "parameters": [
- {
- "required": true,
- "type": "string",
- "description": "job Id",
- "name": "jobid",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "The value of vnfmid should be the VNFM Instantiate ID",
- "name": "vnfmid",
- "in": "path"
- },
- {
- "required": true,
- "type": "string",
- "description": "job response message id",
- "name": "responseId",
- "in": "query"
- }
- ],
- "responses": {
- "202": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/JobDetailInfo"
- }
- }
- }
- }
- },
- "/catalog/v1/vnfpackages/{csarId}": {
- "get": {
- "tags": [
- "Catalog"
- ],
- "summary": "query vnf package info",
- "description": "query one vnf package info via vnf package csarId",
- "operationId": "query_vnf_package",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "csarId",
- "in": "path",
- "description": "csar id of vnf package",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/VnfPkgDetailInfo"
- }
- },
- "500": {
- "description": "internal error"
- }
- }
- }
- },
- "/nslcm/v1/vnfms/{vnfmid}":{
- "get": {
- "tags": [
- "NSLCM"
- ],
- "summary": "Query VNFM register info",
- "description": "query VNFM register info",
- "operationId": "query_vnfm_info",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vnfmid",
- "in": "path",
- "description": "vnfm id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/VnfmInfo"
- }
- },
- "404": {
- "description": "URL not found"
- },
- "500": {
- "description": "internal error"
- }
- }
- }
- },
- "/nslcm/v1/vims/{vimid}":{
- "get": {
- "tags": [
- "NSLCM"
- ],
- "summary": "Query VIM register info",
- "description": "query VIM register info",
- "operationId": "query_VIM_info",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vimid",
- "in": "path",
- "description": "vim id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/VimInfo"
- }
- },
- "404": {
- "description": "URL not found"
- },
- "500": {
- "description": "internal error"
- }
- }
- }
- }
- },
- "definitions": {
- "jobResponseInfo": {
- "type": "object",
- "properties": {
- "status": {
- "type": "string"
- },
- "progress": {
- "type": "string"
- },
- "statusDescription": {
- "type": "string"
- },
- "errorCode": {
- "type": "string"
- },
- "responseId": {
- "type": "string"
- }
- }
- },
- "JobStatus" : {
- "description": "The status of the job",
- "type": "string",
- "enum": [
- "started",
- "processing",
- "finished",
- "error",
- "timeout"
- ]
- },
- "JobDetailInfo": {
- "type": "object",
- "properties": {
- "jobId": {
- "type": "string"
- },
- "responseDescriptor": {
- "type": "object",
- "properties": {
- "status": {
- "$ref": "#/definitions/JobStatus",
- "description": "The status of the job"
- },
- "progress": {
- "type": "string",
- "description": "The progress of the job. Value between 0 and 100."
- },
- "statusDescription": {
- "type": "string",
- "description": "The reason of the current status of the job."
- },
- "errorCode": {
- "type": "string"
- },
- "responseId": {
- "type": "string"
- },
- "responseHistoryList": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/jobResponseInfo"
- }
- }
- }
- }
- }
- },
- "ChangeType" : {
- "description": "The type of the change",
- "type": "string",
- "enum": [
- "VDU"
- ]
- },
- "ResourceChange" : {
- "type": "object",
- "properties": {
- "type": {
- "$ref": "#/definitions/ChangeType",
- "description": "The type of the resource."
- },
- "resourceDefinitionId": {
- "description": "The identifier of the resource within the grant request.",
- "type": "string"
- },
- "vdu": {
- "description": "The identifier of the VDU.",
- "type": "string"
- }
- }
- },
- "OperationType" : {
- "description": "The type of operation",
- "type": "string",
- "enum": [
- "Terminal",
- "Instantiate",
- "Scalein",
- "Scaleout",
- "Scaledown",
- "Scaleup",
- "Heal"
- ]
- },
- "GrantVNFRequest": {
- "type": "object",
- "properties": {
- "vnfInstanceId": {
- "type": "string"
- },
- "vnfDescriptorId": {
- "type": "string"
- },
- "lifecycleOperation": {
- "description" : "The type of the operation.",
- "$ref": "#/definitions/OperationType"
- },
- "jobId": {
- "type": "string"
- },
- "addResource": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ResourceChange"
- }
- },
- "removeResource": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ResourceChange"
- }
- },
- "additionalParam": {
- "type": "object",
- "description": "Additional parameters passed to the NFVO, specific to the VNF and the LCM operation. The currently interpreted keys are the following: vimId"
- }
- }
- },
- "GrantVNFResponse": {
- "type": "object",
- "properties": {
- "vim": {
- "type": "object",
- "properties": {
- "vimid": {
- "type": "string"
- },
- "accessinfo": {
- "type": "object",
- "properties": {
- "tenant": {
- "type": "string",
- "description": "The name of the tenant"
- }
- }
- }
- }
- }
- }
- },
- "VnfNotificationType": {
- "description": "The type of the notification",
- "type": "string",
- "enum": [
- "added",
- "removed",
- "modified"
- ]
- },
- "AffectedVnfc": {
- "type": "object",
- "properties": {
- "vnfcInstanceId": {
- "type": "string",
- "description": "Identifier of the VNFC instance"
- },
- "vduId": {
- "type": "string",
- "description": "Identifier of the VDU in the VNFD"
- },
- "changeType": {
- "$ref": "#/definitions/VnfNotificationType",
- "description": "The type of the change"
- },
- "vimId": {
- "type": "string",
- "description": "Identifier of vim"
- },
- "vmId": {
- "type": "string",
- "description": "Identifier of virtual machine"
- },
- "vmName": {
- "type": "string",
- "description": "Name of virtual machine"
- }
- }
- },
- "AffectedVirtualLinkType": {
- "description": "The type of the affected virtual link",
- "type": "string",
- "enum": [
- "network",
- "port"
- ]
- },
- "AffectedVirtualLink":{
- "type": "object",
- "properties": {
- "vlInstanceId": {
- "type": "string",
- "description": "Identifier of the VL instance"
- },
- "vldId": {
- "type": "string",
- "description": "Identifier of the VLD in the VNFD"
- },
- "changeType": {
- "$ref": "#/definitions/VnfNotificationType",
- "description": "The type of the change"
- },
- "networkResource": {
- "type": "object",
- "description": "network Resource",
- "properties": {
- "resourceType": {
- "$ref": "#/definitions/AffectedVirtualLinkType",
- "description": "Must be network"
- },
- "resourceId": {
- "type": "string",
- "description": "Identifier of the resource in the scope of the VIM"
- },
- "resourceName": {
- "type": "string",
- "description": "Name of the resource in the scope of the VIM"
- }
- }
- }
- }
- },
- "VnfCpNotificationType": {
- "description": "The type of the notification for connection points",
- "type": "string",
- "enum": [
- "added",
- "removed",
- "changed"
- ]
- },
- "AffectedCp": {
- "type": "object",
- "properties": {
- "virtualLinkInstanceId": {
- "type": "string",
- "description": "Identifier of the VL instance"
- },
- "cpInstanceId": {
- "type": "string",
- "description": "Identifier of the connection point"
- },
- "cpdId": {
- "type": "string",
- "description": "Identifier of the connection point in the VNFD"
- },
- "ownerType": {
- "type": "string",
- "description": "The type of the owner."
- },
- "ownerId": {
- "type": "string",
- "description": "Identifier of the owner. Mandatory if ownerType is specified."
- },
- "changeType": {
- "$ref": "#/definitions/VnfCpNotificationType",
- "description": "The type of the change"
- },
- "portResource": {
- "type": "object",
- "description": "port Resource",
- "properties": {
- "vimId": {
- "type": "string",
- "description": "Identifier of the VIM"
- },
- "resourceId": {
- "type": "string",
- "description": "Identifier of the resource in the scope of the VIM"
- },
- "resourceName": {
- "type": "string",
- "description": "Resource name in the vim"
- },
- "tenant": {
- "type": "string",
- "description": "The identifier of the tenant"
- },
- "ipAddress": {
- "type": "string",
- "description": "The IP address of the port"
- },
- "macAddress": {
- "type": "string",
- "description": "The MAC address of the port"
- },
- "instId": {
- "type": "string",
- "description": "The instance id of the server to which the port is attached to"
- }
- }
- }
- }
- },
- "AffectedVirtualStorage" : {
- "type": "object"
- },
- "VnfLcmNotificationStatus" : {
- "description": "The status of the operation",
- "type": "string",
- "enum": [
- "result",
- "start"
- ]
- },
- "VNFLCMNotification": {
- "type": "object",
- "properties": {
- "status": {
- "description" : "The status of the operation that triggered the LCN.",
- "$ref": "#/definitions/VnfLcmNotificationStatus"
- },
- "vnfInstanceId": {
- "type": "string"
- },
- "operation": {
- "description" : "The type of the operation that tiggered the LCN.",
- "$ref": "#/definitions/OperationType"
- },
- "jobId": {
- "description" : "The identifier fo the job that triggered the LCN.",
- "type": "string"
- },
- "affectedVnfc": {
- "type": "array",
- "description": "The affected VNFCs",
- "items": {
- "$ref": "#/definitions/AffectedVnfc"
- }
- },
- "affectedCp": {
- "type": "array",
- "description": "The affected Connected Points",
- "items": {
- "$ref": "#/definitions/AffectedCp"
- }
- },
- "affectedVl": {
- "type": "array",
- "description": "The affected virtual links",
- "items": {
- "$ref": "#/definitions/AffectedVirtualLink"
- }
- },
- "affectedVirtualStorage": {
- "type": "array",
- "description": "The affected virtual storages. (Not supported)",
- "items": {
- "$ref": "#/definitions/AffectedVirtualStorage"
- }
- }
- }
- },
- "VnfInstantiateRequest": {
- "type": "object",
- "properties": {
- "vnfInstanceName": {
- "type": "string"
- },
- "vnfPackageId": {
- "type": "string"
- },
- "vnfDescriptorId": {
- "type": "string"
- },
- "vnfInstanceDescription": {
- "type": "string"
- },
- "extVirtualLink": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/extVirtualLinkInfo"
- }
- },
- "additionalParam": {
- "type": "object",
- "description": "Additional parameters passed to the VNFM. The vimId may be passed in the additional parameter section by the NFVO to VNFM."
- }
- }
- },
- "extVirtualLinkInfo":{
- "type": "object",
- "properties": {
- "resourceSubnetId": {
- "type": "string",
- "description": "The provider id of the subnet"
- },
- "vlInstanceId": {
- "type": "string",
- "description" : "The identifier of the virtual link"
- },
- "resourceId": {
- "type": "string",
- "description": "The provider id of the network"
- },
- "cpdId": {
- "type": "string",
- "description": "The identifier of the connection point descriptor"
- },
- "vim": {
- "type": "object",
- "properties": {
- "vimid": {
- "type": "string",
- "description": "The identifier of the VIM"
- }
- }
- }
- }
- },
- "VnfInstantiateResponse": {
- "type": "object",
- "properties": {
- "vnfInstanceId": {
- "type": "string"
- },
- "jobId": {
- "type": "string"
- }
- }
- },
- "ScaleDirection" : {
- "description": "The direction of the scaling",
- "type": "string",
- "enum": [
- "SCALE_IN",
- "SCALE_OUT"
- ]
- },
- "VnfScaleRequest":{
- "type": "object",
- "properties": {
- "type": {
- "description" : "The direction of the scaling.",
- "$ref": "#/definitions/ScaleDirection"
- },
- "aspectId":{
- "type": "string",
- "description": "Identifies the aspect of the VNF that is requested to be scaled"
- },
- "numberOfSteps": {
- "type": "string",
- "description": "Number of scaling steps to be executed as part of this ScaleVnf operation. It shall be a positive number"
- },
- "additionalParam":{
- "type": "object",
- "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled"
- }
- }
- },
- "VnfHealRequest":{
- "type": "object",
- "properties": {
- "action": {
- "type": "string"
- },
- "affectedvm": {
- "type": "object",
- "properties": {
- "vimid":{
- "type": "string"
- },
- "vduid": {
- "type": "string"
- },
- "vmname":{
- "type": "string"
- }
- }
- }
- }
- },
- "VnfTerminationType": {
- "description": "The type of the termination.",
- "type": "string",
- "enum": [
- "graceful",
- "forceful"
- ]
- },
- "VnfTerminateRequest":{
- "type": "object",
- "properties": {
- "terminationType": {
- "description" : "The type of the termination",
- "$ref": "#/definitions/VnfTerminationType"
- },
- "gracefulTerminationTimeout": {
- "description": "The time interval(second) to wait for the VNF to be taken out of service during graceful termination.",
- "type": "string"
- }
- }
- },
- "JobInfo": {
- "type": "object",
- "properties": {
- "jobId": {
- "type": "string"
- }
- }
- },
- "VnfInfo": {
- "type": "object",
- "properties": {
- "vnfInstanceId": {
- "type": "string"
- },
- "vnfInstanceName": {
- "type": "string"
- },
- "vnfInstanceDescription": {
- "type": "string"
- },
- "vnfdId": {
- "type": "string"
- },
- "vnfPackageId": {
- "type": "string"
- },
- "version": {
- "type": "string"
- },
- "vnfProvider": {
- "type": "string"
- },
- "vnfType": {
- "type": "string"
- },
- "vnfStatus": {
- "type": "string"
- }
- }
- },
- "vimInfo": {
- "type": "object",
- "properties": {
- "vimInfoId": {
- "type": "string"
- },
- "vimId": {
- "type": "string"
- },
- "interfaceInfo": {
- "type": "object",
- "properties": {
- "vimType": {
- "type": "string",
- "description": "The vim Type value wil be openstack"
- },
- "apiVersion": {
- "type": "string",
- "description": "The api Version Type value will be "
- },
- "protocolType": {
- "type": "string",
- "description": "The protocol Type value will be http or https"
- }
- }
- },
- "accessInfo": {
- "type": "object",
- "properties": {
- "tenant": {
- "type": "string",
- "description": "Tenant Name of tenant"
- },
- "username": {
- "type": "string",
- "description": "Username for login"
- },
- "password": {
- "type": "string",
- "description": "Password of login user"
- }
- }
- },
- "interfaceEndpoint": {
- "type": "string",
- "description": "Information about the interface endpoint. It is a URL"
- }
- }
- },
- "VnfPkgDetailInfo": {
- "type": "object",
- "properties": {
- "csarId": {
- "type": "string",
- "description": "vnf package id, UUID"
- },
- "packageInfo": {
- "$ref": "#/definitions/VnfPkgInfo"
- },
- "imageInfo": {
- "$ref": "#/definitions/VnfPkgImgListInfo"
- },
- "vnfInstanceInfo": {
- "$ref": "#/definitions/VnfInstListInfo"
- }
- }
- },
- "VnfPkgInfo": {
- "type": "object",
- "description": "vnf package infomation",
- "properties": {
- "vnfPackageId": {
- "type": "string",
- "description": "vnf package id (csarId)"
- },
- "csarName": {
- "type": "string",
- "description": "The name of the csar"
- },
- "vnfdId": {
- "type": "string",
- "description": "VNF descriptor ID"
- },
- "vnfdProvider": {
- "type": "string",
- "description": "VNF descriptor vendor ID"
- },
- "vnfdModel": {
- "type": "string",
- "description": "The model of the VNF (JSON) encoded to string"
- },
- "vnfdVersion": {
- "type": "string",
- "description": "VNF descriptor version"
- },
- "vnfVersion": {
- "type": "string",
- "description": "VNF Software version"
- },
- "downloadUrl":{
- "type": "string",
- "description": "The URL from which the VNF package can be downloaded"
- }
- }
- },
- "VnfInstListInfo": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/VnfInstInfo"
- }
- },
- "VnfInstInfo": {
- "type": "object",
- "properties": {
- "vnfInstanceId": {
- "type": "string",
- "description": "VNF instance ID"
- },
- "vnfInstanceName": {
- "type": "string",
- "description": "VNF instance name"
- }
- }
- },
- "VnfPkgImgListInfo": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/VnfPkgImgInfo"
- }
- },
- "VnfPkgImgInfo": {
- "type": "object",
- "properties": {
- "fileName": {
- "type": "string",
- "description": "image file name"
- },
- "imageUrl": {
- "type": "string",
- "description": "image file path in the csar or image url in external repository"
- }
- }
- },
- "VnfmInfo": {
- "type": "object",
- "properties": {
- "vnfmId": {
- "type": "string",
- "description": "vnfm Id"
- },
- "name": {
- "type": "string",
- "description": "vnfm name"
- },
- "type": {
- "type": "string",
- "description": "vnfm type"
- },
- "url": {
- "type": "string",
- "description": "vnfm url"
- },
- "userName": {
- "type": "string",
- "description": "vnfm login username"
- },
- "password": {
- "type": "string",
- "description": "vnfm login password"
- },
- "vimId": {
- "type": "string",
- "description": "vim Id"
- },
- "vendor": {
- "type": "string",
- "description": "vendor name"
- },
- "version": {
- "type": "string",
- "description": "vnfm version"
- },
- "description": {
- "type": "string",
- "description": "vnfm description"
- },
- "certificateUrl": {
- "type": "string",
- "description": "vnfm certificate Url"
- },
- "createTime": {
- "type": "string",
- "description": "vnfm info createTime"
- }
- }
- },
- "VimInfo": {
- "type": "object",
- "properties": {
- "vimId": {
- "type": "string",
- "description": "vim Id"
- },
- "name": {
- "type": "string",
- "description": "vim name"
- },
- "type": {
- "type": "string",
- "description": "vim type"
- },
- "url": {
- "type": "string",
- "description": "vim url"
- },
- "userName": {
- "type": "string",
- "description": "vim login username"
- },
- "password": {
- "type": "string",
- "description": "vim login password"
- },
- "vendor": {
- "type": "string",
- "description": "vendor name"
- },
- "version": {
- "type": "string",
- "description": "vim version"
- },
- "description": {
- "type": "string",
- "description": "vim description"
- },
- "createTime": {
- "type": "string",
- "description": "vim info createTime"
- },
- "sslCacert": {
- "type": "string",
- "description": "The collection of trusted certificates towards the VIM connection."
- },
- "sslInsecure": {
- "type": "string",
- "description": "Whether to verify VIM's certificate"
- },
- "status": {
- "type": "string",
- "description": "The status of external system"
- }
- }
- }
- }
-}