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
9 [http://osm.etsi.org](http://osm.etsi.org) or connect to IRCs
10 [Freenode, #etsi-osm](http://webchat.freenode.net?channels=etsi-osm) or on
11 [OSM IRC, #tech](https://osm.etsi.org:8080/kiwi)
13 title: OSM NB API featuring ETSI NFV SOL005
15 email: OSM_TECH@list.etsi.org
18 url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
20 - name: 'VNF packages'
21 description: Management operations of VNF descriptors and packages
23 description: Management operations of NS descriptors and packages
24 - name: 'NS instances'
25 description: Management operations of NS instances
27 '/nsd/v1/ns_descriptors':
31 summary: Query information about multiple NS descriptor resources
32 description: Query information about multiple NS descriptor resources
42 $ref: '#/components/schemas/ArrayOfNsdInfo'
45 $ref: '#/components/schemas/ArrayOfNsdInfo'
47 $ref: '#/components/responses/BadRequest'
49 $ref: '#/components/responses/Unauthorized'
51 $ref: '#/components/responses/Forbidden'
53 $ref: '#/components/responses/NotFound'
55 $ref: '#/components/responses/MethodNotAllowed'
57 $ref: '#/components/responses/NotAcceptable'
59 $ref: '#/components/responses/Conflict'
61 $ref: '#/components/responses/UnprocessableEntity'
63 $ref: '#/components/responses/InternalServerError'
65 $ref: '#/components/responses/ServiceUnavailable'
67 $ref: '#/components/responses/UnexpectedError'
69 $ref: '#/components/responses/UnexpectedError'
73 summary: Create a new NS descriptor resource
74 description: Create a new NS descriptor resource
79 $ref: '#/components/requestBodies/CreateNsdInfoRequest'
91 $ref: '#/components/schemas/NsdInfo'
94 $ref: '#/components/schemas/NsdInfo'
96 $ref: '#/components/responses/BadRequest'
98 $ref: '#/components/responses/Unauthorized'
100 $ref: '#/components/responses/Forbidden'
102 $ref: '#/components/responses/NotFound'
104 $ref: '#/components/responses/MethodNotAllowed'
106 $ref: '#/components/responses/NotAcceptable'
108 $ref: '#/components/responses/Conflict'
110 $ref: '#/components/responses/UnprocessableEntity'
112 $ref: '#/components/responses/InternalServerError'
114 $ref: '#/components/responses/ServiceUnavailable'
116 $ref: '#/components/responses/UnexpectedError'
118 $ref: '#/components/responses/UnexpectedError'
119 '/nsd/v1/ns_descriptors/{nsdInfoId}':
123 summary: Read information about an individual NS descriptor resource
124 description: Read information about an individual NS descriptor resource
134 $ref: '#/components/schemas/NsdInfo'
137 $ref: '#/components/schemas/NsdInfo'
139 $ref: '#/components/responses/BadRequest'
141 $ref: '#/components/responses/Unauthorized'
143 $ref: '#/components/responses/Forbidden'
145 $ref: '#/components/responses/NotFound'
147 $ref: '#/components/responses/MethodNotAllowed'
149 $ref: '#/components/responses/NotAcceptable'
151 $ref: '#/components/responses/Conflict'
153 $ref: '#/components/responses/UnprocessableEntity'
155 $ref: '#/components/responses/InternalServerError'
157 $ref: '#/components/responses/ServiceUnavailable'
159 $ref: '#/components/responses/UnexpectedError'
161 $ref: '#/components/responses/UnexpectedError'
165 summary: Delete an individual NS descriptor resource
166 description: Delete an individual NS descriptor resource
167 operationId: deleteNSD
172 description: No Content
174 $ref: '#/components/responses/BadRequest'
176 $ref: '#/components/responses/Unauthorized'
178 $ref: '#/components/responses/Forbidden'
180 $ref: '#/components/responses/NotFound'
182 $ref: '#/components/responses/MethodNotAllowed'
184 $ref: '#/components/responses/NotAcceptable'
186 $ref: '#/components/responses/Conflict'
188 $ref: '#/components/responses/UnprocessableEntity'
190 $ref: '#/components/responses/InternalServerError'
192 $ref: '#/components/responses/ServiceUnavailable'
194 $ref: '#/components/responses/UnexpectedError'
196 $ref: '#/components/responses/UnexpectedError'
200 summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource
201 description: Modify the operational state and/or the user defined data of an individual NS descriptor resource
202 operationId: updateNSD
206 $ref: '#/components/requestBodies/NsdInfoModifications'
213 $ref: '#/components/schemas/NsdInfoModifications'
216 $ref: '#/components/schemas/NsdInfoModifications'
218 $ref: '#/components/responses/BadRequest'
220 $ref: '#/components/responses/Unauthorized'
222 $ref: '#/components/responses/Forbidden'
224 $ref: '#/components/responses/NotFound'
226 $ref: '#/components/responses/MethodNotAllowed'
228 $ref: '#/components/responses/NotAcceptable'
230 $ref: '#/components/responses/Conflict'
232 $ref: '#/components/responses/UnprocessableEntity'
234 $ref: '#/components/responses/InternalServerError'
236 $ref: '#/components/responses/ServiceUnavailable'
238 $ref: '#/components/responses/UnexpectedError'
240 $ref: '#/components/responses/UnexpectedError'
241 '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content':
245 summary: Fetch the content of a NSD
246 description: Fetch the content of a NSD
247 operationId: getNSDcontent
253 $ref: '#/components/requestBodies/NsdContent'
255 description: Partial Content
260 $ref: '#/components/requestBodies/NsdContent'
262 $ref: '#/components/responses/BadRequest'
264 $ref: '#/components/responses/Unauthorized'
266 $ref: '#/components/responses/Forbidden'
268 $ref: '#/components/responses/NotFound'
270 $ref: '#/components/responses/MethodNotAllowed'
272 $ref: '#/components/responses/NotAcceptable'
274 $ref: '#/components/responses/Conflict'
276 $ref: '#/components/responses/UnprocessableEntity'
278 $ref: '#/components/responses/InternalServerError'
280 $ref: '#/components/responses/ServiceUnavailable'
282 $ref: '#/components/responses/UnexpectedError'
284 $ref: '#/components/responses/UnexpectedError'
288 summary: Upload the content of a NSD
289 description: Upload the content of a NSD
290 operationId: updateNSDcontent
294 $ref: '#/components/requestBodies/NsdContent'
297 description: Accepted
299 description: No Content
301 $ref: '#/components/responses/BadRequest'
303 $ref: '#/components/responses/Unauthorized'
305 $ref: '#/components/responses/Forbidden'
307 $ref: '#/components/responses/NotFound'
309 $ref: '#/components/responses/MethodNotAllowed'
311 $ref: '#/components/responses/NotAcceptable'
313 $ref: '#/components/responses/Conflict'
315 $ref: '#/components/responses/UnprocessableEntity'
317 $ref: '#/components/responses/InternalServerError'
319 $ref: '#/components/responses/ServiceUnavailable'
321 $ref: '#/components/responses/UnexpectedError'
323 $ref: '#/components/responses/UnexpectedError'
324 '/vnfpkgm/v1/vnf_packages':
328 summary: Query information about multiple VNF package resources
329 description: Query information about multiple VNF package resoureces
330 operationId: getVnfPkgs
339 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
342 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
344 $ref: '#/components/responses/BadRequest'
346 $ref: '#/components/responses/Unauthorized'
348 $ref: '#/components/responses/Forbidden'
350 $ref: '#/components/responses/NotFound'
352 $ref: '#/components/responses/MethodNotAllowed'
354 $ref: '#/components/responses/NotAcceptable'
356 $ref: '#/components/responses/Conflict'
358 $ref: '#/components/responses/UnprocessableEntity'
360 $ref: '#/components/responses/InternalServerError'
362 $ref: '#/components/responses/ServiceUnavailable'
364 $ref: '#/components/responses/UnexpectedError'
366 $ref: '#/components/responses/UnexpectedError'
370 summary: Create a new VNF package resource
371 description: Create a new VNF package resource
372 operationId: addVnfPkg
376 $ref: '#/components/requestBodies/CreateVnfPkgInfoRequest'
388 $ref: '#/components/schemas/VnfPkgInfo'
391 $ref: '#/components/schemas/VnfPkgInfo'
393 $ref: '#/components/responses/BadRequest'
395 $ref: '#/components/responses/Unauthorized'
397 $ref: '#/components/responses/Forbidden'
399 $ref: '#/components/responses/NotFound'
401 $ref: '#/components/responses/MethodNotAllowed'
403 $ref: '#/components/responses/NotAcceptable'
405 $ref: '#/components/responses/Conflict'
407 $ref: '#/components/responses/UnprocessableEntity'
409 $ref: '#/components/responses/InternalServerError'
411 $ref: '#/components/responses/ServiceUnavailable'
413 $ref: '#/components/responses/UnexpectedError'
415 $ref: '#/components/responses/UnexpectedError'
416 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}':
420 summary: Read information about an individual VNF package resource
421 description: Read information about an individual VNF package resource
422 operationId: getVnfPkg
431 $ref: '#/components/schemas/VnfPkgInfo'
434 $ref: '#/components/schemas/VnfPkgInfo'
436 $ref: '#/components/responses/BadRequest'
438 $ref: '#/components/responses/Unauthorized'
440 $ref: '#/components/responses/Forbidden'
442 $ref: '#/components/responses/NotFound'
444 $ref: '#/components/responses/MethodNotAllowed'
446 $ref: '#/components/responses/NotAcceptable'
448 $ref: '#/components/responses/Conflict'
450 $ref: '#/components/responses/UnprocessableEntity'
452 $ref: '#/components/responses/InternalServerError'
454 $ref: '#/components/responses/ServiceUnavailable'
456 $ref: '#/components/responses/UnexpectedError'
458 $ref: '#/components/responses/UnexpectedError'
462 summary: Delete an individual VNF package resource
463 description: Delete an individual VNF package resource
464 operationId: deleteVnfPkg
469 description: No Content
471 $ref: '#/components/responses/BadRequest'
473 $ref: '#/components/responses/Unauthorized'
475 $ref: '#/components/responses/Forbidden'
477 $ref: '#/components/responses/NotFound'
479 $ref: '#/components/responses/MethodNotAllowed'
481 $ref: '#/components/responses/NotAcceptable'
483 $ref: '#/components/responses/Conflict'
485 $ref: '#/components/responses/UnprocessableEntity'
487 $ref: '#/components/responses/InternalServerError'
489 $ref: '#/components/responses/ServiceUnavailable'
491 $ref: '#/components/responses/UnexpectedError'
493 $ref: '#/components/responses/UnexpectedError'
497 summary: Modify the operational state and/or the user defined data of an individual VNF package resource
498 description: Modify the operational state and/or the user defined data of an individual VNF package resource
499 operationId: updateVnfPkg
503 $ref: '#/components/requestBodies/VnfPkgInfoModifications'
510 $ref: '#/components/schemas/VnfPkgInfoModifications'
513 $ref: '#/components/schemas/VnfPkgInfoModifications'
515 $ref: '#/components/responses/BadRequest'
517 $ref: '#/components/responses/Unauthorized'
519 $ref: '#/components/responses/Forbidden'
521 $ref: '#/components/responses/NotFound'
523 $ref: '#/components/responses/MethodNotAllowed'
525 $ref: '#/components/responses/NotAcceptable'
527 $ref: '#/components/responses/Conflict'
529 $ref: '#/components/responses/UnprocessableEntity'
531 $ref: '#/components/responses/InternalServerError'
533 $ref: '#/components/responses/ServiceUnavailable'
535 $ref: '#/components/responses/UnexpectedError'
537 $ref: '#/components/responses/UnexpectedError'
538 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd':
542 summary: Read VNFD of an on-boarded VNF package
543 description: Read VNFD of an on-boarded VNF package
544 operationId: getVnfPkgVNFD
553 $ref: '#/components/schemas/VnfDescriptor'
555 $ref: '#/components/responses/BadRequest'
557 $ref: '#/components/responses/Unauthorized'
559 $ref: '#/components/responses/Forbidden'
561 $ref: '#/components/responses/NotFound'
563 $ref: '#/components/responses/MethodNotAllowed'
565 $ref: '#/components/responses/NotAcceptable'
567 $ref: '#/components/responses/Conflict'
569 $ref: '#/components/responses/UnprocessableEntity'
571 $ref: '#/components/responses/InternalServerError'
573 $ref: '#/components/responses/ServiceUnavailable'
575 $ref: '#/components/responses/UnexpectedError'
577 $ref: '#/components/responses/UnexpectedError'
578 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content':
582 summary: Fetch an on-boarded VNF package
583 description: Fetch an on-boarded VNF package
584 operationId: getVnfPkgContent
593 $ref: '#/components/schemas/VnfPackage'
595 description: Partial Content
603 $ref: '#/components/schemas/VnfPackage'
605 $ref: '#/components/responses/BadRequest'
607 $ref: '#/components/responses/Unauthorized'
609 $ref: '#/components/responses/Forbidden'
611 $ref: '#/components/responses/NotFound'
613 $ref: '#/components/responses/MethodNotAllowed'
615 $ref: '#/components/responses/NotAcceptable'
617 $ref: '#/components/responses/Conflict'
619 $ref: '#/components/responses/UnprocessableEntity'
621 $ref: '#/components/responses/InternalServerError'
623 $ref: '#/components/responses/ServiceUnavailable'
625 $ref: '#/components/responses/UnexpectedError'
627 $ref: '#/components/responses/UnexpectedError'
631 summary: Upload a VNF package by providing the content of the VNF package
632 description: Upload a VNF package by providing the content of the VNF package
633 operationId: uploadVnfPkgContent
637 $ref: '#/components/requestBodies/VnfPackage'
640 description: Accepted
642 # description: No Content
644 $ref: '#/components/responses/BadRequest'
646 $ref: '#/components/responses/Unauthorized'
648 $ref: '#/components/responses/Forbidden'
650 $ref: '#/components/responses/NotFound'
652 $ref: '#/components/responses/MethodNotAllowed'
654 $ref: '#/components/responses/NotAcceptable'
656 $ref: '#/components/responses/Conflict'
658 $ref: '#/components/responses/UnprocessableEntity'
660 $ref: '#/components/responses/InternalServerError'
662 $ref: '#/components/responses/ServiceUnavailable'
664 $ref: '#/components/responses/UnexpectedError'
666 $ref: '#/components/responses/UnexpectedError'
667 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content/upload_from_uri':
671 summary: Upload a VNF package by providing the URI of the VNF package
672 description: Upload a VNF package by providing the URI of the VNF package
673 operationId: uploadVnfPkgContentFromURI
677 $ref: '#/components/requestBodies/UploadVnfPackageFromUriRequest'
680 description: Accepted
682 # description: No Content
684 $ref: '#/components/responses/BadRequest'
686 $ref: '#/components/responses/Unauthorized'
688 $ref: '#/components/responses/Forbidden'
690 $ref: '#/components/responses/NotFound'
692 $ref: '#/components/responses/MethodNotAllowed'
694 $ref: '#/components/responses/NotAcceptable'
696 $ref: '#/components/responses/Conflict'
698 $ref: '#/components/responses/UnprocessableEntity'
700 $ref: '#/components/responses/InternalServerError'
702 $ref: '#/components/responses/ServiceUnavailable'
704 $ref: '#/components/responses/UnexpectedError'
706 $ref: '#/components/responses/UnexpectedError'
707 '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
711 summary: Fetch individual VNF package artifact
712 description: Fetch individual VNF package artifact
713 operationId: getVnfPkgArtifact
720 application/octet-stream:
725 description: Partial Content
731 application/octet-stream:
736 $ref: '#/components/responses/BadRequest'
738 $ref: '#/components/responses/Unauthorized'
740 $ref: '#/components/responses/Forbidden'
742 $ref: '#/components/responses/NotFound'
744 $ref: '#/components/responses/MethodNotAllowed'
746 $ref: '#/components/responses/NotAcceptable'
748 $ref: '#/components/responses/Conflict'
750 $ref: '#/components/responses/UnprocessableEntity'
752 $ref: '#/components/responses/InternalServerError'
754 $ref: '#/components/responses/ServiceUnavailable'
756 $ref: '#/components/responses/UnexpectedError'
758 $ref: '#/components/responses/UnexpectedError'
759 '/nslcm/v1/ns_instances':
763 summary: Query information about multiple NS instances
764 description: Query information about multiple NS isntances
765 operationId: getNSinstances
774 $ref: '#/components/schemas/ArrayOfNsInstance'
777 $ref: '#/components/schemas/ArrayOfNsInstance'
779 $ref: '#/components/responses/BadRequest'
781 $ref: '#/components/responses/Unauthorized'
783 $ref: '#/components/responses/Forbidden'
785 $ref: '#/components/responses/NotFound'
787 $ref: '#/components/responses/MethodNotAllowed'
789 $ref: '#/components/responses/NotAcceptable'
791 $ref: '#/components/responses/Conflict'
793 $ref: '#/components/responses/UnprocessableEntity'
795 $ref: '#/components/responses/InternalServerError'
797 $ref: '#/components/responses/ServiceUnavailable'
799 $ref: '#/components/responses/UnexpectedError'
801 $ref: '#/components/responses/UnexpectedError'
805 summary: Create a new NS instance resource
806 description: Create a new NS instance resource
807 operationId: addNSinstance
811 $ref: '#/components/requestBodies/CreateNsRequest'
823 $ref: '#/components/schemas/NsInstance'
826 $ref: '#/components/schemas/NsInstance'
828 $ref: '#/components/responses/BadRequest'
830 $ref: '#/components/responses/Unauthorized'
832 $ref: '#/components/responses/Forbidden'
834 $ref: '#/components/responses/NotFound'
836 $ref: '#/components/responses/MethodNotAllowed'
838 $ref: '#/components/responses/NotAcceptable'
840 $ref: '#/components/responses/Conflict'
842 $ref: '#/components/responses/UnprocessableEntity'
844 $ref: '#/components/responses/InternalServerError'
846 $ref: '#/components/responses/ServiceUnavailable'
848 $ref: '#/components/responses/UnexpectedError'
850 $ref: '#/components/responses/UnexpectedError'
851 '/nslcm/v1/ns_instances/{nsInstanceId}':
855 summary: Read an individual NS instance resource
856 description: Read an individual NS instance resource
857 operationId: getNSinstance
866 $ref: '#/components/schemas/NsInstance'
869 $ref: '#/components/schemas/NsInstance'
871 $ref: '#/components/responses/BadRequest'
873 $ref: '#/components/responses/Unauthorized'
875 $ref: '#/components/responses/Forbidden'
877 $ref: '#/components/responses/NotFound'
879 $ref: '#/components/responses/MethodNotAllowed'
881 $ref: '#/components/responses/NotAcceptable'
883 $ref: '#/components/responses/Conflict'
885 $ref: '#/components/responses/UnprocessableEntity'
887 $ref: '#/components/responses/InternalServerError'
889 $ref: '#/components/responses/ServiceUnavailable'
891 $ref: '#/components/responses/UnexpectedError'
893 $ref: '#/components/responses/UnexpectedError'
897 summary: Delete an individual NS instance resource
898 description: Delete an individual NS instance resource
899 operationId: deleteNSinstance
904 description: No Content
906 $ref: '#/components/responses/BadRequest'
908 $ref: '#/components/responses/Unauthorized'
910 $ref: '#/components/responses/Forbidden'
912 $ref: '#/components/responses/NotFound'
914 $ref: '#/components/responses/MethodNotAllowed'
916 $ref: '#/components/responses/NotAcceptable'
918 $ref: '#/components/responses/Conflict'
920 $ref: '#/components/responses/UnprocessableEntity'
922 $ref: '#/components/responses/InternalServerError'
924 $ref: '#/components/responses/ServiceUnavailable'
926 $ref: '#/components/responses/UnexpectedError'
928 $ref: '#/components/responses/UnexpectedError'
929 '/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
933 summary: Instantiate a NS
935 Instantiate a NS. The precondition is that the NS instance must have
936 been created and must be in NOT_INSTANTIATED state. As a result of the
937 success of this operation, the NFVO creates a "NS Lifecycle Operation
938 Occurrence" resource for the request, and the NS instance state becomes
940 operationId: instantiateNSinstance
944 $ref: '#/components/requestBodies/InstantiateNsRequest'
947 description: Accepted
951 It must point to the new "NS Lifecycle Operation Occurrence"
952 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
957 $ref: '#/components/responses/BadRequest'
959 $ref: '#/components/responses/Unauthorized'
961 $ref: '#/components/responses/Forbidden'
963 $ref: '#/components/responses/NotFound'
965 $ref: '#/components/responses/MethodNotAllowed'
967 $ref: '#/components/responses/NotAcceptable'
969 $ref: '#/components/responses/Conflict'
971 $ref: '#/components/responses/UnprocessableEntity'
973 $ref: '#/components/responses/InternalServerError'
975 $ref: '#/components/responses/ServiceUnavailable'
977 $ref: '#/components/responses/UnexpectedError'
979 $ref: '#/components/responses/UnexpectedError'
980 '/nslcm/v1/ns_instances/{nsInstanceId}/scale':
984 summary: Scale a NS instance
986 Scale a NS instance. The precondition is that the NS instance must have
987 been created and must be in INSTANTIATED state. As a result of the
988 success of this operation, the NFVO creates a "NS Lifecycle Operation
989 Occurrence" resource for the request, and the NS instance state remains
991 operationId: scaleNSinstance
995 $ref: '#/components/requestBodies/ScaleNsRequest'
998 description: Accepted
1002 It must point to the new "NS Lifecycle Operation Occurrence"
1003 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1008 $ref: '#/components/responses/BadRequest'
1010 $ref: '#/components/responses/Unauthorized'
1012 $ref: '#/components/responses/Forbidden'
1014 $ref: '#/components/responses/NotFound'
1016 $ref: '#/components/responses/MethodNotAllowed'
1018 $ref: '#/components/responses/NotAcceptable'
1020 $ref: '#/components/responses/Conflict'
1022 $ref: '#/components/responses/UnprocessableEntity'
1024 $ref: '#/components/responses/InternalServerError'
1026 $ref: '#/components/responses/ServiceUnavailable'
1028 $ref: '#/components/responses/UnexpectedError'
1030 $ref: '#/components/responses/UnexpectedError'
1031 '/nslcm/v1/ns_instances/{nsInstanceId}/update':
1035 summary: Update a NS instance
1037 Update a NS instance. The precondition is that the NS instance must have
1038 been created and must be in INSTANTIATED state. As a result of the
1039 success of this operation, the NFVO creates a "NS Lifecycle Operation
1040 Occurrence" resource for the request, and the NS instance state remains
1042 operationId: updateNSinstance
1046 $ref: '#/components/requestBodies/UpdateNsRequest'
1049 description: Accepted
1053 It must point to the new "NS Lifecycle Operation Occurrence"
1054 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1059 $ref: '#/components/responses/BadRequest'
1061 $ref: '#/components/responses/Unauthorized'
1063 $ref: '#/components/responses/Forbidden'
1065 $ref: '#/components/responses/NotFound'
1067 $ref: '#/components/responses/MethodNotAllowed'
1069 $ref: '#/components/responses/NotAcceptable'
1071 $ref: '#/components/responses/Conflict'
1073 $ref: '#/components/responses/UnprocessableEntity'
1075 $ref: '#/components/responses/InternalServerError'
1077 $ref: '#/components/responses/ServiceUnavailable'
1079 $ref: '#/components/responses/UnexpectedError'
1081 $ref: '#/components/responses/UnexpectedError'
1082 '/nslcm/v1/ns_instances/{nsInstanceId}/heal':
1086 summary: Heal a NS instance
1088 Heal a NS instance. The precondition is that the NS instance must have
1089 been created and must be in INSTANTIATED state. As a result of the
1090 success of this operation, the NFVO creates a "NS Lifecycle Operation
1091 Occurrence" resource for the request, and the NS instance state remains
1093 operationId: healNSinstance
1097 $ref: '#/components/requestBodies/HealNsRequest'
1100 description: Accepted
1104 It must point to the new "NS Lifecycle Operation Occurrence"
1105 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1110 $ref: '#/components/responses/BadRequest'
1112 $ref: '#/components/responses/Unauthorized'
1114 $ref: '#/components/responses/Forbidden'
1116 $ref: '#/components/responses/NotFound'
1118 $ref: '#/components/responses/MethodNotAllowed'
1120 $ref: '#/components/responses/NotAcceptable'
1122 $ref: '#/components/responses/Conflict'
1124 $ref: '#/components/responses/UnprocessableEntity'
1126 $ref: '#/components/responses/InternalServerError'
1128 $ref: '#/components/responses/ServiceUnavailable'
1130 $ref: '#/components/responses/UnexpectedError'
1132 $ref: '#/components/responses/UnexpectedError'
1133 '/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
1137 summary: Terminate a NS instance
1139 Terminate a NS instance. The precondition is that the NS instance must have
1140 been created and must be in INSTANTIATED state. As a result of the
1141 success of this operation, the NFVO creates a "NS Lifecycle Operation
1142 Occurrence" resource for the request, and the NS instance state becomes
1144 operationId: terminateNSinstance
1148 $ref: '#/components/requestBodies/TerminateNsRequest'
1151 description: Accepted
1155 It must point to the new "NS Lifecycle Operation Occurrence"
1156 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1161 $ref: '#/components/responses/BadRequest'
1163 $ref: '#/components/responses/Unauthorized'
1165 $ref: '#/components/responses/Forbidden'
1167 $ref: '#/components/responses/NotFound'
1169 $ref: '#/components/responses/MethodNotAllowed'
1171 $ref: '#/components/responses/NotAcceptable'
1173 $ref: '#/components/responses/Conflict'
1175 $ref: '#/components/responses/UnprocessableEntity'
1177 $ref: '#/components/responses/InternalServerError'
1179 $ref: '#/components/responses/ServiceUnavailable'
1181 $ref: '#/components/responses/UnexpectedError'
1183 $ref: '#/components/responses/UnexpectedError'
1185 description: Find out more OSM
1186 url: 'http://osm.etsi.org/wikipub'
1190 description: Bad request. The server cannot process the request due to a client error.
1194 $ref: '#/components/schemas/ProblemDetails'
1196 description: Authorization information is missing or invalid.
1200 $ref: '#/components/schemas/ProblemDetails'
1202 description: Not enough permissions to do this operation.
1206 $ref: '#/components/schemas/ProblemDetails'
1208 description: The specified resource was not found.
1212 $ref: '#/components/schemas/ProblemDetails'
1214 description: This method is not supported for the requested resource.
1218 $ref: '#/components/schemas/ProblemDetails'
1220 description: The requested resource content cannot match the Accept headers sent in the request.
1224 $ref: '#/components/schemas/ProblemDetails'
1226 description: The operation cannot be executed currently, due to a conflict with the state of the resource.
1230 $ref: '#/components/schemas/ProblemDetails'
1231 UnprocessableEntity:
1232 description: The request was well-formed but was unable to be followed due to semantic errors.
1236 $ref: '#/components/schemas/ProblemDetails'
1237 InternalServerError:
1238 description: Internal server error.
1242 $ref: '#/components/schemas/ProblemDetails'
1244 description: Service temporarily unavailable.
1248 $ref: '#/components/schemas/ProblemDetails'
1250 description: Unexpected error.
1254 $ref: '#/components/schemas/ProblemDetails'
1263 additionalProperties:
1265 CreateNsdInfoRequest:
1269 $ref: '#/components/schemas/KeyValuePairs'
1270 NsdOnboardingStateType:
1272 enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED]
1274 NSD onboarding state:
1275 * `CREATED` - The NSD information object is created.
1276 * `UPLOADING` - The associated NSD content is being uploaded.
1277 * `PROCESSING` - The associated NSD content is being processed, e.g. validation.
1278 * `ONBOARDED` - The associated NSD content is on-boarded.
1279 NsdOperationalStateType:
1281 enum: [ENABLED, DISABLED]
1283 NSD operational state:
1284 * `ENABLED` - The NSD is enabled.
1285 * `DISABLED` - The NSD is disabled.
1288 enum: [IN_USE, NOT_IN_USE]
1291 * `IN_USE` - The NSD is in use.
1292 * `NOT_IN_USE` - The NSD is not in use.
1293 NsdInfoModifications:
1296 nsdOperationalState:
1297 $ref: '#/components/schemas/NsdOperationalStateType'
1299 $ref: '#/components/schemas/KeyValuePairs'
1305 Identifier of the onboarded individual NS descriptor
1306 resource. This identifier is allocated by the NFVO.
1311 This identifier, which is allocated by the NSD
1312 designer, identifies the NSD in a globally unique
1313 way. It is copied from the NSD content and shall be
1314 present after the NSD content is on-boarded.
1319 Name of the onboarded NSD. This information is
1320 copied from the NSD content and shall be present
1321 after the NSD content is on-boarded.
1325 Version of the on-boarded NSD. This information is
1326 copied from the NSD content and shall be present
1327 after the NSD content is on-boarded.
1331 Designer of the on-boarded NSD. This information is
1332 copied from the NSD content and shall be present
1333 after the NSD content is on-boarded.
1337 This identifier, which is allocated by the NSD designer,
1338 identifies an NSD in a version independent manner. This
1339 information is copied from the NSD content and shall be
1340 present after the NSD content is on-boarded.
1345 List of VNF package identifiers referenced by the on-boarded
1346 NS descriptor resource.
1353 List of PNFD identifiers referenced by the on-boarded NS
1354 descriptor resource.
1361 List of NSD identifiers referenced by the on-boarded NS
1362 descriptor resource.
1369 Onboarding state of the individual NS descriptor resource.
1370 $ref: '#components/schemas/NsdOnboardingStateType'
1371 onboardingFailureDetails:
1373 Failure details of current onboarding procedure. It follows
1374 the "ProblemDetails" structure. It shall be present when the
1375 "nsdOnboardingState" attribute is CREATED and the uploading or
1376 processing fails in NFVO.
1377 $ref: '#/components/schemas/ProblemDetails'
1378 nsdOperationalState:
1380 Operational state of the individual NS descriptor resource. This
1381 attribute can be modified with the PATCH method. If the value of
1382 the nsdOnboardingState attribute is not equal to "ONBOARDED", the
1383 value of the nsdOperationalState attribute shall be equal to
1385 $ref: '#components/schemas/NsdOperationalStateType'
1388 Usage state of the individual NS descriptor resource. If the value
1389 of the nsdOnboardingState attribute is not equal to "ONBOARDED",
1390 the value of the nsdUsageState attribute shall be equal to
1392 $ref: '#components/schemas/NsdUsageStateType'
1394 $ref: '#/components/schemas/KeyValuePairs'
1397 Links to resources related to this resource
1401 URI of this resource
1406 Link to the NSD content resource.
1411 - nsdOnboardingState
1412 - nsdOperationalState
1420 $ref: '#/components/schemas/NsdInfo'
1436 additionalProperties: true
1445 CreateVnfPkgInfoRequest:
1449 $ref: '#/components/schemas/KeyValuePairs'
1450 VnfPackageOnboardingStateType:
1452 enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED]
1454 VNF Package onboarding state:
1455 * `CREATED` - The VNF Package information object is created.
1456 * `UPLOADING` - The VNF Package is being uploaded.
1457 * `PROCESSING` - The VNF Package is being processed, e.g. validation.
1458 * `ONBOARDED` - The VNF Package is successfully on-boarded.
1459 VnfPackageOperationalStateType:
1461 enum: [ENABLED, DISABLED]
1463 VNF Package operational state:
1464 * `ENABLED` - The VNF Package is enabled.
1465 * `DISABLED` - The VNF Package is disabled.
1466 VnfPackageUsageStateType:
1468 enum: [IN_USE, NOT_IN_USE]
1470 VNF Package usage state:
1471 * `IN_USE` - The VNF Package is in use.
1472 * `NOT_IN_USE` - The VNF Package is not in use.
1473 #SoftwareImageFormatType:
1475 # enum: [AKI, AMI, ARI, BARE, DOCKER, OVA, OVF]
1477 # Software image format. Permitted values:
1478 # * `AKI`: a kernel image format
1479 # * `AMI`: a machine image format
1480 # * `ARI`: a ramdisk image format
1481 # * `BARE`: the image does not have a container or metadata envelope
1482 # * `DOCKER`: docker container format
1483 # * `OVA`: OVF package in a tarfile
1484 # * `OVF`: OVF container format
1485 VnfPackageSoftwareImageInfo:
1487 additionalProperties: true
1491 # Identifier of the software image, unique in the scope of a VNFD.
1495 # Name of the software image.
1499 # Provider of the software image.
1503 # Version of the software image.
1507 # Checksum of the software image file.
1511 # Container format indicates whether the software image is in a
1512 # file format that also contains metadata about the actual
1514 # $ref: '#/components/schemas/SoftwareImageFormatType'
1517 # Disk format of a software image is the format of the underlying
1519 # $ref: '#/components/schemas/DiskFormatType'
1521 VnfPackageArtifactInfo:
1523 additionalProperties: true
1524 VnfPkgInfoModifications:
1528 $ref: '#/components/schemas/VnfPackageOperationalStateType'
1530 $ref: '#/components/schemas/KeyValuePairs'
1536 Identifier of the VNF package. This identifier is allocated by the NFVO.
1541 This identifier, which is managed by the VNF provider, identifies
1542 the VNF package and the VNFD in a globally unique way. It's
1543 copied from the VNFD of the on-boarded VNF package. It shall be
1544 present after the VNF package content has been on-boarded and
1550 Deovider of the VNF pacakge and the VNFD. This information is
1551 copied from the VNFD. It shall be present after the VNF package
1552 content has been on-boarded and absent otherwise.
1556 Name to identify the VNF product. Invariant for the VNF product
1557 ligetime. This information is copied from the VNFD. It shall be
1558 present after the VNF package content has been on-boarded and
1563 Software version of the VNF. This is changed when there is any
1564 change to the software included in the VNF package. This
1565 information is copied from the VNFD. It shall be present after the
1566 VNF package content has been on-boarded and absent otherwise.
1570 The version of the VNFD. TSof information is copied from the VNFD.
1571 It shall be present after the VNF package content has been
1572 on-boarded and absent otherwise.
1576 Checksum of the on-boarded VNF package. It shall be present after
1577 the VNF package content has been on-boarded and absent otherwise.
1581 Information about VNF package artifacts that are software images.
1582 This attribute shall not be present before the VNF package content
1583 is on-boarded. Otherwise, this attribute shall be present unless
1584 it has been requested to be excluded per attribute selector.
1587 $ref: '#/components/schemas/VnfPackageSoftwareImageInfo'
1588 additionalArtifacts:
1590 Information about VNF package artifacts contained in the VNF
1591 package that are not software images. This attribute shall not be
1592 present before the VNF package content is on-boarded. Otherwise,
1593 this attribute shall be present if the VNF package contains
1594 additional artifacts.
1597 $ref: '#/components/schemas/VnfPackageArtifactInfo'
1600 On-boarding state of the VNF package.
1601 $ref: '#components/schemas/VnfPackageOnboardingStateType'
1604 Operational state of the VNF package. If the value of the
1605 onboardingState attribute is not equal to "ONBOARDED", the value
1606 of the operationalState attribute shall be equal to "DISABLED".
1607 $ref: '#components/schemas/VnfPackageOperationalStateType'
1610 Usage state of the VNF package. If the value of the
1611 onboardingState attribute is not equal to "ONBOARDED", the value
1612 of the usageState attribute shall be equal to "NOT_IN_USE".
1613 $ref: '#components/schemas/VnfPackageUsageStateType'
1616 User defined data for the VNF package
1617 $ref: '#/components/schemas/KeyValuePairs'
1620 Links to resources related to this resource
1624 URI of this resource
1629 Link to the VNFD resource. This link shall be present after the VNF
1630 package content is on-boarded.
1635 Link to the "VNF package content" resource.
1649 $ref: '#/components/schemas/VnfPkgInfo'
1650 UploadVnfPackageFromUriRequest:
1655 Address information of the VNF package content. The NFVO can use
1656 this address to obtain the VNF package.
1661 User name to be used for authentication. Shall be present if user
1662 name is needed but has not been provisioned out of band.
1666 Password to be used for authentication. Shall be present if password
1667 is needed but has not been provisioned out of band.
1670 - addressInformation
1676 Identifier of the NSD that defines the NS instance to be created.
1681 Human-readable name of the NS instance to be created.
1685 Human-readable description of the NS instance to be created.
1693 enum: [NOT_INSTANTIATED, INSTANTIATED]
1695 State of the NS instance. Permitted values:
1696 * `NOT_INSTANTIATED`: The NS instance is terminated or not instantiated.
1697 * `INSTANTIATED`: The NS instance is instantiated.
1702 description: Identifier of the NS instance.
1706 description: Human readable name of the NS instance.
1708 nsInstanceDescription:
1709 description: Human readable description of the NS instance.
1712 description: Identifier of the NSD on which the NS instance is based.
1717 Identifier of the NS deployment flavour applied to the NS instance.
1718 This attribute shall be present if the nsState attribute value is
1723 Information on constituent VNF(s) of the NS instance. If the
1724 "nsState" attribute is INSTANTIATED, at least either one
1725 "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall
1729 $ref: '#/components/schemas/VnfInstance'
1732 Information on the PNF(s) that are part of the NS instance.
1735 $ref: '#/components/schemas/PnfInfo'
1738 Information on the VL(s) of the NS instance. This attribute shall
1739 be present if the nsState attribute value is INSTANTIATED and if
1740 the NS instance has specified connectivity.
1743 $ref: '#/components/schemas/NsVirtualLinkInfo'
1746 Information on the VNFFG(s) of the NS instance.
1749 $ref: '#/components/schemas/VnffgInfo'
1752 Information on the SAP(s) of the NS instance.
1755 $ref: '#/components/schemas/SapInfo'
1758 Identifier of the nested NS(s) of the NS instance. If the "nsState"
1759 attribute is INSTANTIATED, at least either one "vnfInstance"
1760 attribute or one "nestedNsInstanceId" attribute shall be present.
1767 The state of the NS instance.
1768 $ref: '#components/schemas/NsStateType'
1771 Status of each NS scaling aspect declared in the applicable DF,
1772 how "big" the NS instance has been scaled w.r.t. that aspect. This
1773 attribute shall be present if the nsState attribute value is
1777 $ref: '#/components/schemas/NsScaleInfo'
1778 additionalAffinityOrAntiAffinityRule:
1780 Information on the additional affinity or anti-affinity rule from
1781 NS instantiation operation. Shall not conflict with rules already
1782 specified in the NSD.
1785 $ref: '#/components/schemas/AffinityOrAntiAffinityRule'
1788 Links to resources related to this resource
1792 URI of this resource
1797 Links to the nested NS instances of the present NS instance.
1804 Link to the "instantiate" task resource, if the related operation
1805 is possible based on the current status of this NS instance
1806 resource (i.e. NS instance in NOT_INSTANTIATED state).
1811 Link to the "terminate" task resource, if the related operation is
1812 possible based on the current status of this NS instance resource
1813 (i.e. NS instance is in INSTANTIATED state).
1818 Link to the "update" task resource, if the related operation is
1819 possible based on the current status of this NS instance resource
1820 (i.e. NS instance is in INSTANTIATED state).
1825 Link to the "scale" task resource, if the related operation is
1826 supported for this NS instance, and is possible based on the
1827 current status of this NS instance resource (i.e. NS instance is in
1828 INSTANTIATED state).
1833 Link to the "heal" task resource, if the related operation is
1834 supported for this NS instance, and is possible based on the
1835 current status of this NS instance resource (i.e. NS instance is in
1836 INSTANTIATED state).
1842 - nsInstanceDescription
1850 additionalProperties: true
1853 additionalProperties: true
1856 additionalProperties: true
1859 additionalProperties: true
1862 additionalProperties: true
1865 additionalProperties: true
1866 AffinityOrAntiAffinityRule:
1868 additionalProperties: true
1871 additionalProperties: true
1874 additionalProperties: true
1877 additionalProperties: true
1878 VnfLocationConstraint:
1880 additionalProperties: true
1883 additionalProperties: true
1884 InstantiateNsRequest:
1888 description: Identifier of the NS deployment flavour to be instantiated.
1891 description: Create data concerning the SAPs of this NS.
1894 $ref: '#/components/schemas/SapData'
1896 description: Information on the PNF(s) that are part of this NS.
1899 $ref: '#/components/schemas/AddPnfData'
1902 Specify an existing VNF instance to be used in the NS. If needed,
1903 the VNF Profile to be used for this VNF instance is also provided.
1906 $ref: '#/components/schemas/VnfInstanceData'
1909 Specify an existing NS instance to be used as a nested NS within the NS.
1914 localizationLanguage:
1916 Defines the location constraints for the VNF to be instantiated as part of
1917 the NS instantiation. An example can be a constraint for the VNF to be in a
1918 specific geographic location.
1921 $ref: '#/components/schemas/VnfLocationConstraint'
1922 additionalParamsForNs:
1924 Allows the OSS/BSS to provide additional parameter(s) at the NS level
1925 (as opposed to the VNF level, which is covered in additionalParamsForVnf).
1926 $ref: '#/components/schemas/KeyValuePairs'
1927 additionalParamsForVnf:
1929 Allows the OSS/BSS to provide additional parameter(s) per VNF instance
1930 (as opposed to the NS level, which is covered in additionalParamsForNs).
1931 This is for VNFs that are to be created by the NFVO as part of the NS
1932 instantiation and not for existing VNF that are referenced for reuse.
1935 $ref: '#/components/schemas/ParamsForVnf'
1938 Timestamp indicating the earliest time to instantiate the NS.
1939 Cardinality "0" indicates the NS instantiation takes place immediately.
1942 nsInstantiationLevelId:
1944 Identifies one of the NS instantiation levels declared in the DF applicable
1945 to this NS instance. If not present, the default NS instantiation level as
1946 declared in the NSD shall be used.
1948 additionalAffinityOrAntiAffiniityRule:
1950 Specifies additional affinity or anti-affinity constraint for the VNF instances
1951 to be instantiated as part of the NS instantiation. Shall not conflict with rules
1952 already specified in the NSD.
1955 $ref: '#/components/schemas/AffinityOrAntiAffinityRule'
1963 enum: [ ADD_VNF, REMOVE_VNF, INSTANTIATE_VNF, CHANGE_VNF_DF,
1964 OPERATE_VNF, MODIFY_VNF_INFORMATION, CHANGE_EXTERNAL_VNF_CONNECTIVITY,
1965 REMOVE_SAP, ADD_NESTED_NS, REMOVE_NESTED_NS, ASSOC_NEW_NSD_VERSION,
1966 MOVE_VNF, ADD_VNFFG, REMOVE_VNFFG, UPDATE_VNFFG, CHANGE_NS_DF, ADD_PNF,
1967 MODIFY_PNF, REMOVE_PNF ]
1969 The type of update. It determines also which one of the following parameters
1970 is present in the operation. Possible values include:
1971 * `ADD_VNF`: Adding existing VNF instance(s)
1972 * `REMOVE_VNF`: Removing VNF instance(s)
1973 * `INSTANTIATE_VNF`: Instantiating new VNF(s)
1974 * `CHANGE_VNF_DF`: Changing VNF DF
1975 * `OPERATE_VNF`: Changing VNF state,
1976 * `MODIFY_VNF_INFORMATION`: Modifying VNF information and/or the configurable
1977 properties of VNF instance(s)
1978 * `CHANGE_EXTERNAL_VNF_CONNECTIVITY`: Changing the external connectivity of VNF
1980 * `ADD_SAP`: Adding SAP(s)
1981 * `REMOVE_SAP`: Removing SAP(s)
1982 * `ADD_NESTED_NS`: Adding existing NS instance(s) as nested NS(s)
1983 * `REMOVE_NESTED_NS`: Removing existing nested NS instance(s)
1984 * `ASSOC_NEW_NSD_VERSION`: Associating a new NSD version to the NS instance
1985 * `MOVE_VNF`: Moving VNF instance(s) from one origin NS instance to another target NS
1987 * `ADD_VNFFG`: Adding VNFFG(s)
1988 * `REMOVE_VNFFG`: Removing VNFFG(s)
1989 * `UPDATE_VNFFG`: Updating VNFFG(s)
1990 * `CHANGE_NS_DF`: Changing NS DF
1991 * `ADD_PNF`: Adding PNF
1992 * `MODIFY_PNF`: Modifying PNF
1993 * `REMOVE_PNF`: Removing PNF
1994 # Specific properties are required for each updateType. Pending to be added.
1995 additionalProperties: true
2000 additionalProperties: true
2003 additionalProperties: true
2006 additionalProperties: true
2012 Provides the information needed to heal an NS. Either the parameter healNsData
2013 or the parameter healVnfData, but not both shall be provided.
2014 $ref: '#/components/schemas/HealNsData'
2017 Provides the information needed to heal a VNF. Either the parameter healNsData
2018 or the parameter healVnfData, but not both shall be provided.
2021 $ref: '#/components/schemas/HealVnfData'
2027 Timestamp indicating the end time of the NS, i.e. the NS will be terminated
2028 automatically at this timestamp. Cardinality "0" indicates the NS termination
2029 takes place immediately.
2035 $ref: '#/components/schemas/NsInstance'
2037 CreateNsdInfoRequest:
2041 $ref: '#/components/schemas/CreateNsdInfoRequest'
2044 $ref: '#/components/schemas/CreateNsdInfoRequest'
2045 NsdInfoModifications:
2049 $ref: '#/components/schemas/NsdInfoModifications'
2052 $ref: '#/components/schemas/NsdInfoModifications'
2057 $ref: '#/components/schemas/NsDescriptor'
2060 $ref: '#/components/schemas/NsPackage'
2061 CreateVnfPkgInfoRequest:
2065 $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
2068 $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
2069 VnfPkgInfoModifications:
2073 $ref: '#/components/schemas/VnfPkgInfoModifications'
2076 $ref: '#/components/schemas/VnfPkgInfoModifications'
2081 $ref: '#/components/schemas/VnfPackage'
2082 UploadVnfPackageFromUriRequest:
2086 $ref: '#/components/schemas/UploadVnfPackageFromUriRequest'
2089 $ref: '#/components/schemas/UploadVnfPackageFromUriRequest'
2094 $ref: '#/components/schemas/CreateNsRequest'
2097 $ref: '#/components/schemas/CreateNsRequest'
2098 InstantiateNsRequest:
2102 $ref: '#/components/schemas/InstantiateNsRequest'
2105 $ref: '#/components/schemas/InstantiateNsRequest'
2110 $ref: '#/components/schemas/ScaleNsRequest'
2113 $ref: '#/components/schemas/ScaleNsRequest'
2118 $ref: '#/components/schemas/UpdateNsRequest'
2121 $ref: '#/components/schemas/UpdateNsRequest'
2126 $ref: '#/components/schemas/HealNsRequest'
2129 $ref: '#/components/schemas/HealNsRequest'
2134 $ref: '#/components/schemas/TerminateNsRequest'
2137 $ref: '#/components/schemas/TerminateNsRequest'