5 "title": "ONAP VNFM Driver Development Related API",
\r
6 "description": "ONAP VNFM Driver Development Related Rest API.",
\r
8 "name": "ONAP VFC team",
\r
9 "email": "onap-discuss@lists.onap.org",
\r
10 "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"
\r
25 "/{vnfmtype}/v1/{vnfmid}/vnfs": {
\r
30 "summary": "vnf create&instantiate",
\r
31 "description": "VNF create&instantiate Rest API should be provided by the VNFM Driver",
\r
32 "operationId": "vnf_instantiate",
\r
43 "description": "The value of vnfmtype should be the SVNFM driver service name",
\r
50 "description": "The value of vnfmid should be the VNFM Instantiate ID",
\r
57 "description": "instantiate request param",
\r
60 "$ref": "#/definitions/VnfInstantiateRequest"
\r
68 "$ref": "#/definitions/VnfInstantiateResponse"
\r
74 "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/scale": {
\r
79 "summary": "vnf Scale",
\r
80 "description": "VNF Scale Rest API should be provided by the VNFM Driver",
\r
81 "operationId": "vnf_scale",
\r
92 "description": "The value of vnfmtype should be the SVNFM driver service name",
\r
99 "description": "The value of vnfmid should be the VNFM Instantiate ID",
\r
106 "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
\r
107 "name": "vnfInstanceId",
\r
113 "description": "instantiate request param",
\r
116 "$ref": "#/definitions/VnfScaleRequest"
\r
124 "$ref": "#/definitions/JobInfo"
\r
128 "description": "the VNF instance id is wrong"
\r
131 "description": "the url is invalid"
\r
136 "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/heal": {
\r
141 "summary": "vnf heal",
\r
142 "description": "VNF Heal Rest API should be provided by the VNFM Driver",
\r
143 "operationId": "vnf_heal",
\r
154 "description": "The value of vnfmtype should be the SVNFM driver service name",
\r
155 "name": "vnfmtype",
\r
161 "description": "The value of vnfmid should be the VNFM Instantiate ID",
\r
168 "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
\r
169 "name": "vnfInstanceId",
\r
175 "description": "instantiate request param",
\r
178 "$ref": "#/definitions/VnfHealRequest"
\r
186 "$ref": "#/definitions/JobInfo"
\r
190 "description": "the VNF instance id is wrong"
\r
193 "description": "the url is invalid"
\r
198 "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/terminate": {
\r
203 "summary": "terminate&delete vnf",
\r
204 "description": "VNF terminate&delete Rest API should be provided by the VNFM Driver",
\r
205 "operationId": "terminate_vnf",
\r
216 "description": "The value of vnfmtype should be the SVNFM driver service name",
\r
217 "name": "vnfmtype",
\r
223 "description": "The value of vnfmid should be the VNFM Instantiate ID",
\r
230 "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
\r
231 "name": "vnfInstanceId",
\r
237 "description": "instantiate request param",
\r
240 "$ref": "#/definitions/VnfTerminateRequest"
\r
246 "description": "successful operation",
\r
248 "$ref": "#/definitions/JobInfo"
\r
252 "description": "the VNF instance id is wrong"
\r
255 "description": "the url is invalid"
\r
260 "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}": {
\r
265 "summary": "query the specified vnf info",
\r
267 "operationId": "query_vnf",
\r
278 "description": "The value of vnfmtype should be the SVNFM driver service name",
\r
279 "name": "vnfmtype",
\r
285 "description": "The value of vnfmid should be the VNFM Instantiate ID",
\r
292 "description": "The value of vnfInstanceId should be the VNF Instantiate ID",
\r
293 "name": "vnfInstanceId",
\r
299 "description": "successful operation",
\r
301 "$ref": "#/definitions/VnfInfo"
\r
305 "description": "the vnf instance id is wrong"
\r
308 "description": "the url is invalid"
\r
313 "/nslcm/v1/ns/grantvnf": {
\r
318 "summary": "grantvnf",
\r
319 "description": "Grant VNF, provived by the NSLCM component",
\r
320 "operationId": "grantvnf",
\r
324 "name": "grantvnf",
\r
325 "description": "Grant VNF Request",
\r
328 "$ref": "#/definitions/GrantVNFRequest"
\r
336 "$ref": "#/definitions/GrantVNFResponse"
\r
340 "description": "URL not found"
\r
343 "description": "the url is invalid"
\r
348 "/nslcm/v1/vnfs/{vnfInstanceId}/Notify": {
\r
353 "summary": "VNF LCM Notification",
\r
354 "description": "VNF LCM Notification API should be provided by NSLCM component",
\r
355 "operationId": "VNF_LCM_Notification",
\r
360 "description": "VNF Instance Id",
\r
361 "name": "vnfInstanceId",
\r
366 "name": "vnf Notification",
\r
367 "description": "VNF LCM Notification",
\r
370 "$ref": "#/definitions/VNFLCMNotification"
\r
379 "description": "URL not found"
\r
382 "description": "the url is invalid"
\r
387 "/{vnfmid}/jobs/{jobid}": {
\r
392 "summary": "jobstatus",
\r
393 "description": "Job Infomation API should be provided by VNFM Driver",
\r
394 "operationId": "get_jobstatus",
\r
399 "description": "job Id",
\r
406 "description": "The value of vnfmid should be the VNFM Instantiate ID",
\r
413 "description": "job response message id",
\r
414 "name": "responseId",
\r
422 "$ref": "#/definitions/JobDetailInfo"
\r
428 "/catalog/v1/vnfpackages/{csarId}": {
\r
433 "summary": "query vnf package info",
\r
434 "description": "query one vnf package info via vnf package csarId",
\r
435 "operationId": "query_vnf_package",
\r
446 "description": "csar id of vnf package",
\r
453 "description": "successful operation",
\r
455 "$ref": "#/definitions/VnfPkgDetailInfo"
\r
459 "description": "internal error"
\r
464 "/nslcm/vl/vnfms/{vnfmid}":{
\r
469 "summary": "Query VNFM register info",
\r
470 "description": "query VNFM register info",
\r
471 "operationId": "query_vnfm_info",
\r
482 "description": "vnfm id",
\r
489 "description": "successful operation",
\r
491 "$ref": "#/definitions/VnfmInfo"
\r
495 "description": "URL not found"
\r
498 "description": "internal error"
\r
503 "/nslcm/vl/vims/{vimid}":{
\r
508 "summary": "Query VIM register info",
\r
509 "description": "query VIM register info",
\r
510 "operationId": "query_VIM_info",
\r
521 "description": "vim id",
\r
528 "description": "successful operation",
\r
530 "$ref": "#/definitions/VimInfo"
\r
534 "description": "URL not found"
\r
537 "description": "internal error"
\r
544 "jobResponseInfo": {
\r
553 "statusDescription": {
\r
570 "responseDescriptor": {
\r
579 "statusDescription": {
\r
588 "responseHistoryList": {
\r
591 "$ref": "#/definitions/jobResponseInfo"
\r
598 "ResourceChange" : {
\r
603 "description": " The value should be VDU,VL,CP,Strorage."
\r
605 "resourceDefinitionId": {
\r
613 "GrantVNFRequest": {
\r
619 "vnfDescriptorId": {
\r
622 "lifecycleOperation": {
\r
624 "description": "The value should be Instantiate,Scaleout,Scalein,Scaleup,Scaledown, Heal, Terminal"
\r
632 "$ref": "#/definitions/ResourceChange"
\r
635 "removeResource": {
\r
638 "$ref": "#/definitions/ResourceChange"
\r
641 "additionalParam": {
\r
643 "description": "The data type is KeyValuePair. Additional parameters passed by the NFVO, specific to the VNF and the LCM operation."
\r
647 "GrantVNFResponse": {
\r
664 "description": "The vim Type value wil be openstack"
\r
668 "description": "The api Version Type value will be "
\r
672 "description": "The protocol Type value will be http or https"
\r
681 "description": "Tenant Name of tenant"
\r
685 "description": "Username for login"
\r
689 "description": "Password of login user"
\r
693 "interfaceEndpoint": {
\r
695 "description": "Information about the interface endpoint. It is a URL"
\r
701 "VNFLCMNotification": {
\r
719 "vnfcInstanceId": {
\r
721 "description": "Identifier of the VNFC instance"
\r
725 "description": "Identifier of the VDU in the VNFD"
\r
729 "description": "Signals the type of change: added,removed, modified"
\r
733 "description": "Identifier of vim"
\r
737 "description": "Identifier of virtual machine"
\r
741 "description": "Name of virtual machine"
\r
750 "description": "Identifier of the VL instance"
\r
754 "description": "Identifier of the VLD in the VNFD"
\r
758 "description": "Signals the type of change: vl_added,vl_removed,vl_modified"
\r
760 "networkResource": {
\r
762 "description": "storage Resource",
\r
766 "description": "The value should be vm,volume,network,port"
\r
770 "description": "Identifier of the resource in the scope of the VIM"
\r
774 "description": "Resource name in the vim"
\r
780 "affectedVirtualStorage": {
\r
785 "description": "Identifier of the VL instance"
\r
789 "description": "Identifier of the VLD in the VNFD"
\r
793 "description": "Signals the type of change: vl_added,vl_removed,vl_modified"
\r
795 "storageResource": {
\r
797 "description": "storage Resource",
\r
801 "description": "The value should be vm,volume,network,port"
\r
805 "description": "Identifier of the resource in the scope of the VIM"
\r
809 "description": "Resource name in the vim"
\r
817 "VnfInstantiateRequest": {
\r
820 "vnfInstanceName": {
\r
826 "vnfDescriptorId": {
\r
829 "vnfInstanceDescription": {
\r
832 "extVirtualLink": {
\r
835 "$ref": "#/definitions/extVirtualLinkInfo"
\r
838 "additionalParam": {
\r
843 "extVirtualLinkInfo":{
\r
856 "$ref": "#/definitions/vimInfo"
\r
861 "VnfInstantiateResponse": {
\r
872 "VnfScaleRequest":{
\r
877 "description": "The VNF scale type value should be SCALE_OUT, SCALE_IN"
\r
881 "description": "Identifies the aspect of the VNF that is requested to be scaled"
\r
885 "description": "Number of scaling steps to be executed as part of this ScaleVnf operation. It shall be a positive number"
\r
887 "additionalParam":{
\r
889 "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled"
\r
915 "VnfTerminateRequest":{
\r
918 "terminationType": {
\r
921 "gracefulTerminationTimeout": {
\r
940 "vnfInstanceName": {
\r
943 "vnfInstanceDescription": {
\r
980 "description": "The vim Type value wil be openstack"
\r
984 "description": "The api Version Type value will be "
\r
988 "description": "The protocol Type value will be http or https"
\r
997 "description": "Tenant Name of tenant"
\r
1001 "description": "Username for login"
\r
1005 "description": "Password of login user"
\r
1009 "interfaceEndpoint": {
\r
1011 "description": "Information about the interface endpoint. It is a URL"
\r
1015 "VnfPkgDetailInfo": {
\r
1020 "description": "vnf package id, UUID"
\r
1023 "$ref": "#/definitions/VnfPkgInfo"
\r
1026 "$ref": "#/definitions/VnfPkgImgListInfo"
\r
1028 "vnfInstanceInfo": {
\r
1029 "$ref": "#/definitions/VnfInstListInfo"
\r
1035 "description": "vnf package infomation",
\r
1039 "description": "vnf package id, UUID"
\r
1043 "description": "VNF descriptor ID"
\r
1047 "description": "VNF descriptor vendor ID"
\r
1051 "description": "VNF descriptor version"
\r
1055 "description": "VNF Software version"
\r
1059 "description": "The download uri of VNF package"
\r
1063 "VnfInstListInfo": {
\r
1066 "$ref": "#/definitions/VnfInstInfo"
\r
1072 "vnfInstanceId": {
\r
1074 "description": "VNF instance ID"
\r
1076 "vnfInstanceName": {
\r
1078 "description": "VNF instance name"
\r
1082 "VnfPkgImgListInfo": {
\r
1085 "$ref": "#/definitions/VnfPkgImgInfo"
\r
1088 "VnfPkgImgInfo": {
\r
1093 "description": "image file name"
\r
1097 "description": "image file path in the csar or image url in external repository"
\r
1106 "description": "vnfm Id"
\r
1110 "description": "vnfm name"
\r
1114 "description": "vnfm type"
\r
1118 "description": "vnfm url"
\r
1122 "description": "vnfm login username"
\r
1126 "description": "vnfm login password"
\r
1130 "description": "vim Id"
\r
1134 "description": "vendor name"
\r
1138 "description": "vnfm version"
\r
1142 "description": "vnfm description"
\r
1144 "certificateUrl": {
\r
1146 "description": "vnfm certificate Url"
\r
1150 "description": "vnfm info createTime"
\r
1159 "description": "vim Id"
\r
1163 "description": "vnfm name"
\r
1167 "description": "vnfm type"
\r
1171 "description": "vnfm url"
\r
1175 "description": "vnfm login username"
\r
1179 "description": "vnfm login password"
\r
1183 "description": "vendor name"
\r
1187 "description": "vnfm version"
\r
1191 "description": "vnfm description"
\r
1195 "description": "vnfm info createTime"
\r