3 - description: OSM NB API
4 url: https://osm.etsi.org/nbapi/v1.0.0
7 This is Open Source MANO Northbound API featuring ETSI NFV SOL005.
8 For more information on OSM, you can visit [http://osm.etsi.org](http://osm.etsi.org).
9 You can send us your comments and questions to OSM_TECH@list.etsi.org
10 or join the [OpenSourceMANO Slack Workplace](https://join.slack.com/t/opensourcemano/shared_invite/enQtMzQ3MzYzNTQ0NDIyLWVkNTE4ZjZjNWI0ZTQyN2VhOTI1MjViMzU1NWYwMWM3ODI4NTQyY2VlODA2ZjczMWIyYTFkZWNiZmFkM2M2ZDk)
12 title: OSM NB API featuring ETSI NFV SOL005
14 email: OSM_TECH@list.etsi.org
17 url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
19 - name: 'VNF packages'
20 description: Management operations of VNF descriptors and packages
22 description: Management operations of NS descriptors and packages
23 - name: 'NS instances'
24 description: Management operations of NS instances
26 '/nsd/v1/ns_descriptors':
30 summary: Query information about multiple NS descriptor resources
31 description: Query information about multiple NS descriptor resources
41 $ref: '#/components/schemas/ArrayOfNsdInfo'
44 $ref: '#/components/schemas/ArrayOfNsdInfo'
46 $ref: '#/components/responses/BadRequest'
48 $ref: '#/components/responses/Unauthorized'
50 $ref: '#/components/responses/Forbidden'
52 $ref: '#/components/responses/NotFound'
54 $ref: '#/components/responses/MethodNotAllowed'
56 $ref: '#/components/responses/NotAcceptable'
58 $ref: '#/components/responses/Conflict'
60 $ref: '#/components/responses/UnprocessableEntity'
62 $ref: '#/components/responses/InternalServerError'
64 $ref: '#/components/responses/ServiceUnavailable'
66 $ref: '#/components/responses/UnexpectedError'
68 $ref: '#/components/responses/UnexpectedError'
72 summary: Create a new NS descriptor resource
73 description: Create a new NS descriptor resource
78 $ref: '#/components/requestBodies/CreateNsdInfoRequest'
90 $ref: '#/components/schemas/NsdInfo'
93 $ref: '#/components/schemas/NsdInfo'
95 $ref: '#/components/responses/BadRequest'
97 $ref: '#/components/responses/Unauthorized'
99 $ref: '#/components/responses/Forbidden'
101 $ref: '#/components/responses/NotFound'
103 $ref: '#/components/responses/MethodNotAllowed'
105 $ref: '#/components/responses/NotAcceptable'
107 $ref: '#/components/responses/Conflict'
109 $ref: '#/components/responses/UnprocessableEntity'
111 $ref: '#/components/responses/InternalServerError'
113 $ref: '#/components/responses/ServiceUnavailable'
115 $ref: '#/components/responses/UnexpectedError'
117 $ref: '#/components/responses/UnexpectedError'
118 '/nsd/v1/ns_descriptors/{nsdInfoId}':
122 summary: Read information about an individual NS descriptor resource
123 description: Read information about an individual NS descriptor resource
133 $ref: '#/components/schemas/NsdInfo'
136 $ref: '#/components/schemas/NsdInfo'
138 $ref: '#/components/responses/BadRequest'
140 $ref: '#/components/responses/Unauthorized'
142 $ref: '#/components/responses/Forbidden'
144 $ref: '#/components/responses/NotFound'
146 $ref: '#/components/responses/MethodNotAllowed'
148 $ref: '#/components/responses/NotAcceptable'
150 $ref: '#/components/responses/Conflict'
152 $ref: '#/components/responses/UnprocessableEntity'
154 $ref: '#/components/responses/InternalServerError'
156 $ref: '#/components/responses/ServiceUnavailable'
158 $ref: '#/components/responses/UnexpectedError'
160 $ref: '#/components/responses/UnexpectedError'
164 summary: Delete an individual NS descriptor resource
165 description: Delete an individual NS descriptor resource
166 operationId: deleteNSD
171 description: No Content
173 $ref: '#/components/responses/BadRequest'
175 $ref: '#/components/responses/Unauthorized'
177 $ref: '#/components/responses/Forbidden'
179 $ref: '#/components/responses/NotFound'
181 $ref: '#/components/responses/MethodNotAllowed'
183 $ref: '#/components/responses/NotAcceptable'
185 $ref: '#/components/responses/Conflict'
187 $ref: '#/components/responses/UnprocessableEntity'
189 $ref: '#/components/responses/InternalServerError'
191 $ref: '#/components/responses/ServiceUnavailable'
193 $ref: '#/components/responses/UnexpectedError'
195 $ref: '#/components/responses/UnexpectedError'
199 summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource
200 description: Modify the operational state and/or the user defined data of an individual NS descriptor resource
201 operationId: updateNSD
205 $ref: '#/components/requestBodies/NsdInfoModifications'
212 $ref: '#/components/schemas/NsdInfoModifications'
215 $ref: '#/components/schemas/NsdInfoModifications'
217 $ref: '#/components/responses/BadRequest'
219 $ref: '#/components/responses/Unauthorized'
221 $ref: '#/components/responses/Forbidden'
223 $ref: '#/components/responses/NotFound'
225 $ref: '#/components/responses/MethodNotAllowed'
227 $ref: '#/components/responses/NotAcceptable'
229 $ref: '#/components/responses/Conflict'
231 $ref: '#/components/responses/UnprocessableEntity'
233 $ref: '#/components/responses/InternalServerError'
235 $ref: '#/components/responses/ServiceUnavailable'
237 $ref: '#/components/responses/UnexpectedError'
239 $ref: '#/components/responses/UnexpectedError'
240 '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content':
244 summary: Fetch the content of a NSD
245 description: Fetch the content of a NSD
246 operationId: getNSDcontent
252 $ref: '#/components/requestBodies/NsdContent'
254 description: Partial Content
259 $ref: '#/components/requestBodies/NsdContent'
261 $ref: '#/components/responses/BadRequest'
263 $ref: '#/components/responses/Unauthorized'
265 $ref: '#/components/responses/Forbidden'
267 $ref: '#/components/responses/NotFound'
269 $ref: '#/components/responses/MethodNotAllowed'
271 $ref: '#/components/responses/NotAcceptable'
273 $ref: '#/components/responses/Conflict'
275 $ref: '#/components/responses/UnprocessableEntity'
277 $ref: '#/components/responses/InternalServerError'
279 $ref: '#/components/responses/ServiceUnavailable'
281 $ref: '#/components/responses/UnexpectedError'
283 $ref: '#/components/responses/UnexpectedError'
287 summary: Upload the content of a NSD
288 description: Upload the content of a NSD
289 operationId: updateNSDcontent
293 $ref: '#/components/requestBodies/NsdContent'
296 description: Accepted
298 description: No Content
300 $ref: '#/components/responses/BadRequest'
302 $ref: '#/components/responses/Unauthorized'
304 $ref: '#/components/responses/Forbidden'
306 $ref: '#/components/responses/NotFound'
308 $ref: '#/components/responses/MethodNotAllowed'
310 $ref: '#/components/responses/NotAcceptable'
312 $ref: '#/components/responses/Conflict'
314 $ref: '#/components/responses/UnprocessableEntity'
316 $ref: '#/components/responses/InternalServerError'
318 $ref: '#/components/responses/ServiceUnavailable'
320 $ref: '#/components/responses/UnexpectedError'
322 $ref: '#/components/responses/UnexpectedError'
323 '/vnfpkgm/v1/vnf_packages':
327 summary: Query information about multiple VNF package resources
328 description: Query information about multiple VNF package resoureces
329 operationId: getVnfPkgs
338 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
341 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
343 $ref: '#/components/responses/BadRequest'
345 $ref: '#/components/responses/Unauthorized'
347 $ref: '#/components/responses/Forbidden'
349 $ref: '#/components/responses/NotFound'
351 $ref: '#/components/responses/MethodNotAllowed'
353 $ref: '#/components/responses/NotAcceptable'
355 $ref: '#/components/responses/Conflict'
357 $ref: '#/components/responses/UnprocessableEntity'
359 $ref: '#/components/responses/InternalServerError'
361 $ref: '#/components/responses/ServiceUnavailable'
363 $ref: '#/components/responses/UnexpectedError'
365 $ref: '#/components/responses/UnexpectedError'
369 summary: Create a new VNF package resource
370 description: Create a new VNF package resource
371 operationId: addVnfPkg
375 $ref: '#/components/requestBodies/CreateVnfPkgInfoRequest'
387 $ref: '#/components/schemas/VnfPkgInfo'
390 $ref: '#/components/schemas/VnfPkgInfo'
392 $ref: '#/components/responses/BadRequest'
394 $ref: '#/components/responses/Unauthorized'
396 $ref: '#/components/responses/Forbidden'
398 $ref: '#/components/responses/NotFound'
400 $ref: '#/components/responses/MethodNotAllowed'
402 $ref: '#/components/responses/NotAcceptable'
404 $ref: '#/components/responses/Conflict'
406 $ref: '#/components/responses/UnprocessableEntity'
408 $ref: '#/components/responses/InternalServerError'
410 $ref: '#/components/responses/ServiceUnavailable'
412 $ref: '#/components/responses/UnexpectedError'
414 $ref: '#/components/responses/UnexpectedError'
415 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}':
419 summary: Read information about an individual VNF package resource
420 description: Read information about an individual VNF package resource
421 operationId: getVnfPkg
430 $ref: '#/components/schemas/VnfPkgInfo'
433 $ref: '#/components/schemas/VnfPkgInfo'
435 $ref: '#/components/responses/BadRequest'
437 $ref: '#/components/responses/Unauthorized'
439 $ref: '#/components/responses/Forbidden'
441 $ref: '#/components/responses/NotFound'
443 $ref: '#/components/responses/MethodNotAllowed'
445 $ref: '#/components/responses/NotAcceptable'
447 $ref: '#/components/responses/Conflict'
449 $ref: '#/components/responses/UnprocessableEntity'
451 $ref: '#/components/responses/InternalServerError'
453 $ref: '#/components/responses/ServiceUnavailable'
455 $ref: '#/components/responses/UnexpectedError'
457 $ref: '#/components/responses/UnexpectedError'
461 summary: Delete an individual VNF package resource
462 description: Delete an individual VNF package resource
463 operationId: deleteVnfPkg
468 description: No Content
470 $ref: '#/components/responses/BadRequest'
472 $ref: '#/components/responses/Unauthorized'
474 $ref: '#/components/responses/Forbidden'
476 $ref: '#/components/responses/NotFound'
478 $ref: '#/components/responses/MethodNotAllowed'
480 $ref: '#/components/responses/NotAcceptable'
482 $ref: '#/components/responses/Conflict'
484 $ref: '#/components/responses/UnprocessableEntity'
486 $ref: '#/components/responses/InternalServerError'
488 $ref: '#/components/responses/ServiceUnavailable'
490 $ref: '#/components/responses/UnexpectedError'
492 $ref: '#/components/responses/UnexpectedError'
496 summary: Modify the operational state and/or the user defined data of an individual VNF package resource
497 description: Modify the operational state and/or the user defined data of an individual VNF package resource
498 operationId: updateVnfPkg
502 $ref: '#/components/requestBodies/VnfPkgInfoModifications'
509 $ref: '#/components/schemas/VnfPkgInfoModifications'
512 $ref: '#/components/schemas/VnfPkgInfoModifications'
514 $ref: '#/components/responses/BadRequest'
516 $ref: '#/components/responses/Unauthorized'
518 $ref: '#/components/responses/Forbidden'
520 $ref: '#/components/responses/NotFound'
522 $ref: '#/components/responses/MethodNotAllowed'
524 $ref: '#/components/responses/NotAcceptable'
526 $ref: '#/components/responses/Conflict'
528 $ref: '#/components/responses/UnprocessableEntity'
530 $ref: '#/components/responses/InternalServerError'
532 $ref: '#/components/responses/ServiceUnavailable'
534 $ref: '#/components/responses/UnexpectedError'
536 $ref: '#/components/responses/UnexpectedError'
537 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd':
541 summary: Read VNFD of an on-boarded VNF package
542 description: Read VNFD of an on-boarded VNF package
543 operationId: getVnfPkgVNFD
552 $ref: '#/components/schemas/VnfDescriptor'
554 $ref: '#/components/responses/BadRequest'
556 $ref: '#/components/responses/Unauthorized'
558 $ref: '#/components/responses/Forbidden'
560 $ref: '#/components/responses/NotFound'
562 $ref: '#/components/responses/MethodNotAllowed'
564 $ref: '#/components/responses/NotAcceptable'
566 $ref: '#/components/responses/Conflict'
568 $ref: '#/components/responses/UnprocessableEntity'
570 $ref: '#/components/responses/InternalServerError'
572 $ref: '#/components/responses/ServiceUnavailable'
574 $ref: '#/components/responses/UnexpectedError'
576 $ref: '#/components/responses/UnexpectedError'
577 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content':
581 summary: Fetch an on-boarded VNF package
582 description: Fetch an on-boarded VNF package
583 operationId: getVnfPkgContent
592 $ref: '#/components/schemas/VnfPackage'
594 description: Partial Content
602 $ref: '#/components/schemas/VnfPackage'
604 $ref: '#/components/responses/BadRequest'
606 $ref: '#/components/responses/Unauthorized'
608 $ref: '#/components/responses/Forbidden'
610 $ref: '#/components/responses/NotFound'
612 $ref: '#/components/responses/MethodNotAllowed'
614 $ref: '#/components/responses/NotAcceptable'
616 $ref: '#/components/responses/Conflict'
618 $ref: '#/components/responses/UnprocessableEntity'
620 $ref: '#/components/responses/InternalServerError'
622 $ref: '#/components/responses/ServiceUnavailable'
624 $ref: '#/components/responses/UnexpectedError'
626 $ref: '#/components/responses/UnexpectedError'
630 summary: Upload a VNF package by providing the content of the VNF package
631 description: Upload a VNF package by providing the content of the VNF package
632 operationId: uploadVnfPkgContent
636 $ref: '#/components/requestBodies/VnfPackage'
639 description: Accepted
641 # description: No Content
643 $ref: '#/components/responses/BadRequest'
645 $ref: '#/components/responses/Unauthorized'
647 $ref: '#/components/responses/Forbidden'
649 $ref: '#/components/responses/NotFound'
651 $ref: '#/components/responses/MethodNotAllowed'
653 $ref: '#/components/responses/NotAcceptable'
655 $ref: '#/components/responses/Conflict'
657 $ref: '#/components/responses/UnprocessableEntity'
659 $ref: '#/components/responses/InternalServerError'
661 $ref: '#/components/responses/ServiceUnavailable'
663 $ref: '#/components/responses/UnexpectedError'
665 $ref: '#/components/responses/UnexpectedError'
666 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content/upload_from_uri':
670 summary: Upload a VNF package by providing the URI of the VNF package
671 description: Upload a VNF package by providing the URI of the VNF package
672 operationId: uploadVnfPkgContentFromURI
676 $ref: '#/components/requestBodies/UploadVnfPackageFromUriRequest'
679 description: Accepted
681 # description: No Content
683 $ref: '#/components/responses/BadRequest'
685 $ref: '#/components/responses/Unauthorized'
687 $ref: '#/components/responses/Forbidden'
689 $ref: '#/components/responses/NotFound'
691 $ref: '#/components/responses/MethodNotAllowed'
693 $ref: '#/components/responses/NotAcceptable'
695 $ref: '#/components/responses/Conflict'
697 $ref: '#/components/responses/UnprocessableEntity'
699 $ref: '#/components/responses/InternalServerError'
701 $ref: '#/components/responses/ServiceUnavailable'
703 $ref: '#/components/responses/UnexpectedError'
705 $ref: '#/components/responses/UnexpectedError'
706 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
710 summary: Fetch individual VNF package artifact
711 description: Fetch individual VNF package artifact
712 operationId: getVnfPkgArtifact
719 application/octet-stream:
724 description: Partial Content
730 application/octet-stream:
735 $ref: '#/components/responses/BadRequest'
737 $ref: '#/components/responses/Unauthorized'
739 $ref: '#/components/responses/Forbidden'
741 $ref: '#/components/responses/NotFound'
743 $ref: '#/components/responses/MethodNotAllowed'
745 $ref: '#/components/responses/NotAcceptable'
747 $ref: '#/components/responses/Conflict'
749 $ref: '#/components/responses/UnprocessableEntity'
751 $ref: '#/components/responses/InternalServerError'
753 $ref: '#/components/responses/ServiceUnavailable'
755 $ref: '#/components/responses/UnexpectedError'
757 $ref: '#/components/responses/UnexpectedError'
758 '/nslcm/v1/ns_instances':
762 summary: Query information about multiple NS instances
763 description: Query information about multiple NS isntances
764 operationId: getNSinstances
773 $ref: '#/components/schemas/ArrayOfNsInstance'
776 $ref: '#/components/schemas/ArrayOfNsInstance'
778 $ref: '#/components/responses/BadRequest'
780 $ref: '#/components/responses/Unauthorized'
782 $ref: '#/components/responses/Forbidden'
784 $ref: '#/components/responses/NotFound'
786 $ref: '#/components/responses/MethodNotAllowed'
788 $ref: '#/components/responses/NotAcceptable'
790 $ref: '#/components/responses/Conflict'
792 $ref: '#/components/responses/UnprocessableEntity'
794 $ref: '#/components/responses/InternalServerError'
796 $ref: '#/components/responses/ServiceUnavailable'
798 $ref: '#/components/responses/UnexpectedError'
800 $ref: '#/components/responses/UnexpectedError'
804 summary: Create a new NS instance resource
805 description: Create a new NS instance resource
806 operationId: addNSinstance
810 $ref: '#/components/requestBodies/CreateNsRequest'
822 $ref: '#/components/schemas/NsInstance'
825 $ref: '#/components/schemas/NsInstance'
827 $ref: '#/components/responses/BadRequest'
829 $ref: '#/components/responses/Unauthorized'
831 $ref: '#/components/responses/Forbidden'
833 $ref: '#/components/responses/NotFound'
835 $ref: '#/components/responses/MethodNotAllowed'
837 $ref: '#/components/responses/NotAcceptable'
839 $ref: '#/components/responses/Conflict'
841 $ref: '#/components/responses/UnprocessableEntity'
843 $ref: '#/components/responses/InternalServerError'
845 $ref: '#/components/responses/ServiceUnavailable'
847 $ref: '#/components/responses/UnexpectedError'
849 $ref: '#/components/responses/UnexpectedError'
850 '/nslcm/v1/ns_instances/{nsInstanceId}':
854 summary: Read an individual NS instance resource
855 description: Read an individual NS instance resource
856 operationId: getNSinstance
865 $ref: '#/components/schemas/NsInstance'
868 $ref: '#/components/schemas/NsInstance'
870 $ref: '#/components/responses/BadRequest'
872 $ref: '#/components/responses/Unauthorized'
874 $ref: '#/components/responses/Forbidden'
876 $ref: '#/components/responses/NotFound'
878 $ref: '#/components/responses/MethodNotAllowed'
880 $ref: '#/components/responses/NotAcceptable'
882 $ref: '#/components/responses/Conflict'
884 $ref: '#/components/responses/UnprocessableEntity'
886 $ref: '#/components/responses/InternalServerError'
888 $ref: '#/components/responses/ServiceUnavailable'
890 $ref: '#/components/responses/UnexpectedError'
892 $ref: '#/components/responses/UnexpectedError'
896 summary: Delete an individual NS instance resource
897 description: Delete an individual NS instance resource
898 operationId: deleteNSinstance
903 description: No Content
905 $ref: '#/components/responses/BadRequest'
907 $ref: '#/components/responses/Unauthorized'
909 $ref: '#/components/responses/Forbidden'
911 $ref: '#/components/responses/NotFound'
913 $ref: '#/components/responses/MethodNotAllowed'
915 $ref: '#/components/responses/NotAcceptable'
917 $ref: '#/components/responses/Conflict'
919 $ref: '#/components/responses/UnprocessableEntity'
921 $ref: '#/components/responses/InternalServerError'
923 $ref: '#/components/responses/ServiceUnavailable'
925 $ref: '#/components/responses/UnexpectedError'
927 $ref: '#/components/responses/UnexpectedError'
928 '/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
932 summary: Instantiate a NS
934 Instantiate a NS. The precondition is that the NS instance must have
935 been created and must be in NOT_INSTANTIATED state. As a result of the
936 success of this operation, the NFVO creates a "NS Lifecycle Operation
937 Occurrence" resource for the request, and the NS instance state becomes
939 operationId: instantiateNSinstance
943 $ref: '#/components/requestBodies/InstantiateNsRequest'
946 description: Accepted
950 It must point to the new "NS Lifecycle Operation Occurrence"
951 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
956 $ref: '#/components/responses/BadRequest'
958 $ref: '#/components/responses/Unauthorized'
960 $ref: '#/components/responses/Forbidden'
962 $ref: '#/components/responses/NotFound'
964 $ref: '#/components/responses/MethodNotAllowed'
966 $ref: '#/components/responses/NotAcceptable'
968 $ref: '#/components/responses/Conflict'
970 $ref: '#/components/responses/UnprocessableEntity'
972 $ref: '#/components/responses/InternalServerError'
974 $ref: '#/components/responses/ServiceUnavailable'
976 $ref: '#/components/responses/UnexpectedError'
978 $ref: '#/components/responses/UnexpectedError'
979 '/nslcm/v1/ns_instances/{nsInstanceId}/scale':
983 summary: Scale a NS instance
985 Scale a NS instance. The precondition is that the NS instance must have
986 been created and must be in INSTANTIATED state. As a result of the
987 success of this operation, the NFVO creates a "NS Lifecycle Operation
988 Occurrence" resource for the request, and the NS instance state remains
990 operationId: scaleNSinstance
994 $ref: '#/components/requestBodies/ScaleNsRequest'
997 description: Accepted
1001 It must point to the new "NS Lifecycle Operation Occurrence"
1002 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1007 $ref: '#/components/responses/BadRequest'
1009 $ref: '#/components/responses/Unauthorized'
1011 $ref: '#/components/responses/Forbidden'
1013 $ref: '#/components/responses/NotFound'
1015 $ref: '#/components/responses/MethodNotAllowed'
1017 $ref: '#/components/responses/NotAcceptable'
1019 $ref: '#/components/responses/Conflict'
1021 $ref: '#/components/responses/UnprocessableEntity'
1023 $ref: '#/components/responses/InternalServerError'
1025 $ref: '#/components/responses/ServiceUnavailable'
1027 $ref: '#/components/responses/UnexpectedError'
1029 $ref: '#/components/responses/UnexpectedError'
1030 '/nslcm/v1/ns_instances/{nsInstanceId}/update':
1034 summary: Update a NS instance
1036 Update a NS instance. The precondition is that the NS instance must have
1037 been created and must be in INSTANTIATED state. As a result of the
1038 success of this operation, the NFVO creates a "NS Lifecycle Operation
1039 Occurrence" resource for the request, and the NS instance state remains
1041 operationId: updateNSinstance
1045 $ref: '#/components/requestBodies/UpdateNsRequest'
1048 description: Accepted
1052 It must point to the new "NS Lifecycle Operation Occurrence"
1053 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1058 $ref: '#/components/responses/BadRequest'
1060 $ref: '#/components/responses/Unauthorized'
1062 $ref: '#/components/responses/Forbidden'
1064 $ref: '#/components/responses/NotFound'
1066 $ref: '#/components/responses/MethodNotAllowed'
1068 $ref: '#/components/responses/NotAcceptable'
1070 $ref: '#/components/responses/Conflict'
1072 $ref: '#/components/responses/UnprocessableEntity'
1074 $ref: '#/components/responses/InternalServerError'
1076 $ref: '#/components/responses/ServiceUnavailable'
1078 $ref: '#/components/responses/UnexpectedError'
1080 $ref: '#/components/responses/UnexpectedError'
1081 '/nslcm/v1/ns_instances/{nsInstanceId}/heal':
1085 summary: Heal a NS instance
1087 Heal a NS instance. The precondition is that the NS instance must have
1088 been created and must be in INSTANTIATED state. As a result of the
1089 success of this operation, the NFVO creates a "NS Lifecycle Operation
1090 Occurrence" resource for the request, and the NS instance state remains
1092 operationId: healNSinstance
1096 $ref: '#/components/requestBodies/HealNsRequest'
1099 description: Accepted
1103 It must point to the new "NS Lifecycle Operation Occurrence"
1104 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1109 $ref: '#/components/responses/BadRequest'
1111 $ref: '#/components/responses/Unauthorized'
1113 $ref: '#/components/responses/Forbidden'
1115 $ref: '#/components/responses/NotFound'
1117 $ref: '#/components/responses/MethodNotAllowed'
1119 $ref: '#/components/responses/NotAcceptable'
1121 $ref: '#/components/responses/Conflict'
1123 $ref: '#/components/responses/UnprocessableEntity'
1125 $ref: '#/components/responses/InternalServerError'
1127 $ref: '#/components/responses/ServiceUnavailable'
1129 $ref: '#/components/responses/UnexpectedError'
1131 $ref: '#/components/responses/UnexpectedError'
1132 '/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
1136 summary: Terminate a NS instance
1138 Terminate a NS instance. The precondition is that the NS instance must have
1139 been created and must be in INSTANTIATED state. As a result of the
1140 success of this operation, the NFVO creates a "NS Lifecycle Operation
1141 Occurrence" resource for the request, and the NS instance state becomes
1143 operationId: terminateNSinstance
1147 $ref: '#/components/requestBodies/TerminateNsRequest'
1150 description: Accepted
1154 It must point to the new "NS Lifecycle Operation Occurrence"
1155 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1160 $ref: '#/components/responses/BadRequest'
1162 $ref: '#/components/responses/Unauthorized'
1164 $ref: '#/components/responses/Forbidden'
1166 $ref: '#/components/responses/NotFound'
1168 $ref: '#/components/responses/MethodNotAllowed'
1170 $ref: '#/components/responses/NotAcceptable'
1172 $ref: '#/components/responses/Conflict'
1174 $ref: '#/components/responses/UnprocessableEntity'
1176 $ref: '#/components/responses/InternalServerError'
1178 $ref: '#/components/responses/ServiceUnavailable'
1180 $ref: '#/components/responses/UnexpectedError'
1182 $ref: '#/components/responses/UnexpectedError'
1184 description: Find out more OSM
1185 url: 'http://osm.etsi.org/wikipub'
1189 description: Bad request. The server cannot process the request due to a client error.
1193 $ref: '#/components/schemas/ProblemDetails'
1195 description: Authorization information is missing or invalid.
1199 $ref: '#/components/schemas/ProblemDetails'
1201 description: Not enough permissions to do this operation.
1205 $ref: '#/components/schemas/ProblemDetails'
1207 description: The specified resource was not found.
1211 $ref: '#/components/schemas/ProblemDetails'
1213 description: This method is not supported for the requested resource.
1217 $ref: '#/components/schemas/ProblemDetails'
1219 description: The requested resource content cannot match the Accept headers sent in the request.
1223 $ref: '#/components/schemas/ProblemDetails'
1225 description: The operation cannot be executed currently, due to a conflict with the state of the resource.
1229 $ref: '#/components/schemas/ProblemDetails'
1230 UnprocessableEntity:
1231 description: The request was well-formed but was unable to be followed due to semantic errors.
1235 $ref: '#/components/schemas/ProblemDetails'
1236 InternalServerError:
1237 description: Internal server error.
1241 $ref: '#/components/schemas/ProblemDetails'
1243 description: Service temporarily unavailable.
1247 $ref: '#/components/schemas/ProblemDetails'
1249 description: Unexpected error.
1253 $ref: '#/components/schemas/ProblemDetails'
1262 additionalProperties:
1264 CreateNsdInfoRequest:
1268 $ref: '#/components/schemas/KeyValuePairs'
1269 NsdOnboardingStateType:
1271 enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED]
1273 NSD onboarding state:
1274 * `CREATED` - The NSD information object is created.
1275 * `UPLOADING` - The associated NSD content is being uploaded.
1276 * `PROCESSING` - The associated NSD content is being processed, e.g. validation.
1277 * `ONBOARDED` - The associated NSD content is on-boarded.
1278 NsdOperationalStateType:
1280 enum: [ENABLED, DISABLED]
1282 NSD operational state:
1283 * `ENABLED` - The NSD is enabled.
1284 * `DISABLED` - The NSD is disabled.
1287 enum: [IN_USE, NOT_IN_USE]
1290 * `IN_USE` - The NSD is in use.
1291 * `NOT_IN_USE` - The NSD is not in use.
1292 NsdInfoModifications:
1295 nsdOperationalState:
1296 $ref: '#/components/schemas/NsdOperationalStateType'
1298 $ref: '#/components/schemas/KeyValuePairs'
1304 Identifier of the onboarded individual NS descriptor
1305 resource. This identifier is allocated by the NFVO.
1310 This identifier, which is allocated by the NSD
1311 designer, identifies the NSD in a globally unique
1312 way. It is copied from the NSD content and shall be
1313 present after the NSD content is on-boarded.
1318 Name of the onboarded NSD. This information is
1319 copied from the NSD content and shall be present
1320 after the NSD content is on-boarded.
1324 Version of the on-boarded NSD. This information is
1325 copied from the NSD content and shall be present
1326 after the NSD content is on-boarded.
1330 Designer of the on-boarded NSD. This information is
1331 copied from the NSD content and shall be present
1332 after the NSD content is on-boarded.
1336 This identifier, which is allocated by the NSD designer,
1337 identifies an NSD in a version independent manner. This
1338 information is copied from the NSD content and shall be
1339 present after the NSD content is on-boarded.
1344 List of VNF package identifiers referenced by the on-boarded
1345 NS descriptor resource.
1352 List of PNFD identifiers referenced by the on-boarded NS
1353 descriptor resource.
1360 List of NSD identifiers referenced by the on-boarded NS
1361 descriptor resource.
1368 Onboarding state of the individual NS descriptor resource.
1369 $ref: '#components/schemas/NsdOnboardingStateType'
1370 onboardingFailureDetails:
1372 Failure details of current onboarding procedure. It follows
1373 the "ProblemDetails" structure. It shall be present when the
1374 "nsdOnboardingState" attribute is CREATED and the uploading or
1375 processing fails in NFVO.
1376 $ref: '#/components/schemas/ProblemDetails'
1377 nsdOperationalState:
1379 Operational state of the individual NS descriptor resource. This
1380 attribute can be modified with the PATCH method. If the value of
1381 the nsdOnboardingState attribute is not equal to "ONBOARDED", the
1382 value of the nsdOperationalState attribute shall be equal to
1384 $ref: '#components/schemas/NsdOperationalStateType'
1387 Usage state of the individual NS descriptor resource. If the value
1388 of the nsdOnboardingState attribute is not equal to "ONBOARDED",
1389 the value of the nsdUsageState attribute shall be equal to
1391 $ref: '#components/schemas/NsdUsageStateType'
1393 $ref: '#/components/schemas/KeyValuePairs'
1396 Links to resources related to this resource
1400 URI of this resource
1405 Link to the NSD content resource.
1410 - nsdOnboardingState
1411 - nsdOperationalState
1419 $ref: '#/components/schemas/NsdInfo'
1435 additionalProperties: true
1444 CreateVnfPkgInfoRequest:
1448 $ref: '#/components/schemas/KeyValuePairs'
1449 VnfPackageOnboardingStateType:
1451 enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED]
1453 VNF Package onboarding state:
1454 * `CREATED` - The VNF Package information object is created.
1455 * `UPLOADING` - The VNF Package is being uploaded.
1456 * `PROCESSING` - The VNF Package is being processed, e.g. validation.
1457 * `ONBOARDED` - The VNF Package is successfully on-boarded.
1458 VnfPackageOperationalStateType:
1460 enum: [ENABLED, DISABLED]
1462 VNF Package operational state:
1463 * `ENABLED` - The VNF Package is enabled.
1464 * `DISABLED` - The VNF Package is disabled.
1465 VnfPackageUsageStateType:
1467 enum: [IN_USE, NOT_IN_USE]
1469 VNF Package usage state:
1470 * `IN_USE` - The VNF Package is in use.
1471 * `NOT_IN_USE` - The VNF Package is not in use.
1472 #SoftwareImageFormatType:
1474 # enum: [AKI, AMI, ARI, BARE, DOCKER, OVA, OVF]
1476 # Software image format. Permitted values:
1477 # * `AKI`: a kernel image format
1478 # * `AMI`: a machine image format
1479 # * `ARI`: a ramdisk image format
1480 # * `BARE`: the image does not have a container or metadata envelope
1481 # * `DOCKER`: docker container format
1482 # * `OVA`: OVF package in a tarfile
1483 # * `OVF`: OVF container format
1484 VnfPackageSoftwareImageInfo:
1486 additionalProperties: true
1490 # Identifier of the software image, unique in the scope of a VNFD.
1494 # Name of the software image.
1498 # Provider of the software image.
1502 # Version of the software image.
1506 # Checksum of the software image file.
1510 # Container format indicates whether the software image is in a
1511 # file format that also contains metadata about the actual
1513 # $ref: '#/components/schemas/SoftwareImageFormatType'
1516 # Disk format of a software image is the format of the underlying
1518 # $ref: '#/components/schemas/DiskFormatType'
1520 VnfPackageArtifactInfo:
1522 additionalProperties: true
1523 VnfPkgInfoModifications:
1527 $ref: '#/components/schemas/VnfPackageOperationalStateType'
1529 $ref: '#/components/schemas/KeyValuePairs'
1535 Identifier of the VNF package. This identifier is allocated by the NFVO.
1540 This identifier, which is managed by the VNF provider, identifies
1541 the VNF package and the VNFD in a globally unique way. It's
1542 copied from the VNFD of the on-boarded VNF package. It shall be
1543 present after the VNF package content has been on-boarded and
1549 Deovider of the VNF pacakge and the VNFD. This information is
1550 copied from the VNFD. It shall be present after the VNF package
1551 content has been on-boarded and absent otherwise.
1555 Name to identify the VNF product. Invariant for the VNF product
1556 ligetime. This information is copied from the VNFD. It shall be
1557 present after the VNF package content has been on-boarded and
1562 Software version of the VNF. This is changed when there is any
1563 change to the software included in the VNF package. This
1564 information is copied from the VNFD. It shall be present after the
1565 VNF package content has been on-boarded and absent otherwise.
1569 The version of the VNFD. TSof information is copied from the VNFD.
1570 It shall be present after the VNF package content has been
1571 on-boarded and absent otherwise.
1575 Checksum of the on-boarded VNF package. It shall be present after
1576 the VNF package content has been on-boarded and absent otherwise.
1580 Information about VNF package artifacts that are software images.
1581 This attribute shall not be present before the VNF package content
1582 is on-boarded. Otherwise, this attribute shall be present unless
1583 it has been requested to be excluded per attribute selector.
1586 $ref: '#/components/schemas/VnfPackageSoftwareImageInfo'
1587 additionalArtifacts:
1589 Information about VNF package artifacts contained in the VNF
1590 package that are not software images. This attribute shall not be
1591 present before the VNF package content is on-boarded. Otherwise,
1592 this attribute shall be present if the VNF package contains
1593 additional artifacts.
1596 $ref: '#/components/schemas/VnfPackageArtifactInfo'
1599 On-boarding state of the VNF package.
1600 $ref: '#components/schemas/VnfPackageOnboardingStateType'
1603 Operational state of the VNF package. If the value of the
1604 onboardingState attribute is not equal to "ONBOARDED", the value
1605 of the operationalState attribute shall be equal to "DISABLED".
1606 $ref: '#components/schemas/VnfPackageOperationalStateType'
1609 Usage state of the VNF package. If the value of the
1610 onboardingState attribute is not equal to "ONBOARDED", the value
1611 of the usageState attribute shall be equal to "NOT_IN_USE".
1612 $ref: '#components/schemas/VnfPackageUsageStateType'
1615 User defined data for the VNF package
1616 $ref: '#/components/schemas/KeyValuePairs'
1619 Links to resources related to this resource
1623 URI of this resource
1628 Link to the VNFD resource. This link shall be present after the VNF
1629 package content is on-boarded.
1634 Link to the "VNF package content" resource.
1648 $ref: '#/components/schemas/VnfPkgInfo'
1649 UploadVnfPackageFromUriRequest:
1654 Address information of the VNF package content. The NFVO can use
1655 this address to obtain the VNF package.
1660 User name to be used for authentication. Shall be present if user
1661 name is needed but has not been provisioned out of band.
1665 Password to be used for authentication. Shall be present if password
1666 is needed but has not been provisioned out of band.
1669 - addressInformation
1675 Identifier of the NSD that defines the NS instance to be created.
1680 Human-readable name of the NS instance to be created.
1684 Human-readable description of the NS instance to be created.
1692 enum: [NOT_INSTANTIATED, INSTANTIATED]
1694 State of the NS instance. Permitted values:
1695 * `NOT_INSTANTIATED`: The NS instance is terminated or not instantiated.
1696 * `INSTANTIATED`: The NS instance is instantiated.
1701 description: Identifier of the NS instance.
1705 description: Human readable name of the NS instance.
1707 nsInstanceDescription:
1708 description: Human readable description of the NS instance.
1711 description: Identifier of the NSD on which the NS instance is based.
1716 Identifier of the NS deployment flavour applied to the NS instance.
1717 This attribute shall be present if the nsState attribute value is
1722 Information on constituent VNF(s) of the NS instance. If the
1723 "nsState" attribute is INSTANTIATED, at least either one
1724 "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall
1728 $ref: '#/components/schemas/VnfInstance'
1731 Information on the PNF(s) that are part of the NS instance.
1734 $ref: '#/components/schemas/PnfInfo'
1737 Information on the VL(s) of the NS instance. This attribute shall
1738 be present if the nsState attribute value is INSTANTIATED and if
1739 the NS instance has specified connectivity.
1742 $ref: '#/components/schemas/NsVirtualLinkInfo'
1745 Information on the VNFFG(s) of the NS instance.
1748 $ref: '#/components/schemas/VnffgInfo'
1751 Information on the SAP(s) of the NS instance.
1754 $ref: '#/components/schemas/SapInfo'
1757 Identifier of the nested NS(s) of the NS instance. If the "nsState"
1758 attribute is INSTANTIATED, at least either one "vnfInstance"
1759 attribute or one "nestedNsInstanceId" attribute shall be present.
1766 The state of the NS instance.
1767 $ref: '#components/schemas/NsStateType'
1770 Status of each NS scaling aspect declared in the applicable DF,
1771 how "big" the NS instance has been scaled w.r.t. that aspect. This
1772 attribute shall be present if the nsState attribute value is
1776 $ref: '#/components/schemas/NsScaleInfo'
1777 additionalAffinityOrAntiAffinityRule:
1779 Information on the additional affinity or anti-affinity rule from
1780 NS instantiation operation. Shall not conflict with rules already
1781 specified in the NSD.
1784 $ref: '#/components/schemas/AffinityOrAntiAffinityRule'
1787 Links to resources related to this resource
1791 URI of this resource
1796 Links to the nested NS instances of the present NS instance.
1803 Link to the "instantiate" task resource, if the related operation
1804 is possible based on the current status of this NS instance
1805 resource (i.e. NS instance in NOT_INSTANTIATED state).
1810 Link to the "terminate" task resource, if the related operation is
1811 possible based on the current status of this NS instance resource
1812 (i.e. NS instance is in INSTANTIATED state).
1817 Link to the "update" task resource, if the related operation is
1818 possible based on the current status of this NS instance resource
1819 (i.e. NS instance is in INSTANTIATED state).
1824 Link to the "scale" task resource, if the related operation is
1825 supported for this NS instance, and is possible based on the
1826 current status of this NS instance resource (i.e. NS instance is in
1827 INSTANTIATED state).
1832 Link to the "heal" task resource, if the related operation is
1833 supported for this NS instance, and is possible based on the
1834 current status of this NS instance resource (i.e. NS instance is in
1835 INSTANTIATED state).
1841 - nsInstanceDescription
1849 additionalProperties: true
1852 additionalProperties: true
1855 additionalProperties: true
1858 additionalProperties: true
1861 additionalProperties: true
1864 additionalProperties: true
1865 AffinityOrAntiAffinityRule:
1867 additionalProperties: true
1870 additionalProperties: true
1873 additionalProperties: true
1876 additionalProperties: true
1877 VnfLocationConstraint:
1879 additionalProperties: true
1882 additionalProperties: true
1883 InstantiateNsRequest:
1887 description: Identifier of the NS deployment flavour to be instantiated.
1890 description: Create data concerning the SAPs of this NS.
1893 $ref: '#/components/schemas/SapData'
1895 description: Information on the PNF(s) that are part of this NS.
1898 $ref: '#/components/schemas/AddPnfData'
1901 Specify an existing VNF instance to be used in the NS. If needed,
1902 the VNF Profile to be used for this VNF instance is also provided.
1905 $ref: '#/components/schemas/VnfInstanceData'
1908 Specify an existing NS instance to be used as a nested NS within the NS.
1913 localizationLanguage:
1915 Defines the location constraints for the VNF to be instantiated as part of
1916 the NS instantiation. An example can be a constraint for the VNF to be in a
1917 specific geographic location.
1920 $ref: '#/components/schemas/VnfLocationConstraint'
1921 additionalParamsForNs:
1923 Allows the OSS/BSS to provide additional parameter(s) at the NS level
1924 (as opposed to the VNF level, which is covered in additionalParamsForVnf).
1925 $ref: '#/components/schemas/KeyValuePairs'
1926 additionalParamsForVnf:
1928 Allows the OSS/BSS to provide additional parameter(s) per VNF instance
1929 (as opposed to the NS level, which is covered in additionalParamsForNs).
1930 This is for VNFs that are to be created by the NFVO as part of the NS
1931 instantiation and not for existing VNF that are referenced for reuse.
1934 $ref: '#/components/schemas/ParamsForVnf'
1937 Timestamp indicating the earliest time to instantiate the NS.
1938 Cardinality "0" indicates the NS instantiation takes place immediately.
1941 nsInstantiationLevelId:
1943 Identifies one of the NS instantiation levels declared in the DF applicable
1944 to this NS instance. If not present, the default NS instantiation level as
1945 declared in the NSD shall be used.
1947 additionalAffinityOrAntiAffiniityRule:
1949 Specifies additional affinity or anti-affinity constraint for the VNF instances
1950 to be instantiated as part of the NS instantiation. Shall not conflict with rules
1951 already specified in the NSD.
1954 $ref: '#/components/schemas/AffinityOrAntiAffinityRule'
1962 enum: [ ADD_VNF, REMOVE_VNF, INSTANTIATE_VNF, CHANGE_VNF_DF,
1963 OPERATE_VNF, MODIFY_VNF_INFORMATION, CHANGE_EXTERNAL_VNF_CONNECTIVITY,
1964 REMOVE_SAP, ADD_NESTED_NS, REMOVE_NESTED_NS, ASSOC_NEW_NSD_VERSION,
1965 MOVE_VNF, ADD_VNFFG, REMOVE_VNFFG, UPDATE_VNFFG, CHANGE_NS_DF, ADD_PNF,
1966 MODIFY_PNF, REMOVE_PNF ]
1968 The type of update. It determines also which one of the following parameters
1969 is present in the operation. Possible values include:
1970 * `ADD_VNF`: Adding existing VNF instance(s)
1971 * `REMOVE_VNF`: Removing VNF instance(s)
1972 * `INSTANTIATE_VNF`: Instantiating new VNF(s)
1973 * `CHANGE_VNF_DF`: Changing VNF DF
1974 * `OPERATE_VNF`: Changing VNF state,
1975 * `MODIFY_VNF_INFORMATION`: Modifying VNF information and/or the configurable
1976 properties of VNF instance(s)
1977 * `CHANGE_EXTERNAL_VNF_CONNECTIVITY`: Changing the external connectivity of VNF
1979 * `ADD_SAP`: Adding SAP(s)
1980 * `REMOVE_SAP`: Removing SAP(s)
1981 * `ADD_NESTED_NS`: Adding existing NS instance(s) as nested NS(s)
1982 * `REMOVE_NESTED_NS`: Removing existing nested NS instance(s)
1983 * `ASSOC_NEW_NSD_VERSION`: Associating a new NSD version to the NS instance
1984 * `MOVE_VNF`: Moving VNF instance(s) from one origin NS instance to another target NS
1986 * `ADD_VNFFG`: Adding VNFFG(s)
1987 * `REMOVE_VNFFG`: Removing VNFFG(s)
1988 * `UPDATE_VNFFG`: Updating VNFFG(s)
1989 * `CHANGE_NS_DF`: Changing NS DF
1990 * `ADD_PNF`: Adding PNF
1991 * `MODIFY_PNF`: Modifying PNF
1992 * `REMOVE_PNF`: Removing PNF
1993 # Specific properties are required for each updateType. Pending to be added.
1994 additionalProperties: true
1999 additionalProperties: true
2002 additionalProperties: true
2005 additionalProperties: true
2011 Provides the information needed to heal an NS. Either the parameter healNsData
2012 or the parameter healVnfData, but not both shall be provided.
2013 $ref: '#/components/schemas/HealNsData'
2016 Provides the information needed to heal a VNF. Either the parameter healNsData
2017 or the parameter healVnfData, but not both shall be provided.
2020 $ref: '#/components/schemas/HealVnfData'
2026 Timestamp indicating the end time of the NS, i.e. the NS will be terminated
2027 automatically at this timestamp. Cardinality "0" indicates the NS termination
2028 takes place immediately.
2034 $ref: '#/components/schemas/NsInstance'
2036 CreateNsdInfoRequest:
2040 $ref: '#/components/schemas/CreateNsdInfoRequest'
2043 $ref: '#/components/schemas/CreateNsdInfoRequest'
2044 NsdInfoModifications:
2048 $ref: '#/components/schemas/NsdInfoModifications'
2051 $ref: '#/components/schemas/NsdInfoModifications'
2056 $ref: '#/components/schemas/NsDescriptor'
2059 $ref: '#/components/schemas/NsPackage'
2060 CreateVnfPkgInfoRequest:
2064 $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
2067 $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
2068 VnfPkgInfoModifications:
2072 $ref: '#/components/schemas/VnfPkgInfoModifications'
2075 $ref: '#/components/schemas/VnfPkgInfoModifications'
2080 $ref: '#/components/schemas/VnfPackage'
2081 UploadVnfPackageFromUriRequest:
2085 $ref: '#/components/schemas/UploadVnfPackageFromUriRequest'
2088 $ref: '#/components/schemas/UploadVnfPackageFromUriRequest'
2093 $ref: '#/components/schemas/CreateNsRequest'
2096 $ref: '#/components/schemas/CreateNsRequest'
2097 InstantiateNsRequest:
2101 $ref: '#/components/schemas/InstantiateNsRequest'
2104 $ref: '#/components/schemas/InstantiateNsRequest'
2109 $ref: '#/components/schemas/ScaleNsRequest'
2112 $ref: '#/components/schemas/ScaleNsRequest'
2117 $ref: '#/components/schemas/UpdateNsRequest'
2120 $ref: '#/components/schemas/UpdateNsRequest'
2125 $ref: '#/components/schemas/HealNsRequest'
2128 $ref: '#/components/schemas/HealNsRequest'
2133 $ref: '#/components/schemas/TerminateNsRequest'
2136 $ref: '#/components/schemas/TerminateNsRequest'