{ "swagger": "2.0", "info": { "version": "1.0.0", "title": "ZTE VNFM Driver Service rest API" }, "basePath": "/api/ztevnfmdriver/v1", "tags": [ { "name": "ztevnfmdriver" } ], "paths": { "/{vnfmid}/vnfs": { "post": { "tags": [ "vnf instantiate" ], "summary": "instantiate the vnf", "description": "", "operationId": "instantiate_vnf", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "vnfmid", "in": "path", "description": "vnfm instance id", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "request parameters", "required": true, "schema": { "$ref": "#/definitions/VnfRequestParams" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/VnfResult" } }, "404": { "description": "the vnfm instance id is wrong" }, "500": { "description": "the url is invalid" } } } }, "/{vnfmid}/vnfs/{vnfInstanceId}/terminate": { "post": { "tags": [ "vnf terminate" ], "summary": "terminate the vnf", "description": "", "operationId": "terminate_vnf", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "vnfmid", "in": "path", "description": "vnfm instance id", "required": true, "type": "string" }, { "name": "vnfInstanceId", "in": "path", "description": "vnf instance id", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/VnfResult" } }, "404": { "description": "the vnfmid and vnfInstanceId are wrong" }, "500": { "description": "the url is invalid" } } } }, "/{vnfmid}/vnfs/{vnfInstanceId}": { "get": { "tags": [ "query vnf" ], "summary": "query the vnf", "description": "", "operationId": "query_vnf", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "vnfmid", "in": "path", "description": "vnfm instance id", "required": true, "type": "string" }, { "name": "vnfInstanceId", "in": "path", "description": "vnf instance id", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/returnVnfInfo" } }, "404": { "description": "the vnfmid and vnfInstanceId are wrong" }, "500": { "description": "the url is invalid" } } } }, "/{vnfmid}/jobs/{jobid}": { "get": { "tags": [ "operation status" ], "summary": "operation status", "description": "", "operationId": "operation_status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "vnfmid", "in": "path", "description": "vnfm instance id", "required": true, "type": "string" }, { "name": "jobid", "in": "path", "description": "vnf job id", "required": true, "type": "string" }, { "name": "responseId", "in": "path", "description": "vnf response id", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/OperationStatusInfo" } }, "404": { "description": "the vnfmid ,jobid and responseId are wrong" }, "500": { "description": "the url is invalid" } } } }, "/resource/grant": { "put": { "tags": [ "grant vnf" ], "summary": "grant the vnf", "description": "", "operationId": "grant_vnf", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "body", "in": "body", "description": "request data for grant the vnf", "required": true, "schema": { "$ref": "#/definitions/RequestGrantParams" } } ], "responses": { "201": { "description": "successful grant", "schema": { "$ref": "#/definitions/responseGrantResult" } }, "404": { "description": "the request body is wrong" }, "500": { "description": "the url is invalid" } } } }, "/vnfs/lifecyclechangesnotification": { "post": { "tags": [ "life cycle changes notification" ], "summary": "life cycle changes notification", "description": "", "operationId": "lifecyclechangesnotification", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "body", "in": "body", "description": "request data for grant the vnf", "required": true, "schema": { "$ref": "#/definitions/RequestNotifyParams" } } ], "responses": { "201": { "description": "successful Notify", "schema": { "$ref": "#/definitions/ResponseNotifyResult" } }, "404": { "description": "the request body is wrong" }, "500": { "description": "the url is invalid" } } } }, "/{vnfmid}/vnfs/{nfInstanceId}/scale": { "post": { "tags": [ "scale vnf" ], "summary": "scale vnf", "description": "", "operationId": "scale_vnf", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "vnfmid", "in": "path", "description": "vnfm instance id", "required": true, "type": "string" }, { "name": "nfInstanceId", "in": "path", "description": "nf instance id", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "request data for grant the vnf", "required": true, "schema": { "$ref": "#/definitions/RequestScaleParams" } } ], "responses": { "201": { "description": "successful scale", "schema": { "$ref": "#/definitions/ResponseScaleResult" } }, "404": { "description": "the request body is wrong" }, "500": { "description": "the url is invalid" } } } } }, "definitions": { "VnfRequestParams": { "type": "object", "properties": { "vnfInstanceName": { "type": "string" }, "vnfPackageId": { "type": "string" }, "vnfDescriptorId": { "type": "string" }, "additionalParam": { "type": "object", "properties": { "sdncontroller": { "type": "string" }, "NatIpRange": { "type": "string" }, "m6000_mng_ip": { "type": "string" }, "externalPluginManageNetworkName": { "type": "string" }, "location": { "type": "string" }, "externalManageNetworkName": { "type": "string" }, "sfc_data_network": { "type": "string" }, "externalDataNetworkName": { "type": "string" }, "inputs": { "type": "object" } } } } }, "VnfResult": { "type": "object", "properties": { "vnfInstanceId": { "type": "string" }, "jobId": { "type": "string" } } }, "returnVnfInfo": { "type": "object", "properties": { "vnfInfo": { "type": "object", "properties": { "vnfStatus": { "type": "string" } } } } }, "OperationStatusInfo": { "type": "object", "properties": { "responsedescriptor": { "type": "object", "properties": { "status": { "type": "string" }, "responsehistorylist": { "type": "string" }, "responseid": { "type": "integer" }, "errorcode": { "type": "string" }, "progress": { "type": "integer" }, "statusdescription": { "type": "string" } } }, "jobid": { "type": "string" } } }, "RequestGrantParams": { "type": "object", "properties": { "vnfmid": { "type": "string" }, "nfvoid": { "type": "string" }, "vimid": { "type": "string" }, "exvimidlist": { "type": "string" }, "tenant": { "type": "string" }, "vnfistanceid": { "type": "string" }, "operationright": { "type": "string" }, "vmlist": { "type": "string" } } }, "responseGrantResult": { "type": "object", "properties": { "vimid": { "type": "string" }, "tenant": { "type": "string" } } }, "RequestNotifyParams": { "type": "object", "properties": { "nfvoid": { "type": "string" }, "vnfmid": { "type": "string" }, "vimid": { "type": "string" }, "timestamp": { "type": "string" }, "vnfinstanceid": { "type": "string" }, "eventtype": { "type": "string" }, "vmlist": { "type": "string" } } }, "ResponseNotifyResult": { "type": "object" }, "RequestScaleParams": { "type": "object", "properties": { "type": { "type": "string" }, "aspectId": { "type": "string" }, "numberOfSteps": { "type": "string" }, "additionalParam": { "type": "object" } } }, "ResponseScaleResult": { "type": "object", "properties": { "jobid": { "type": "string" }, "nfInstanceId": { "type": "string" } } } } }