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/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": "VNF Instance Id",
361 "name": "vnfInstanceId",
366 "name": "vnf Notification",
367 "description": "VNF LCM Notification",
370 "$ref": "#/definitions/VNFLCMNotification"
379 "description": "URL not found"
382 "description": "the url is invalid"
387 "/{vnfmid}/jobs/{jobid}": {
392 "summary": "jobstatus",
393 "description": "Job Infomation API should be provided by VNFM Driver",
394 "operationId": "get_jobstatus",
399 "description": "job Id",
406 "description": "The value of vnfmid should be the VNFM Instantiate ID",
413 "description": "job response message id",
414 "name": "responseId",
422 "$ref": "#/definitions/JobDetailInfo"
428 "/catalog/v1/vnfpackages/{csarId}": {
433 "summary": "query vnf package info",
434 "description": "query one vnf package info via vnf package csarId",
435 "operationId": "query_vnf_package",
446 "description": "csar id of vnf package",
453 "description": "successful operation",
455 "$ref": "#/definitions/VnfPkgDetailInfo"
459 "description": "internal error"
464 "/nslcm/v1/vnfms/{vnfmid}":{
469 "summary": "Query VNFM register info",
470 "description": "query VNFM register info",
471 "operationId": "query_vnfm_info",
482 "description": "vnfm id",
489 "description": "successful operation",
491 "$ref": "#/definitions/VnfmInfo"
495 "description": "URL not found"
498 "description": "internal error"
503 "/nslcm/v1/vims/{vimid}":{
508 "summary": "Query VIM register info",
509 "description": "query VIM register info",
510 "operationId": "query_VIM_info",
521 "description": "vim id",
528 "description": "successful operation",
530 "$ref": "#/definitions/VimInfo"
534 "description": "URL not found"
537 "description": "internal error"
553 "statusDescription": {
565 "description": "The status of the job",
581 "responseDescriptor": {
585 "$ref": "#/definitions/JobStatus",
586 "description": "The status of the job"
590 "description": "The progress of the job. Value between 0 and 100."
592 "statusDescription": {
594 "description": "The reason of the current status of the job."
602 "responseHistoryList": {
605 "$ref": "#/definitions/jobResponseInfo"
613 "description": "The type of the change",
623 "$ref": "#/definitions/ChangeType",
624 "description": "The type of the resource."
626 "resourceDefinitionId": {
627 "description": "The identifier of the resource within the grant request.",
631 "description": "The identifier of the VDU.",
637 "description": "The type of operation",
658 "lifecycleOperation": {
659 "description" : "The type of the operation.",
660 "$ref": "#/definitions/OperationType"
668 "$ref": "#/definitions/ResourceChange"
674 "$ref": "#/definitions/ResourceChange"
679 "description": "The data type is KeyValuePair. Additional parameters passed by the NFVO, specific to the VNF and the LCM operation."
683 "GrantVNFResponse": {
700 "description": "The vim Type value wil be openstack"
704 "description": "The api Version Type value will be "
708 "description": "The protocol Type value will be http or https"
717 "description": "Tenant Name of tenant"
721 "description": "Username for login"
725 "description": "Password of login user"
729 "interfaceEndpoint": {
731 "description": "Information about the interface endpoint. It is a URL"
737 "VnfNotificationType": {
738 "description": "The type of the notification",
751 "description": "Identifier of the VNFC instance"
755 "description": "Identifier of the VDU in the VNFD"
758 "$ref": "#/definitions/VnfNotificationType",
759 "description": "The type of the change"
763 "description": "Identifier of vim"
767 "description": "Identifier of virtual machine"
771 "description": "Name of virtual machine"
775 "AffectedVirtualLinkType": {
776 "description": "The type of the affected virtual link",
783 "AffectedVirtualLink":{
788 "description": "Identifier of the VL instance"
792 "description": "Identifier of the VLD in the VNFD"
795 "$ref": "#/definitions/VnfNotificationType",
796 "description": "The type of the change"
800 "description": "network Resource",
803 "$ref": "#/definitions/AffectedVirtualLinkType",
804 "description": "Must be network"
808 "description": "Identifier of the resource in the scope of the VIM"
814 "VnfCpNotificationType": {
815 "description": "The type of the notification for connection points",
826 "virtualLinkInstanceId": {
828 "description": "Identifier of the VL instance"
832 "description": "Identifier of the connection point"
836 "description": "Identifier of the connection point in the VNFD"
840 "description": "The type of the owner."
844 "description": "Identifier of the owner. Mandatory if ownerType is specified."
847 "$ref": "#/definitions/VnfCpNotificationType",
848 "description": "The type of the change"
852 "description": "port Resource",
856 "description": "Identifier of the VIM"
860 "description": "Identifier of the resource in the scope of the VIM"
864 "description": "Resource name in the vim"
868 "description": "The identifier of the tenant"
872 "description": "The IP address of the port"
876 "description": "The MAC address of the port"
880 "description": "The instance id of the server to which the port is attached to"
886 "AffectedVirtualStorage" : {
889 "VnfLcmNotificationStatus" : {
890 "description": "The status of the operation",
897 "VNFLCMNotification": {
901 "description" : "The status of the operation that triggered the LCN.",
902 "$ref": "#/definitions/VnfLcmNotificationStatus"
908 "description" : "The type of the operation that tiggered the LCN.",
909 "$ref": "#/definitions/OperationType"
912 "description" : "The identifier fo the job that triggered the LCN.",
917 "description": "The affected VNFCs",
919 "$ref": "#/definitions/AffectedVnfc"
924 "description": "The affected Connected Points",
926 "$ref": "#/definitions/AffectedCp"
931 "description": "The affected virtual links",
933 "$ref": "#/definitions/AffectedVirtualLink"
936 "affectedVirtualStorage": {
938 "description": "The affected virtual storages. (Not supported)",
940 "$ref": "#/definitions/AffectedVirtualStorage"
945 "VnfInstantiateRequest": {
957 "vnfInstanceDescription": {
963 "$ref": "#/definitions/extVirtualLinkInfo"
971 "extVirtualLinkInfo":{
984 "$ref": "#/definitions/vimInfo"
989 "VnfInstantiateResponse": {
1000 "ScaleDirection" : {
1001 "description": "The direction of the scaling",
1012 "description" : "The direction of the scaling.",
1013 "$ref": "#/definitions/ScaleDirection"
1017 "description": "Identifies the aspect of the VNF that is requested to be scaled"
1021 "description": "Number of scaling steps to be executed as part of this ScaleVnf operation. It shall be a positive number"
1025 "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled"
1051 "VnfTerminationType": {
1052 "description": "The type of the termination.",
1059 "VnfTerminateRequest":{
1062 "terminationType": {
1063 "description" : "The type of the termination",
1064 "$ref": "#/definitions/VnfTerminationType"
1066 "gracefulTerminationTimeout": {
1067 "description": "The time interval(second) to wait for the VNF to be taken out of service during graceful termination.",
1086 "vnfInstanceName": {
1089 "vnfInstanceDescription": {
1126 "description": "The vim Type value wil be openstack"
1130 "description": "The api Version Type value will be "
1134 "description": "The protocol Type value will be http or https"
1143 "description": "Tenant Name of tenant"
1147 "description": "Username for login"
1151 "description": "Password of login user"
1155 "interfaceEndpoint": {
1157 "description": "Information about the interface endpoint. It is a URL"
1161 "VnfPkgDetailInfo": {
1166 "description": "vnf package id, UUID"
1169 "$ref": "#/definitions/VnfPkgInfo"
1172 "$ref": "#/definitions/VnfPkgImgListInfo"
1174 "vnfInstanceInfo": {
1175 "$ref": "#/definitions/VnfInstListInfo"
1181 "description": "vnf package infomation",
1185 "description": "vnf package id, UUID"
1189 "description": "VNF descriptor ID"
1193 "description": "VNF descriptor vendor ID"
1197 "description": "VNF descriptor version"
1201 "description": "VNF Software version"
1205 "description": "The download uri of VNF package"
1209 "VnfInstListInfo": {
1212 "$ref": "#/definitions/VnfInstInfo"
1220 "description": "VNF instance ID"
1222 "vnfInstanceName": {
1224 "description": "VNF instance name"
1228 "VnfPkgImgListInfo": {
1231 "$ref": "#/definitions/VnfPkgImgInfo"
1239 "description": "image file name"
1243 "description": "image file path in the csar or image url in external repository"
1252 "description": "vnfm Id"
1256 "description": "vnfm name"
1260 "description": "vnfm type"
1264 "description": "vnfm url"
1268 "description": "vnfm login username"
1272 "description": "vnfm login password"
1276 "description": "vim Id"
1280 "description": "vendor name"
1284 "description": "vnfm version"
1288 "description": "vnfm description"
1292 "description": "vnfm certificate Url"
1296 "description": "vnfm info createTime"
1305 "description": "vim Id"
1309 "description": "vim name"
1313 "description": "vim type"
1317 "description": "vim url"
1321 "description": "vim login username"
1325 "description": "vim login password"
1329 "description": "vendor name"
1333 "description": "vim version"
1337 "description": "vim description"
1341 "description": "vim info createTime"
1345 "description": "The collection of trusted certificates towards the VIM connection."
1349 "description": "Whether to verify VIM's certificate"
1353 "description": "The status of external system"