5 "title": "ONAP VNFM Driver Development Related API",
6 "description": "ONAP VNFM Driver Development Related Rest API.",
8 "name": "ONAP VFC team",
9 "email": "onap-discuss@lists.onap.org",
10 "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"
25 "/{vnfmtype}/v1/{vnfmid}/vnfs": {
30 "summary": "vnf create&instantiate",
31 "description": "VNF create&instantiate Rest API should be provided by the VNFM Driver",
32 "operationId": "vnf_instantiate",
43 "description": "The value of vnfmtype should be the SVNFM driver service name",
50 "description": "The value of vnfmid should be the VNFM Instantiate ID",
57 "description": "instantiate request param",
60 "$ref": "#/definitions/VnfInstantiateRequest"
68 "$ref": "#/definitions/VnfInstantiateResponse"
74 "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/scale": {
79 "summary": "vnf Scale",
80 "description": "VNF Scale Rest API should be provided by the VNFM Driver",
81 "operationId": "vnf_scale",
92 "description": "The value of vnfmtype should be the SVNFM driver service name",
99 "description": "The value of vnfmid should be the VNFM Instantiate ID",
106 "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
107 "name": "vnfInstanceId",
113 "description": "instantiate request param",
116 "$ref": "#/definitions/VnfScaleRequest"
124 "$ref": "#/definitions/JobInfo"
128 "description": "the VNF instance id is wrong"
131 "description": "the url is invalid"
136 "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/heal": {
141 "summary": "vnf heal",
142 "description": "VNF Heal Rest API should be provided by the VNFM Driver",
143 "operationId": "vnf_heal",
154 "description": "The value of vnfmtype should be the SVNFM driver service name",
161 "description": "The value of vnfmid should be the VNFM Instantiate ID",
168 "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
169 "name": "vnfInstanceId",
175 "description": "instantiate request param",
178 "$ref": "#/definitions/VnfHealRequest"
186 "$ref": "#/definitions/JobInfo"
190 "description": "the VNF instance id is wrong"
193 "description": "the url is invalid"
198 "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/terminate": {
203 "summary": "terminate&delete vnf",
204 "description": "VNF terminate&delete Rest API should be provided by the VNFM Driver",
205 "operationId": "terminate_vnf",
216 "description": "The value of vnfmtype should be the SVNFM driver service name",
223 "description": "The value of vnfmid should be the VNFM Instantiate ID",
230 "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
231 "name": "vnfInstanceId",
237 "description": "instantiate request param",
240 "$ref": "#/definitions/VnfTerminateRequest"
246 "description": "successful operation",
248 "$ref": "#/definitions/JobInfo"
252 "description": "the VNF instance id is wrong"
255 "description": "the url is invalid"
260 "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}": {
265 "summary": "query the specified vnf info",
267 "operationId": "query_vnf",
278 "description": "The value of vnfmtype should be the SVNFM driver service name",
285 "description": "The value of vnfmid should be the VNFM Instantiate ID",
292 "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
293 "name": "vnfInstanceId",
299 "description": "successful operation",
301 "$ref": "#/definitions/VnfInfo"
305 "description": "the vnf instance id is wrong"
308 "description": "the url is invalid"
313 "/nslcm/v1/ns/grantvnf": {
318 "summary": "grantvnf",
319 "description": "Grant VNF, provived by the NSLCM component",
320 "operationId": "grantvnf",
325 "description": "Grant VNF Request",
328 "$ref": "#/definitions/GrantVNFRequest"
336 "$ref": "#/definitions/GrantVNFResponse"
340 "description": "URL not found"
343 "description": "the url is invalid"
348 "/nslcm/v1/{vnfmid}/vnfs/{vnfInstanceId}/Notify": {
353 "summary": "VNF LCM Notification",
354 "description": "VNF LCM Notification API should be provided by NSLCM component",
355 "operationId": "VNF_LCM_Notification",
360 "description": "VNFM Instance Id",
367 "description": "VNF Instance Id",
368 "name": "vnfInstanceId",
373 "name": "vnf Notification",
374 "description": "VNF LCM Notification",
377 "$ref": "#/definitions/VNFLCMNotification"
386 "description": "URL not found"
389 "description": "the url is invalid"
394 "/{vnfmid}/jobs/{jobid}": {
399 "summary": "jobstatus",
400 "description": "Job Infomation API should be provided by VNFM Driver",
401 "operationId": "get_jobstatus",
406 "description": "job Id",
413 "description": "The value of vnfmid should be the VNFM Instantiate ID",
420 "description": "job response message id",
421 "name": "responseId",
429 "$ref": "#/definitions/JobDetailInfo"
435 "/catalog/v1/vnfpackages/{csarId}": {
440 "summary": "query vnf package info",
441 "description": "query one vnf package info via vnf package csarId",
442 "operationId": "query_vnf_package",
453 "description": "csar id of vnf package",
460 "description": "successful operation",
462 "$ref": "#/definitions/VnfPkgDetailInfo"
466 "description": "internal error"
471 "/nslcm/v1/vnfms/{vnfmid}":{
476 "summary": "Query VNFM register info",
477 "description": "query VNFM register info",
478 "operationId": "query_vnfm_info",
489 "description": "vnfm id",
496 "description": "successful operation",
498 "$ref": "#/definitions/VnfmInfo"
502 "description": "URL not found"
505 "description": "internal error"
510 "/nslcm/v1/vims/{vimid}":{
515 "summary": "Query VIM register info",
516 "description": "query VIM register info",
517 "operationId": "query_VIM_info",
528 "description": "vim id",
535 "description": "successful operation",
537 "$ref": "#/definitions/VimInfo"
541 "description": "URL not found"
544 "description": "internal error"
560 "statusDescription": {
572 "description": "The status of the job",
588 "responseDescriptor": {
592 "$ref": "#/definitions/JobStatus",
593 "description": "The status of the job"
597 "description": "The progress of the job. Value between 0 and 100."
599 "statusDescription": {
601 "description": "The reason of the current status of the job."
609 "responseHistoryList": {
612 "$ref": "#/definitions/jobResponseInfo"
620 "description": "The type of the change",
630 "$ref": "#/definitions/ChangeType",
631 "description": "The type of the resource."
633 "resourceDefinitionId": {
634 "description": "The identifier of the resource within the grant request.",
638 "description": "The identifier of the VDU.",
644 "description": "The type of operation",
665 "lifecycleOperation": {
666 "description" : "The type of the operation.",
667 "$ref": "#/definitions/OperationType"
675 "$ref": "#/definitions/ResourceChange"
681 "$ref": "#/definitions/ResourceChange"
686 "description": "The data type is KeyValuePair. Additional parameters passed by the NFVO, specific to the VNF and the LCM operation."
690 "GrantVNFResponse": {
707 "description": "The vim Type value wil be openstack"
711 "description": "The api Version Type value will be "
715 "description": "The protocol Type value will be http or https"
724 "description": "Tenant Name of tenant"
728 "description": "Username for login"
732 "description": "Password of login user"
736 "interfaceEndpoint": {
738 "description": "Information about the interface endpoint. It is a URL"
744 "VnfNotificationType": {
745 "description": "The type of the notification",
758 "description": "Identifier of the VNFC instance"
762 "description": "Identifier of the VDU in the VNFD"
765 "$ref": "#/definitions/VnfNotificationType",
766 "description": "The type of the change"
770 "description": "Identifier of vim"
774 "description": "Identifier of virtual machine"
778 "description": "Name of virtual machine"
782 "AffectedVirtualLinkType": {
783 "description": "The type of the affected virtual link",
790 "AffectedVirtualLink":{
795 "description": "Identifier of the VL instance"
799 "description": "Identifier of the VLD in the VNFD"
802 "$ref": "#/definitions/VnfNotificationType",
803 "description": "The type of the change"
807 "description": "network Resource",
810 "$ref": "#/definitions/AffectedVirtualLinkType",
811 "description": "Must be network"
815 "description": "Identifier of the resource in the scope of the VIM"
821 "VnfCpNotificationType": {
822 "description": "The type of the notification for connection points",
833 "virtualLinkInstanceId": {
835 "description": "Identifier of the VL instance"
839 "description": "Identifier of the connection point"
843 "description": "Identifier of the connection point in the VNFD"
847 "description": "The type of the owner."
851 "description": "Identifier of the owner. Mandatory if ownerType is specified."
854 "$ref": "#/definitions/VnfCpNotificationType",
855 "description": "The type of the change"
859 "description": "port Resource",
863 "description": "Identifier of the VIM"
867 "description": "Identifier of the resource in the scope of the VIM"
871 "description": "Resource name in the vim"
875 "description": "The identifier of the tenant"
879 "description": "The IP address of the port"
883 "description": "The MAC address of the port"
887 "description": "The instance id of the server to which the port is attached to"
893 "AffectedVirtualStorage" : {
896 "VnfLcmNotificationStatus" : {
897 "description": "The status of the operation",
904 "VNFLCMNotification": {
908 "description" : "The status of the operation that triggered the LCN.",
909 "$ref": "#/definitions/VnfLcmNotificationStatus"
915 "description" : "The type of the operation that tiggered the LCN.",
916 "$ref": "#/definitions/OperationType"
919 "description" : "The identifier fo the job that triggered the LCN.",
924 "description": "The affected VNFCs",
926 "$ref": "#/definitions/AffectedVnfc"
931 "description": "The affected Connected Points",
933 "$ref": "#/definitions/AffectedCp"
938 "description": "The affected virtual links",
940 "$ref": "#/definitions/AffectedVirtualLink"
943 "affectedVirtualStorage": {
945 "description": "The affected virtual storages. (Not supported)",
947 "$ref": "#/definitions/AffectedVirtualStorage"
952 "VnfInstantiateRequest": {
964 "vnfInstanceDescription": {
970 "$ref": "#/definitions/extVirtualLinkInfo"
978 "extVirtualLinkInfo":{
991 "$ref": "#/definitions/vimInfo"
996 "VnfInstantiateResponse": {
1007 "ScaleDirection" : {
1008 "description": "The direction of the scaling",
1019 "description" : "The direction of the scaling.",
1020 "$ref": "#/definitions/ScaleDirection"
1024 "description": "Identifies the aspect of the VNF that is requested to be scaled"
1028 "description": "Number of scaling steps to be executed as part of this ScaleVnf operation. It shall be a positive number"
1032 "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled"
1058 "VnfTerminationType": {
1059 "description": "The type of the termination.",
1066 "VnfTerminateRequest":{
1069 "terminationType": {
1070 "description" : "The type of the termination",
1071 "$ref": "#/definitions/VnfTerminationType"
1073 "gracefulTerminationTimeout": {
1074 "description": "The time interval(second) to wait for the VNF to be taken out of service during graceful termination.",
1093 "vnfInstanceName": {
1096 "vnfInstanceDescription": {
1133 "description": "The vim Type value wil be openstack"
1137 "description": "The api Version Type value will be "
1141 "description": "The protocol Type value will be http or https"
1150 "description": "Tenant Name of tenant"
1154 "description": "Username for login"
1158 "description": "Password of login user"
1162 "interfaceEndpoint": {
1164 "description": "Information about the interface endpoint. It is a URL"
1168 "VnfPkgDetailInfo": {
1173 "description": "vnf package id, UUID"
1176 "$ref": "#/definitions/VnfPkgInfo"
1179 "$ref": "#/definitions/VnfPkgImgListInfo"
1181 "vnfInstanceInfo": {
1182 "$ref": "#/definitions/VnfInstListInfo"
1188 "description": "vnf package infomation",
1192 "description": "vnf package id, UUID"
1196 "description": "VNF descriptor ID"
1200 "description": "VNF descriptor vendor ID"
1204 "description": "VNF descriptor version"
1208 "description": "VNF Software version"
1212 "description": "The download uri of VNF package"
1216 "VnfInstListInfo": {
1219 "$ref": "#/definitions/VnfInstInfo"
1227 "description": "VNF instance ID"
1229 "vnfInstanceName": {
1231 "description": "VNF instance name"
1235 "VnfPkgImgListInfo": {
1238 "$ref": "#/definitions/VnfPkgImgInfo"
1246 "description": "image file name"
1250 "description": "image file path in the csar or image url in external repository"
1259 "description": "vnfm Id"
1263 "description": "vnfm name"
1267 "description": "vnfm type"
1271 "description": "vnfm url"
1275 "description": "vnfm login username"
1279 "description": "vnfm login password"
1283 "description": "vim Id"
1287 "description": "vendor name"
1291 "description": "vnfm version"
1295 "description": "vnfm description"
1299 "description": "vnfm certificate Url"
1303 "description": "vnfm info createTime"
1312 "description": "vim Id"
1316 "description": "vim name"
1320 "description": "vim type"
1324 "description": "vim url"
1328 "description": "vim login username"
1332 "description": "vim login password"
1336 "description": "vendor name"
1340 "description": "vim version"
1344 "description": "vim description"
1348 "description": "vim info createTime"
1352 "description": "The collection of trusted certificates towards the VIM connection."
1356 "description": "Whether to verify VIM's certificate"
1360 "description": "The status of external system"