Minor fixes in format and documentation reference
[osm/SOL005.git] / osm-openapi.yaml
1 openapi: 3.0.0
2
3 servers:
4   - description: OSM NB API
5     url: 'https://osm.etsi.org/nbapi/v1.0.0'
6
7 info:
8   description: |
9     This is Open Source MANO Northbound API featuring ETSI NFV SOL005.
10     For more information on OSM, you can visit [http://osm.etsi.org](http://osm.etsi.org).
11     You can send us your comments and questions to OSM_TECH@list.etsi.org
12     or join the [OpenSourceMANO Slack Workplace](https://join.slack.com/t/opensourcemano/shared_invite/enQtMzQ3MzYzNTQ0NDIyLWVkNTE4ZjZjNWI0ZTQyN2VhOTI1MjViMzU1NWYwMWM3ODI4NTQyY2VlODA2ZjczMWIyYTFkZWNiZmFkM2M2ZDk)
13   version: "1.0.0"
14   title: OSM NB API featuring ETSI NFV SOL005
15   contact:
16     email: OSM_TECH@list.etsi.org
17   license:
18     name: Apache 2.0
19     url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
20
21 tags:
22   - name: 'VNF packages'
23     description: Management operations of VNF descriptors and packages
24   - name: 'NS packages'
25     description: Management operations of NS descriptors and packages
26   - name: 'NS instances'
27     description: Management operations of NS instances
28   - name: 'NetSlice templates'
29     description: Management operations of NetSlice Templates
30   - name: 'NetSlice instances'
31     description: Management operations of NetSlice Instances
32   - name: 'NSPM'
33     description: Management operations of NSPMs
34   - name: 'PDU'
35     description: Management operations of PDUs
36   - name: 'Admin'
37     description: Management operations of Administration items
38
39 security:
40   - bearerAuth: []
41
42 paths:
43
44 # BEGIN NS Packages
45   '/nsd/v1/ns_descriptors':
46     get:
47       tags:
48         - "NS packages"
49       summary: Query information about multiple NS descriptor resources
50       description: Query information about multiple NS descriptor resources
51       operationId: getNSDs
52       responses:
53         '200':
54           description: OK
55           content:
56             application/json:
57               schema:
58                 $ref: '#/components/schemas/ArrayOfNsdInfo'
59             application/yaml:
60               schema:
61                 $ref: '#/components/schemas/ArrayOfNsdInfo'
62         '400':
63           $ref: '#/components/responses/BadRequest'
64         '401':
65           $ref: '#/components/responses/Unauthorized'
66         '403':
67           $ref: '#/components/responses/Forbidden'
68         '404':
69           $ref: '#/components/responses/NotFound'
70         '405':
71           $ref: '#/components/responses/MethodNotAllowed'
72         '406':
73           $ref: '#/components/responses/NotAcceptable'
74         '409':
75           $ref: '#/components/responses/Conflict'
76         '422':
77           $ref: '#/components/responses/UnprocessableEntity'
78         '500':
79           $ref: '#/components/responses/InternalServerError'
80         '503':
81           $ref: '#/components/responses/ServiceUnavailable'
82         '5XX':
83           $ref: '#/components/responses/UnexpectedError'
84         default:
85           $ref: '#/components/responses/UnexpectedError'
86     post:
87       tags:
88         - "NS packages"
89       summary: Create a new NS descriptor resource
90       description: Create a new NS descriptor resource
91       operationId: addNSD
92       requestBody:
93         $ref: '#/components/requestBodies/CreateNsdInfoRequest'
94       responses:
95         '201':
96           description: Created
97           headers:
98             Location:
99               schema:
100                 type: string
101                 format: uri
102           content:
103             application/json:
104               schema:
105                 $ref: '#/components/schemas/ObjectId'
106             application/yaml:
107               schema:
108                 $ref: '#/components/schemas/ObjectId'
109         '400':
110           $ref: '#/components/responses/BadRequest'
111         '401':
112           $ref: '#/components/responses/Unauthorized'
113         '403':
114           $ref: '#/components/responses/Forbidden'
115         '404':
116           $ref: '#/components/responses/NotFound'
117         '405':
118           $ref: '#/components/responses/MethodNotAllowed'
119         '406':
120           $ref: '#/components/responses/NotAcceptable'
121         '409':
122           $ref: '#/components/responses/Conflict'
123         '422':
124           $ref: '#/components/responses/UnprocessableEntity'
125         '500':
126           $ref: '#/components/responses/InternalServerError'
127         '503':
128           $ref: '#/components/responses/ServiceUnavailable'
129         '5XX':
130           $ref: '#/components/responses/UnexpectedError'
131         default:
132           $ref: '#/components/responses/UnexpectedError'
133   '/nsd/v1/ns_descriptors/{nsdInfoId}':
134     parameters:
135       - name: nsdInfoId
136         in: path
137         required: true
138         description: NSD Info ID
139         schema:
140           type: string
141     get:
142       tags:
143         - "NS packages"
144       summary: Read information about an individual NS descriptor resource
145       description: Read information about an individual NS descriptor resource
146       operationId: getNSD
147       responses:
148         '200':
149           description: OK
150           content:
151             application/json:
152               schema:
153                 $ref: '#/components/schemas/NsdInfo'
154             application/yaml:
155               schema:
156                 $ref: '#/components/schemas/NsdInfo'
157         '400':
158           $ref: '#/components/responses/BadRequest'
159         '401':
160           $ref: '#/components/responses/Unauthorized'
161         '403':
162           $ref: '#/components/responses/Forbidden'
163         '404':
164           $ref: '#/components/responses/NotFound'
165         '405':
166           $ref: '#/components/responses/MethodNotAllowed'
167         '406':
168           $ref: '#/components/responses/NotAcceptable'
169         '409':
170           $ref: '#/components/responses/Conflict'
171         '422':
172           $ref: '#/components/responses/UnprocessableEntity'
173         '500':
174           $ref: '#/components/responses/InternalServerError'
175         '503':
176           $ref: '#/components/responses/ServiceUnavailable'
177         '5XX':
178           $ref: '#/components/responses/UnexpectedError'
179         default:
180           $ref: '#/components/responses/UnexpectedError'
181     delete:
182       tags:
183         - "NS packages"
184       summary: Delete an individual NS descriptor resource
185       description: Delete an individual NS descriptor resource
186       operationId: deleteNSD
187       responses:
188         '204':
189           description: No Content
190         '400':
191           $ref: '#/components/responses/BadRequest'
192         '401':
193           $ref: '#/components/responses/Unauthorized'
194         '403':
195           $ref: '#/components/responses/Forbidden'
196         '404':
197           $ref: '#/components/responses/NotFound'
198         '405':
199           $ref: '#/components/responses/MethodNotAllowed'
200         '406':
201           $ref: '#/components/responses/NotAcceptable'
202         '409':
203           $ref: '#/components/responses/Conflict'
204         '422':
205           $ref: '#/components/responses/UnprocessableEntity'
206         '500':
207           $ref: '#/components/responses/InternalServerError'
208         '503':
209           $ref: '#/components/responses/ServiceUnavailable'
210         '5XX':
211           $ref: '#/components/responses/UnexpectedError'
212         default:
213           $ref: '#/components/responses/UnexpectedError'
214     patch:
215       tags:
216         - "NS packages"
217       summary: Modify the data of an  individual NS descriptor resource
218       description: Modify the data of an  individual NS descriptor resource
219       operationId: updateNSD
220       requestBody:
221         $ref: '#/components/requestBodies/NsdInfoModifications'
222       responses:
223         '204':
224           description: No Content
225         '400':
226           $ref: '#/components/responses/BadRequest'
227         '401':
228           $ref: '#/components/responses/Unauthorized'
229         '403':
230           $ref: '#/components/responses/Forbidden'
231         '404':
232           $ref: '#/components/responses/NotFound'
233         '405':
234           $ref: '#/components/responses/MethodNotAllowed'
235         '406':
236           $ref: '#/components/responses/NotAcceptable'
237         '409':
238           $ref: '#/components/responses/Conflict'
239         '422':
240           $ref: '#/components/responses/UnprocessableEntity'
241         '500':
242           $ref: '#/components/responses/InternalServerError'
243         '503':
244           $ref: '#/components/responses/ServiceUnavailable'
245         '5XX':
246           $ref: '#/components/responses/UnexpectedError'
247         default:
248           $ref: '#/components/responses/UnexpectedError'
249   '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content':
250     parameters:
251       - name: nsdInfoId
252         in: path
253         required: true
254         description: NSD Info ID
255         schema:
256           type: string
257     get:
258       tags:
259         - "NS packages"
260       summary: Fetch the content of a NSD
261       description: Fetch the content of a NSD
262       operationId: getNSDcontent
263       responses:
264         '200':
265           description: OK
266           content:
267             application/zip:
268               schema:
269                 $ref: '#/components/schemas/NsPackage'
270         '206':
271           description: Partial Content
272           headers:
273             Content-Range:
274               schema:
275                 type: string
276           content:
277             application/zip:
278               schema:
279                 $ref: '#/components/schemas/NsPackage'
280         '400':
281           $ref: '#/components/responses/BadRequest'
282         '401':
283           $ref: '#/components/responses/Unauthorized'
284         '403':
285           $ref: '#/components/responses/Forbidden'
286         '404':
287           $ref: '#/components/responses/NotFound'
288         '405':
289           $ref: '#/components/responses/MethodNotAllowed'
290         '406':
291           $ref: '#/components/responses/NotAcceptable'
292         '409':
293           $ref: '#/components/responses/Conflict'
294         '422':
295           $ref: '#/components/responses/UnprocessableEntity'
296         '500':
297           $ref: '#/components/responses/InternalServerError'
298         '503':
299           $ref: '#/components/responses/ServiceUnavailable'
300         '5XX':
301           $ref: '#/components/responses/UnexpectedError'
302         default:
303           $ref: '#/components/responses/UnexpectedError'
304     put:
305       tags:
306         - "NS packages"
307       summary: Upload the content of a NSD
308       description: Upload the content of a NSD
309       operationId: updateNSDcontent
310       requestBody:
311         $ref: '#/components/requestBodies/NsPackage'
312       responses:
313         '202':
314           description: Accepted
315         '204':
316           description: No Content
317         '400':
318           $ref: '#/components/responses/BadRequest'
319         '401':
320           $ref: '#/components/responses/Unauthorized'
321         '403':
322           $ref: '#/components/responses/Forbidden'
323         '404':
324           $ref: '#/components/responses/NotFound'
325         '405':
326           $ref: '#/components/responses/MethodNotAllowed'
327         '406':
328           $ref: '#/components/responses/NotAcceptable'
329         '409':
330           $ref: '#/components/responses/Conflict'
331         '422':
332           $ref: '#/components/responses/UnprocessableEntity'
333         '500':
334           $ref: '#/components/responses/InternalServerError'
335         '503':
336           $ref: '#/components/responses/ServiceUnavailable'
337         '5XX':
338           $ref: '#/components/responses/UnexpectedError'
339         default:
340           $ref: '#/components/responses/UnexpectedError'
341   '/nsd/v1/ns_descriptors/{nsdInfoId}/artifacts/{artifactPath}':
342     parameters:
343       - name: nsdInfoId
344         in: path
345         required: true
346         description: NS Package ID
347         schema:
348           type: string
349       - name: artifactPath
350         in: path
351         required: true
352         description: Artifact Path
353         schema:
354           type: string
355     get:
356       tags:
357         - "NS packages"
358       summary: Fetch individual NS package artifact
359       description: Fetch individual NS package artifact
360       operationId: getNsPkgArtifact
361       responses:
362         '200':
363           description: OK
364           content:
365             application/octet-stream:
366               schema:
367                 type: string
368                 format: binary
369         '206':
370           description: Partial Content
371           headers:
372             Content-Range:
373               schema:
374                 type: string
375           content:
376             application/octet-stream:
377               schema:
378                 type: string
379                 format: binary
380         '400':
381           $ref: '#/components/responses/BadRequest'
382         '401':
383           $ref: '#/components/responses/Unauthorized'
384         '403':
385           $ref: '#/components/responses/Forbidden'
386         '404':
387           $ref: '#/components/responses/NotFound'
388         '405':
389           $ref: '#/components/responses/MethodNotAllowed'
390         '406':
391           $ref: '#/components/responses/NotAcceptable'
392         '409':
393           $ref: '#/components/responses/Conflict'
394         '422':
395           $ref: '#/components/responses/UnprocessableEntity'
396         '500':
397           $ref: '#/components/responses/InternalServerError'
398         '503':
399           $ref: '#/components/responses/ServiceUnavailable'
400         '5XX':
401           $ref: '#/components/responses/UnexpectedError'
402         default:
403           $ref: '#/components/responses/UnexpectedError'
404   '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd':
405     parameters:
406       - name: nsdInfoId
407         in: path
408         required: true
409         description: NS Package ID
410         schema:
411           type: string
412     get:
413       tags:
414         - "NS packages"
415       summary: Read NSD of an on-boarded NS package
416       description: Read NSD of an on-boarded NS package
417       operationId: getNsPkgNsd
418       responses:
419         '200':
420           description: OK
421           content:
422             text/plain:
423               schema:
424                 $ref: '#/components/schemas/NsDescriptor'
425         '400':
426           $ref: '#/components/responses/BadRequest'
427         '401':
428           $ref: '#/components/responses/Unauthorized'
429         '403':
430           $ref: '#/components/responses/Forbidden'
431         '404':
432           $ref: '#/components/responses/NotFound'
433         '405':
434           $ref: '#/components/responses/MethodNotAllowed'
435         '406':
436           $ref: '#/components/responses/NotAcceptable'
437         '409':
438           $ref: '#/components/responses/Conflict'
439         '422':
440           $ref: '#/components/responses/UnprocessableEntity'
441         '500':
442           $ref: '#/components/responses/InternalServerError'
443         '503':
444           $ref: '#/components/responses/ServiceUnavailable'
445         '5XX':
446           $ref: '#/components/responses/UnexpectedError'
447         default:
448           $ref: '#/components/responses/UnexpectedError'
449   '/nsd/v1/ns_descriptors_content':
450     post:
451       tags:
452         - "NS packages"
453       summary: Upload a NS package by providing the content of the NS package
454       description: Upload a NS package by providing the content of the NS package
455       operationId: uploadNsPkgsContent
456       requestBody:
457         content:
458           application/zip:
459             schema:
460               $ref: '#/components/schemas/NsPackage'
461       responses:
462         '201':
463           description: Created
464           headers:
465             Location:
466               schema:
467                 type: string
468                 format: uri
469           content:
470             application/json:
471               schema:
472                 $ref: '#/components/schemas/ObjectId'
473             application/yaml:
474               schema:
475                 $ref: '#/components/schemas/ObjectId'
476         '202':
477           description: Accepted
478         '204':
479           description: No Content
480         '400':
481           $ref: '#/components/responses/BadRequest'
482         '401':
483           $ref: '#/components/responses/Unauthorized'
484         '403':
485           $ref: '#/components/responses/Forbidden'
486         '404':
487           $ref: '#/components/responses/NotFound'
488         '405':
489           $ref: '#/components/responses/MethodNotAllowed'
490         '406':
491           $ref: '#/components/responses/NotAcceptable'
492         '409':
493           $ref: '#/components/responses/Conflict'
494         '422':
495           $ref: '#/components/responses/UnprocessableEntity'
496         '500':
497           $ref: '#/components/responses/InternalServerError'
498         '503':
499           $ref: '#/components/responses/ServiceUnavailable'
500         '5XX':
501           $ref: '#/components/responses/UnexpectedError'
502         default:
503           $ref: '#/components/responses/UnexpectedError'
504     get:
505       tags:
506         - "NS packages"
507       summary: Query information about multiple NS package resources
508       description: Query information about multiple NS package resources
509       operationId: getNsPkgsContent
510       responses:
511         '200':
512           description: OK
513           content:
514             application/json:
515               schema:
516                 $ref: '#/components/schemas/ArrayOfNsdInfo'
517             application/yaml:
518               schema:
519                 $ref: '#/components/schemas/ArrayOfNsdInfo'
520         '206':
521           description: Partial Content
522           headers:
523             Content-Range:
524               schema:
525                 type: string
526           content:
527             application/octet-stream:
528               schema:
529                 type: string
530                 format: binary
531         '400':
532           $ref: '#/components/responses/BadRequest'
533         '401':
534           $ref: '#/components/responses/Unauthorized'
535         '403':
536           $ref: '#/components/responses/Forbidden'
537         '404':
538           $ref: '#/components/responses/NotFound'
539         '405':
540           $ref: '#/components/responses/MethodNotAllowed'
541         '406':
542           $ref: '#/components/responses/NotAcceptable'
543         '409':
544           $ref: '#/components/responses/Conflict'
545         '422':
546           $ref: '#/components/responses/UnprocessableEntity'
547         '500':
548           $ref: '#/components/responses/InternalServerError'
549         '503':
550           $ref: '#/components/responses/ServiceUnavailable'
551         '5XX':
552           $ref: '#/components/responses/UnexpectedError'
553         default:
554           $ref: '#/components/responses/UnexpectedError'
555   '/nsd/v1/ns_descriptors_content/{nsdInfoId}':
556     parameters:
557       - name: nsdInfoId
558         in: path
559         required: true
560         description: NS Package ID
561         schema:
562           type: string
563     get:
564       tags:
565         - "NS packages"
566       summary: Read information about an individual NS package resource
567       description: Read information about an individual NS package resource
568       operationId: getNsPkgsIdContent
569       responses:
570         '200':
571           description: OK
572           content:
573             application/json:
574               schema:
575                 $ref: '#/components/schemas/NsdInfo'
576             application/yaml:
577               schema:
578                 $ref: '#/components/schemas/NsdInfo'
579         '400':
580           $ref: '#/components/responses/BadRequest'
581         '401':
582           $ref: '#/components/responses/Unauthorized'
583         '403':
584           $ref: '#/components/responses/Forbidden'
585         '404':
586           $ref: '#/components/responses/NotFound'
587         '405':
588           $ref: '#/components/responses/MethodNotAllowed'
589         '406':
590           $ref: '#/components/responses/NotAcceptable'
591         '409':
592           $ref: '#/components/responses/Conflict'
593         '422':
594           $ref: '#/components/responses/UnprocessableEntity'
595         '500':
596           $ref: '#/components/responses/InternalServerError'
597         '503':
598           $ref: '#/components/responses/ServiceUnavailable'
599         '5XX':
600           $ref: '#/components/responses/UnexpectedError'
601         default:
602           $ref: '#/components/responses/UnexpectedError'
603     put:
604       tags:
605         - "NS packages"
606       summary: Modify an individual NS package resource
607       description: Modify an individual NS package resource
608       operationId: updateNsPkgsIdContent
609       requestBody:
610         $ref: '#/components/requestBodies/NsdInfoModifications'
611       responses:
612         '204':
613           description: No Content
614         '400':
615           $ref: '#/components/responses/BadRequest'
616         '401':
617           $ref: '#/components/responses/Unauthorized'
618         '403':
619           $ref: '#/components/responses/Forbidden'
620         '404':
621           $ref: '#/components/responses/NotFound'
622         '405':
623           $ref: '#/components/responses/MethodNotAllowed'
624         '406':
625           $ref: '#/components/responses/NotAcceptable'
626         '409':
627           $ref: '#/components/responses/Conflict'
628         '422':
629           $ref: '#/components/responses/UnprocessableEntity'
630         '500':
631           $ref: '#/components/responses/InternalServerError'
632         '503':
633           $ref: '#/components/responses/ServiceUnavailable'
634         '5XX':
635           $ref: '#/components/responses/UnexpectedError'
636         default:
637           $ref: '#/components/responses/UnexpectedError'
638     delete:
639       tags:
640         - "NS packages"
641       summary: Delete an individual NS package resource
642       description: Delete an individual NS package resource
643       operationId: deleteNSPkgsIdContent
644       responses:
645         '204':
646           description: No Content
647         '400':
648           $ref: '#/components/responses/BadRequest'
649         '401':
650           $ref: '#/components/responses/Unauthorized'
651         '403':
652           $ref: '#/components/responses/Forbidden'
653         '404':
654           $ref: '#/components/responses/NotFound'
655         '405':
656           $ref: '#/components/responses/MethodNotAllowed'
657         '406':
658           $ref: '#/components/responses/NotAcceptable'
659         '409':
660           $ref: '#/components/responses/Conflict'
661         '422':
662           $ref: '#/components/responses/UnprocessableEntity'
663         '500':
664           $ref: '#/components/responses/InternalServerError'
665         '503':
666           $ref: '#/components/responses/ServiceUnavailable'
667         '5XX':
668           $ref: '#/components/responses/UnexpectedError'
669         default:
670           $ref: '#/components/responses/UnexpectedError'
671 # END NS Packages
672
673 # BEGIN VNF Packages
674   '/vnfpkgm/v1/vnf_packages':
675     get:
676       tags:
677         - "VNF packages"
678       summary: Query information about multiple VNF package resources
679       description: Query information about multiple VNF package resources
680       operationId: getVnfPkgs
681       responses:
682         '200':
683           description: OK
684           content:
685             application/json:
686               schema:
687                 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
688             application/yaml:
689               schema:
690                 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
691         '400':
692           $ref: '#/components/responses/BadRequest'
693         '401':
694           $ref: '#/components/responses/Unauthorized'
695         '403':
696           $ref: '#/components/responses/Forbidden'
697         '404':
698           $ref: '#/components/responses/NotFound'
699         '405':
700           $ref: '#/components/responses/MethodNotAllowed'
701         '406':
702           $ref: '#/components/responses/NotAcceptable'
703         '409':
704           $ref: '#/components/responses/Conflict'
705         '422':
706           $ref: '#/components/responses/UnprocessableEntity'
707         '500':
708           $ref: '#/components/responses/InternalServerError'
709         '503':
710           $ref: '#/components/responses/ServiceUnavailable'
711         '5XX':
712           $ref: '#/components/responses/UnexpectedError'
713         default:
714           $ref: '#/components/responses/UnexpectedError'
715     post:
716       tags:
717         - "VNF packages"
718       summary: Create a new VNF package resource
719       description: Create a new VNF package resource
720       operationId: addVnfPkg
721       requestBody:
722         $ref: '#/components/requestBodies/CreateVnfPkgInfoRequest'
723       responses:
724         '201':
725           description: Created
726           headers:
727             Location:
728               schema:
729                 type: string
730                 format: uri
731           content:
732             application/json:
733               schema:
734                 $ref: '#/components/schemas/ObjectId'
735             application/yaml:
736               schema:
737                 $ref: '#/components/schemas/ObjectId'
738         '400':
739           $ref: '#/components/responses/BadRequest'
740         '401':
741           $ref: '#/components/responses/Unauthorized'
742         '403':
743           $ref: '#/components/responses/Forbidden'
744         '404':
745           $ref: '#/components/responses/NotFound'
746         '405':
747           $ref: '#/components/responses/MethodNotAllowed'
748         '406':
749           $ref: '#/components/responses/NotAcceptable'
750         '409':
751           $ref: '#/components/responses/Conflict'
752         '422':
753           $ref: '#/components/responses/UnprocessableEntity'
754         '500':
755           $ref: '#/components/responses/InternalServerError'
756         '503':
757           $ref: '#/components/responses/ServiceUnavailable'
758         '5XX':
759           $ref: '#/components/responses/UnexpectedError'
760         default:
761           $ref: '#/components/responses/UnexpectedError'
762   '/vnfpkgm/v1/vnf_packages/{vnfPkgId}':
763     parameters:
764       - name: vnfPkgId
765         in: path
766         required: true
767         description: VNF Package ID
768         schema:
769           type: string
770     get:
771       tags:
772         - "VNF packages"
773       summary: Read information about an individual VNF package resource
774       description: Read information about an individual VNF package resource
775       operationId: getVnfPkg
776       responses:
777         '200':
778           description: OK
779           content:
780             application/json:
781               schema:
782                 $ref: '#/components/schemas/VnfPkgInfo'
783             application/yaml:
784               schema:
785                 $ref: '#/components/schemas/VnfPkgInfo'
786         '400':
787           $ref: '#/components/responses/BadRequest'
788         '401':
789           $ref: '#/components/responses/Unauthorized'
790         '403':
791           $ref: '#/components/responses/Forbidden'
792         '404':
793           $ref: '#/components/responses/NotFound'
794         '405':
795           $ref: '#/components/responses/MethodNotAllowed'
796         '406':
797           $ref: '#/components/responses/NotAcceptable'
798         '409':
799           $ref: '#/components/responses/Conflict'
800         '422':
801           $ref: '#/components/responses/UnprocessableEntity'
802         '500':
803           $ref: '#/components/responses/InternalServerError'
804         '503':
805           $ref: '#/components/responses/ServiceUnavailable'
806         '5XX':
807           $ref: '#/components/responses/UnexpectedError'
808         default:
809           $ref: '#/components/responses/UnexpectedError'
810     delete:
811       tags:
812         - "VNF packages"
813       summary: Delete an individual VNF package resource
814       description: Delete an individual VNF package resource
815       operationId: deleteVnfPkg
816       responses:
817         '204':
818           description: No Content
819         '400':
820           $ref: '#/components/responses/BadRequest'
821         '401':
822           $ref: '#/components/responses/Unauthorized'
823         '403':
824           $ref: '#/components/responses/Forbidden'
825         '404':
826           $ref: '#/components/responses/NotFound'
827         '405':
828           $ref: '#/components/responses/MethodNotAllowed'
829         '406':
830           $ref: '#/components/responses/NotAcceptable'
831         '409':
832           $ref: '#/components/responses/Conflict'
833         '422':
834           $ref: '#/components/responses/UnprocessableEntity'
835         '500':
836           $ref: '#/components/responses/InternalServerError'
837         '503':
838           $ref: '#/components/responses/ServiceUnavailable'
839         '5XX':
840           $ref: '#/components/responses/UnexpectedError'
841         default:
842           $ref: '#/components/responses/UnexpectedError'
843     patch:
844       tags:
845         - "VNF packages"
846       summary: Modify an individual VNF package resource
847       description: Modify an individual VNF package resource
848       operationId: updateVnfPkg
849       requestBody:
850         $ref: '#/components/requestBodies/VnfPkgInfoModifications'
851       responses:
852         '204':
853           description: No Content
854         '400':
855           $ref: '#/components/responses/BadRequest'
856         '401':
857           $ref: '#/components/responses/Unauthorized'
858         '403':
859           $ref: '#/components/responses/Forbidden'
860         '404':
861           $ref: '#/components/responses/NotFound'
862         '405':
863           $ref: '#/components/responses/MethodNotAllowed'
864         '406':
865           $ref: '#/components/responses/NotAcceptable'
866         '409':
867           $ref: '#/components/responses/Conflict'
868         '422':
869           $ref: '#/components/responses/UnprocessableEntity'
870         '500':
871           $ref: '#/components/responses/InternalServerError'
872         '503':
873           $ref: '#/components/responses/ServiceUnavailable'
874         '5XX':
875           $ref: '#/components/responses/UnexpectedError'
876         default:
877           $ref: '#/components/responses/UnexpectedError'
878   '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd':
879     parameters:
880       - name: vnfPkgId
881         in: path
882         required: true
883         description: VNF Package ID
884         schema:
885           type: string
886     get:
887       tags:
888         - "VNF packages"
889       summary: Read VNFD of an on-boarded VNF package
890       description: Read VNFD of an on-boarded VNF package
891       operationId: getVnfPkgVnfd
892       responses:
893         '200':
894           description: OK
895           content:
896             text/plain:
897               schema:
898                 $ref: '#/components/schemas/VnfDescriptor'
899         '400':
900           $ref: '#/components/responses/BadRequest'
901         '401':
902           $ref: '#/components/responses/Unauthorized'
903         '403':
904           $ref: '#/components/responses/Forbidden'
905         '404':
906           $ref: '#/components/responses/NotFound'
907         '405':
908           $ref: '#/components/responses/MethodNotAllowed'
909         '406':
910           $ref: '#/components/responses/NotAcceptable'
911         '409':
912           $ref: '#/components/responses/Conflict'
913         '422':
914           $ref: '#/components/responses/UnprocessableEntity'
915         '500':
916           $ref: '#/components/responses/InternalServerError'
917         '503':
918           $ref: '#/components/responses/ServiceUnavailable'
919         '5XX':
920           $ref: '#/components/responses/UnexpectedError'
921         default:
922           $ref: '#/components/responses/UnexpectedError'
923   '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content':
924     parameters:
925       - name: vnfPkgId
926         in: path
927         required: true
928         description: VNF Package ID
929         schema:
930           type: string
931     get:
932       tags:
933         - "VNF packages"
934       summary: Fetch an on-boarded VNF package
935       description: Fetch an on-boarded VNF package
936       operationId: getVnfPkgContent
937       responses:
938         '200':
939           description: OK
940           content:
941             application/zip:
942               schema:
943                 $ref: '#/components/schemas/VnfPackage'
944         '206':
945           description: Partial Content
946           headers:
947             Content-Range:
948               schema:
949                 type: string
950           content:
951             application/zip:
952               schema:
953                 $ref: '#/components/schemas/VnfPackage'
954         '400':
955           $ref: '#/components/responses/BadRequest'
956         '401':
957           $ref: '#/components/responses/Unauthorized'
958         '403':
959           $ref: '#/components/responses/Forbidden'
960         '404':
961           $ref: '#/components/responses/NotFound'
962         '405':
963           $ref: '#/components/responses/MethodNotAllowed'
964         '406':
965           $ref: '#/components/responses/NotAcceptable'
966         '409':
967           $ref: '#/components/responses/Conflict'
968         '422':
969           $ref: '#/components/responses/UnprocessableEntity'
970         '500':
971           $ref: '#/components/responses/InternalServerError'
972         '503':
973           $ref: '#/components/responses/ServiceUnavailable'
974         '5XX':
975           $ref: '#/components/responses/UnexpectedError'
976         default:
977           $ref: '#/components/responses/UnexpectedError'
978     put:
979       tags:
980         - "VNF packages"
981       summary: Upload a VNF package by providing the content of the VNF package
982       description: Upload a VNF package by providing the content of the VNF package
983       operationId: uploadVnfPkgContent
984       requestBody:
985         content:
986           application/zip:
987             schema:
988               $ref: '#/components/schemas/VnfPackage'
989       responses:
990         '202':
991           description: Accepted
992         '204':
993           description: No Content
994         '400':
995           $ref: '#/components/responses/BadRequest'
996         '401':
997           $ref: '#/components/responses/Unauthorized'
998         '403':
999           $ref: '#/components/responses/Forbidden'
1000         '404':
1001           $ref: '#/components/responses/NotFound'
1002         '405':
1003           $ref: '#/components/responses/MethodNotAllowed'
1004         '406':
1005           $ref: '#/components/responses/NotAcceptable'
1006         '409':
1007           $ref: '#/components/responses/Conflict'
1008         '422':
1009           $ref: '#/components/responses/UnprocessableEntity'
1010         '500':
1011           $ref: '#/components/responses/InternalServerError'
1012         '503':
1013           $ref: '#/components/responses/ServiceUnavailable'
1014         '5XX':
1015           $ref: '#/components/responses/UnexpectedError'
1016         default:
1017           $ref: '#/components/responses/UnexpectedError'
1018   '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
1019     parameters:
1020       - name: vnfPkgId
1021         in: path
1022         required: true
1023         description: VNF Package ID
1024         schema:
1025           type: string
1026       - name: artifactPath
1027         in: path
1028         required: true
1029         description: Artifact Path
1030         schema:
1031           type: string
1032     get:
1033       tags:
1034         - "VNF packages"
1035       summary: Fetch individual VNF package artifact
1036       description: Fetch individual VNF package artifact
1037       operationId: getVnfPkgArtifact
1038       responses:
1039         '200':
1040           description: OK
1041           content:
1042             application/octet-stream:
1043               schema:
1044                 type: string
1045                 format: binary
1046         '206':
1047           description: Partial Content
1048           headers:
1049             Content-Range:
1050               schema:
1051                 type: string
1052           content:
1053             application/octet-stream:
1054               schema:
1055                 type: string
1056                 format: binary
1057         '400':
1058           $ref: '#/components/responses/BadRequest'
1059         '401':
1060           $ref: '#/components/responses/Unauthorized'
1061         '403':
1062           $ref: '#/components/responses/Forbidden'
1063         '404':
1064           $ref: '#/components/responses/NotFound'
1065         '405':
1066           $ref: '#/components/responses/MethodNotAllowed'
1067         '406':
1068           $ref: '#/components/responses/NotAcceptable'
1069         '409':
1070           $ref: '#/components/responses/Conflict'
1071         '422':
1072           $ref: '#/components/responses/UnprocessableEntity'
1073         '500':
1074           $ref: '#/components/responses/InternalServerError'
1075         '503':
1076           $ref: '#/components/responses/ServiceUnavailable'
1077         '5XX':
1078           $ref: '#/components/responses/UnexpectedError'
1079         default:
1080           $ref: '#/components/responses/UnexpectedError'
1081   '/vnfpkgm/v1/vnf_packages_content':
1082     post:
1083       tags:
1084         - "VNF packages"
1085       summary: Upload a VNF package by providing the content of the VNF package
1086       description: Upload a VNF package by providing the content of the VNF package
1087       operationId: uploadVnfPkgsContent
1088       requestBody:
1089         content:
1090           application/zip:
1091             schema:
1092               $ref: '#/components/schemas/VnfPackage'
1093       responses:
1094         '201':
1095           description: Created
1096           headers:
1097             Location:
1098               schema:
1099                 type: string
1100                 format: uri
1101           content:
1102             application/json:
1103               schema:
1104                 $ref: '#/components/schemas/ObjectId'
1105             application/yaml:
1106               schema:
1107                 $ref: '#/components/schemas/ObjectId'
1108         '202':
1109           description: Accepted
1110         '204':
1111           description: No Content
1112         '400':
1113           $ref: '#/components/responses/BadRequest'
1114         '401':
1115           $ref: '#/components/responses/Unauthorized'
1116         '403':
1117           $ref: '#/components/responses/Forbidden'
1118         '404':
1119           $ref: '#/components/responses/NotFound'
1120         '405':
1121           $ref: '#/components/responses/MethodNotAllowed'
1122         '406':
1123           $ref: '#/components/responses/NotAcceptable'
1124         '409':
1125           $ref: '#/components/responses/Conflict'
1126         '422':
1127           $ref: '#/components/responses/UnprocessableEntity'
1128         '500':
1129           $ref: '#/components/responses/InternalServerError'
1130         '503':
1131           $ref: '#/components/responses/ServiceUnavailable'
1132         '5XX':
1133           $ref: '#/components/responses/UnexpectedError'
1134         default:
1135           $ref: '#/components/responses/UnexpectedError'
1136     get:
1137       tags:
1138         - "VNF packages"
1139       summary: Query information about multiple VNF package resources
1140       description: Query information about multiple VNF package resources
1141       operationId: getVnfPkgsContent
1142       responses:
1143         '200':
1144           description: OK
1145           content:
1146             application/json:
1147               schema:
1148                 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
1149             application/yaml:
1150               schema:
1151                 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
1152         '206':
1153           description: Partial Content
1154           headers:
1155             Content-Range:
1156               schema:
1157                 type: string
1158           content:
1159             application/octet-stream:
1160               schema:
1161                 type: string
1162                 format: binary
1163         '400':
1164           $ref: '#/components/responses/BadRequest'
1165         '401':
1166           $ref: '#/components/responses/Unauthorized'
1167         '403':
1168           $ref: '#/components/responses/Forbidden'
1169         '404':
1170           $ref: '#/components/responses/NotFound'
1171         '405':
1172           $ref: '#/components/responses/MethodNotAllowed'
1173         '406':
1174           $ref: '#/components/responses/NotAcceptable'
1175         '409':
1176           $ref: '#/components/responses/Conflict'
1177         '422':
1178           $ref: '#/components/responses/UnprocessableEntity'
1179         '500':
1180           $ref: '#/components/responses/InternalServerError'
1181         '503':
1182           $ref: '#/components/responses/ServiceUnavailable'
1183         '5XX':
1184           $ref: '#/components/responses/UnexpectedError'
1185         default:
1186           $ref: '#/components/responses/UnexpectedError'
1187   '/vnfpkgm/v1/vnf_packages_content/{packageContentId}':
1188     parameters:
1189       - name: packageContentId
1190         in: path
1191         required: true
1192         description: VNF Package Content ID
1193         schema:
1194           type: string
1195     get:
1196       tags:
1197         - "VNF packages"
1198       summary: Read information about an individual VNF package resource
1199       description: Read information about an individual VNF package resource
1200       operationId: getVnfPkgsIdContent
1201       responses:
1202         '200':
1203           description: OK
1204           content:
1205             application/json:
1206               schema:
1207                 $ref: '#/components/schemas/VnfPkgInfo'
1208             application/yaml:
1209               schema:
1210                 $ref: '#/components/schemas/VnfPkgInfo'
1211         '400':
1212           $ref: '#/components/responses/BadRequest'
1213         '401':
1214           $ref: '#/components/responses/Unauthorized'
1215         '403':
1216           $ref: '#/components/responses/Forbidden'
1217         '404':
1218           $ref: '#/components/responses/NotFound'
1219         '405':
1220           $ref: '#/components/responses/MethodNotAllowed'
1221         '406':
1222           $ref: '#/components/responses/NotAcceptable'
1223         '409':
1224           $ref: '#/components/responses/Conflict'
1225         '422':
1226           $ref: '#/components/responses/UnprocessableEntity'
1227         '500':
1228           $ref: '#/components/responses/InternalServerError'
1229         '503':
1230           $ref: '#/components/responses/ServiceUnavailable'
1231         '5XX':
1232           $ref: '#/components/responses/UnexpectedError'
1233         default:
1234           $ref: '#/components/responses/UnexpectedError'
1235     put:
1236       tags:
1237         - "VNF packages"
1238       summary: Modify an individual VNF package resource
1239       description: Modify an individual VNF package resource
1240       operationId: updateVnfPkgsIdContent
1241       requestBody:
1242         $ref: '#/components/requestBodies/VnfPkgInfoModifications'
1243       responses:
1244         '204':
1245           description: No Content
1246         '400':
1247           $ref: '#/components/responses/BadRequest'
1248         '401':
1249           $ref: '#/components/responses/Unauthorized'
1250         '403':
1251           $ref: '#/components/responses/Forbidden'
1252         '404':
1253           $ref: '#/components/responses/NotFound'
1254         '405':
1255           $ref: '#/components/responses/MethodNotAllowed'
1256         '406':
1257           $ref: '#/components/responses/NotAcceptable'
1258         '409':
1259           $ref: '#/components/responses/Conflict'
1260         '422':
1261           $ref: '#/components/responses/UnprocessableEntity'
1262         '500':
1263           $ref: '#/components/responses/InternalServerError'
1264         '503':
1265           $ref: '#/components/responses/ServiceUnavailable'
1266         '5XX':
1267           $ref: '#/components/responses/UnexpectedError'
1268         default:
1269           $ref: '#/components/responses/UnexpectedError'
1270     delete:
1271       tags:
1272         - "VNF packages"
1273       summary: Delete an individual VNF package resource
1274       description: Delete an individual VNF package resource
1275       operationId: deleteVnfPkgsIdContent
1276       responses:
1277         '204':
1278           description: No Content
1279         '400':
1280           $ref: '#/components/responses/BadRequest'
1281         '401':
1282           $ref: '#/components/responses/Unauthorized'
1283         '403':
1284           $ref: '#/components/responses/Forbidden'
1285         '404':
1286           $ref: '#/components/responses/NotFound'
1287         '405':
1288           $ref: '#/components/responses/MethodNotAllowed'
1289         '406':
1290           $ref: '#/components/responses/NotAcceptable'
1291         '409':
1292           $ref: '#/components/responses/Conflict'
1293         '422':
1294           $ref: '#/components/responses/UnprocessableEntity'
1295         '500':
1296           $ref: '#/components/responses/InternalServerError'
1297         '503':
1298           $ref: '#/components/responses/ServiceUnavailable'
1299         '5XX':
1300           $ref: '#/components/responses/UnexpectedError'
1301         default:
1302           $ref: '#/components/responses/UnexpectedError'
1303 # END VNF Packages
1304
1305 # BEGIN NS Instances
1306   '/nslcm/v1/ns_instances':
1307     get:
1308       tags:
1309         - "NS instances"
1310       summary: Query information about multiple NS instances
1311       description: Query information about multiple NS isntances
1312       operationId: getNSinstances
1313       responses:
1314         '200':
1315           description: OK
1316           content:
1317             application/json:
1318               schema:
1319                 $ref: '#/components/schemas/ArrayOfNsInstance'
1320             application/yaml:
1321               schema:
1322                 $ref: '#/components/schemas/ArrayOfNsInstance'
1323         '400':
1324           $ref: '#/components/responses/BadRequest'
1325         '401':
1326           $ref: '#/components/responses/Unauthorized'
1327         '403':
1328           $ref: '#/components/responses/Forbidden'
1329         '404':
1330           $ref: '#/components/responses/NotFound'
1331         '405':
1332           $ref: '#/components/responses/MethodNotAllowed'
1333         '406':
1334           $ref: '#/components/responses/NotAcceptable'
1335         '409':
1336           $ref: '#/components/responses/Conflict'
1337         '422':
1338           $ref: '#/components/responses/UnprocessableEntity'
1339         '500':
1340           $ref: '#/components/responses/InternalServerError'
1341         '503':
1342           $ref: '#/components/responses/ServiceUnavailable'
1343         '5XX':
1344           $ref: '#/components/responses/UnexpectedError'
1345         default:
1346           $ref: '#/components/responses/UnexpectedError'
1347     post:
1348       tags:
1349         - "NS instances"
1350       summary: Create a new NS instance resource
1351       description: Create a new NS instance resource
1352       operationId: addNSinstance
1353       requestBody:
1354         $ref: '#/components/requestBodies/InstantiateNsRequest'
1355       responses:
1356         '201':
1357           description: Created
1358           headers:
1359             Location:
1360               schema:
1361                 type: string
1362                 format: uri
1363           content:
1364             application/json:
1365               schema:
1366                 $ref: '#/components/schemas/ObjectId'
1367             application/yaml:
1368               schema:
1369                 $ref: '#/components/schemas/ObjectId'
1370         '400':
1371           $ref: '#/components/responses/BadRequest'
1372         '401':
1373           $ref: '#/components/responses/Unauthorized'
1374         '403':
1375           $ref: '#/components/responses/Forbidden'
1376         '404':
1377           $ref: '#/components/responses/NotFound'
1378         '405':
1379           $ref: '#/components/responses/MethodNotAllowed'
1380         '406':
1381           $ref: '#/components/responses/NotAcceptable'
1382         '409':
1383           $ref: '#/components/responses/Conflict'
1384         '422':
1385           $ref: '#/components/responses/UnprocessableEntity'
1386         '500':
1387           $ref: '#/components/responses/InternalServerError'
1388         '503':
1389           $ref: '#/components/responses/ServiceUnavailable'
1390         '5XX':
1391           $ref: '#/components/responses/UnexpectedError'
1392         default:
1393           $ref: '#/components/responses/UnexpectedError'
1394   '/nslcm/v1/ns_instances/{nsInstanceId}':
1395     parameters:
1396       - name: nsInstanceId
1397         in: path
1398         required: true
1399         description: NS Instance ID
1400         schema:
1401           type: string
1402     get:
1403       tags:
1404         - "NS instances"
1405       summary: Read an individual NS instance resource
1406       description: Read an individual NS instance resource
1407       operationId: getNSinstance
1408       responses:
1409         '200':
1410           description: OK
1411           content:
1412             application/json:
1413               schema:
1414                 $ref: '#/components/schemas/NsInstance'
1415             application/yaml:
1416               schema:
1417                 $ref: '#/components/schemas/NsInstance'
1418         '400':
1419           $ref: '#/components/responses/BadRequest'
1420         '401':
1421           $ref: '#/components/responses/Unauthorized'
1422         '403':
1423           $ref: '#/components/responses/Forbidden'
1424         '404':
1425           $ref: '#/components/responses/NotFound'
1426         '405':
1427           $ref: '#/components/responses/MethodNotAllowed'
1428         '406':
1429           $ref: '#/components/responses/NotAcceptable'
1430         '409':
1431           $ref: '#/components/responses/Conflict'
1432         '422':
1433           $ref: '#/components/responses/UnprocessableEntity'
1434         '500':
1435           $ref: '#/components/responses/InternalServerError'
1436         '503':
1437           $ref: '#/components/responses/ServiceUnavailable'
1438         '5XX':
1439           $ref: '#/components/responses/UnexpectedError'
1440         default:
1441           $ref: '#/components/responses/UnexpectedError'
1442     delete:
1443       tags:
1444         - "NS instances"
1445       summary: Delete an individual NS instance resource
1446       description: Delete an individual NS instance resource
1447       operationId: deleteNSinstance
1448       responses:
1449         '204':
1450           description: No Content
1451         '400':
1452           $ref: '#/components/responses/BadRequest'
1453         '401':
1454           $ref: '#/components/responses/Unauthorized'
1455         '403':
1456           $ref: '#/components/responses/Forbidden'
1457         '404':
1458           $ref: '#/components/responses/NotFound'
1459         '405':
1460           $ref: '#/components/responses/MethodNotAllowed'
1461         '406':
1462           $ref: '#/components/responses/NotAcceptable'
1463         '409':
1464           $ref: '#/components/responses/Conflict'
1465         '422':
1466           $ref: '#/components/responses/UnprocessableEntity'
1467         '500':
1468           $ref: '#/components/responses/InternalServerError'
1469         '503':
1470           $ref: '#/components/responses/ServiceUnavailable'
1471         '5XX':
1472           $ref: '#/components/responses/UnexpectedError'
1473         default:
1474           $ref: '#/components/responses/UnexpectedError'
1475   '/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
1476     parameters:
1477       - name: nsInstanceId
1478         in: path
1479         required: true
1480         description: NS Instance ID
1481         schema:
1482           type: string
1483     post:
1484       tags:
1485         - "NS instances"
1486       summary: Instantiate a NS
1487       description: |
1488         Instantiate a NS. The precondition is that the NS instance must have
1489         been created and must be in NOT_INSTANTIATED state. As a result of the
1490         success of this operation, the NFVO creates a "NS Lifecycle Operation
1491         Occurrence" resource for the request, and the NS instance state becomes
1492         INSTANTIATED.
1493       operationId: instantiateNSinstance
1494       requestBody:
1495         $ref: '#/components/requestBodies/InstantiateNsRequest'
1496       responses:
1497         '202':
1498           description: Accepted
1499           headers:
1500             Location:
1501               description: |
1502                 It must point to the new "NS Lifecycle Operation Occurrence"
1503                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1504               schema:
1505                 type: string
1506                 format: uri
1507           content:
1508             application/json:
1509               schema:
1510                 $ref: '#/components/schemas/ObjectId'
1511             application/yaml:
1512               schema:
1513                 $ref: '#/components/schemas/ObjectId'
1514         '400':
1515           $ref: '#/components/responses/BadRequest'
1516         '401':
1517           $ref: '#/components/responses/Unauthorized'
1518         '403':
1519           $ref: '#/components/responses/Forbidden'
1520         '404':
1521           $ref: '#/components/responses/NotFound'
1522         '405':
1523           $ref: '#/components/responses/MethodNotAllowed'
1524         '406':
1525           $ref: '#/components/responses/NotAcceptable'
1526         '409':
1527           $ref: '#/components/responses/Conflict'
1528         '422':
1529           $ref: '#/components/responses/UnprocessableEntity'
1530         '500':
1531           $ref: '#/components/responses/InternalServerError'
1532         '503':
1533           $ref: '#/components/responses/ServiceUnavailable'
1534         '5XX':
1535           $ref: '#/components/responses/UnexpectedError'
1536         default:
1537           $ref: '#/components/responses/UnexpectedError'
1538   '/nslcm/v1/ns_instances/{nsInstanceId}/scale':
1539     parameters:
1540       - name: nsInstanceId
1541         in: path
1542         required: true
1543         description: NS Instance ID
1544         schema:
1545           type: string
1546     post:
1547       tags:
1548         - "NS instances"
1549       summary: Scale a NS instance
1550       description: |
1551         Scale a NS instance. The precondition is that the NS instance must have
1552         been created and must be in INSTANTIATED state. As a result of the
1553         success of this operation, the NFVO creates a "NS Lifecycle Operation
1554         Occurrence" resource for the request, and the NS instance state remains
1555         INSTANTIATED.
1556       operationId: scaleNSinstance
1557       requestBody:
1558         $ref: '#/components/requestBodies/ScaleNsRequest'
1559       responses:
1560         '202':
1561           description: Accepted
1562           headers:
1563             Location:
1564               description: |
1565                 It must point to the new "NS Lifecycle Operation Occurrence"
1566                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1567               schema:
1568                 type: string
1569                 format: uri
1570         '400':
1571           $ref: '#/components/responses/BadRequest'
1572         '401':
1573           $ref: '#/components/responses/Unauthorized'
1574         '403':
1575           $ref: '#/components/responses/Forbidden'
1576         '404':
1577           $ref: '#/components/responses/NotFound'
1578         '405':
1579           $ref: '#/components/responses/MethodNotAllowed'
1580         '406':
1581           $ref: '#/components/responses/NotAcceptable'
1582         '409':
1583           $ref: '#/components/responses/Conflict'
1584         '422':
1585           $ref: '#/components/responses/UnprocessableEntity'
1586         '500':
1587           $ref: '#/components/responses/InternalServerError'
1588         '503':
1589           $ref: '#/components/responses/ServiceUnavailable'
1590         '5XX':
1591           $ref: '#/components/responses/UnexpectedError'
1592         default:
1593           $ref: '#/components/responses/UnexpectedError'
1594   '/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
1595     parameters:
1596       - name: nsInstanceId
1597         in: path
1598         required: true
1599         description: NS Instance ID
1600         schema:
1601           type: string
1602     post:
1603       tags:
1604         - "NS instances"
1605       summary: Terminate a NS instance
1606       description: |
1607         Terminate a NS instance. The precondition is that the NS instance must have
1608         been created and must be in INSTANTIATED state. As a result of the
1609         success of this operation, the NFVO creates a "NS Lifecycle Operation
1610         Occurrence" resource for the request, and the NS instance state becomes
1611         NOT_INSTANTIATED.
1612       operationId: terminateNSinstance
1613       requestBody:
1614         # Request data is not required
1615         $ref: '#/components/requestBodies/TerminateNsRequest'
1616       responses:
1617         '202':
1618           description: Accepted
1619           headers:
1620             Location:
1621               description: |
1622                 It must point to the new "NS Lifecycle Operation Occurrence"
1623                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1624               schema:
1625                 type: string
1626                 format: uri
1627           content:
1628             application/json:
1629               schema:
1630                 $ref: '#/components/schemas/ObjectId'
1631             application/yaml:
1632               schema:
1633                 $ref: '#/components/schemas/ObjectId'
1634         '400':
1635           $ref: '#/components/responses/BadRequest'
1636         '401':
1637           $ref: '#/components/responses/Unauthorized'
1638         '403':
1639           $ref: '#/components/responses/Forbidden'
1640         '404':
1641           $ref: '#/components/responses/NotFound'
1642         '405':
1643           $ref: '#/components/responses/MethodNotAllowed'
1644         '406':
1645           $ref: '#/components/responses/NotAcceptable'
1646         '409':
1647           $ref: '#/components/responses/Conflict'
1648         '422':
1649           $ref: '#/components/responses/UnprocessableEntity'
1650         '500':
1651           $ref: '#/components/responses/InternalServerError'
1652         '503':
1653           $ref: '#/components/responses/ServiceUnavailable'
1654         '5XX':
1655           $ref: '#/components/responses/UnexpectedError'
1656         default:
1657           $ref: '#/components/responses/UnexpectedError'
1658   '/nslcm/v1/ns_instances/{nsInstanceId}/action':
1659     parameters:
1660       - name: nsInstanceId
1661         in: path
1662         required: true
1663         description: NS Instance ID
1664         schema:
1665           type: string
1666     post:
1667       tags:
1668         - "NS instances"
1669       summary: Execute an action on a NS instance
1670       description: |
1671         Execute an action on a NS instance.
1672         The NS instance must have been created and must be in INSTANTIATED state.
1673       operationId: actionOnNSinstance
1674       requestBody:
1675         content:
1676           application/json:
1677             schema:
1678               $ref: '#/components/schemas/NSinstanceActionRequest'
1679           application/yaml:
1680             schema:
1681               $ref: '#/components/schemas/NSinstanceActionRequest'
1682       responses:
1683         '202':
1684           description: Accepted
1685           headers:
1686             Location:
1687               description: |
1688                 It must point to the new "NS Lifecycle Operation Occurrence"
1689                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1690               schema:
1691                 type: string
1692                 format: uri
1693           content:
1694             application/json:
1695               schema:
1696                 $ref: '#/components/schemas/ObjectId'
1697             application/yaml:
1698               schema:
1699                 $ref: '#/components/schemas/ObjectId'
1700         '400':
1701           $ref: '#/components/responses/BadRequest'
1702         '401':
1703           $ref: '#/components/responses/Unauthorized'
1704         '403':
1705           $ref: '#/components/responses/Forbidden'
1706         '404':
1707           $ref: '#/components/responses/NotFound'
1708         '405':
1709           $ref: '#/components/responses/MethodNotAllowed'
1710         '406':
1711           $ref: '#/components/responses/NotAcceptable'
1712         '409':
1713           $ref: '#/components/responses/Conflict'
1714         '422':
1715           $ref: '#/components/responses/UnprocessableEntity'
1716         '500':
1717           $ref: '#/components/responses/InternalServerError'
1718         '503':
1719           $ref: '#/components/responses/ServiceUnavailable'
1720         '5XX':
1721           $ref: '#/components/responses/UnexpectedError'
1722         default:
1723           $ref: '#/components/responses/UnexpectedError'
1724   '/nslcm/v1/ns_instances_content':
1725     get:
1726       tags:
1727         - "NS instances"
1728       summary: Query information about multiple NS instances
1729       description: Query information about multiple NS isntances
1730       operationId: getNSinstancesContent
1731       responses:
1732         '200':
1733           description: OK
1734           content:
1735             application/json:
1736               schema:
1737                 $ref: '#/components/schemas/ArrayOfNsInstance'
1738             application/yaml:
1739               schema:
1740                 $ref: '#/components/schemas/ArrayOfNsInstance'
1741         '400':
1742           $ref: '#/components/responses/BadRequest'
1743         '401':
1744           $ref: '#/components/responses/Unauthorized'
1745         '403':
1746           $ref: '#/components/responses/Forbidden'
1747         '404':
1748           $ref: '#/components/responses/NotFound'
1749         '405':
1750           $ref: '#/components/responses/MethodNotAllowed'
1751         '406':
1752           $ref: '#/components/responses/NotAcceptable'
1753         '409':
1754           $ref: '#/components/responses/Conflict'
1755         '422':
1756           $ref: '#/components/responses/UnprocessableEntity'
1757         '500':
1758           $ref: '#/components/responses/InternalServerError'
1759         '503':
1760           $ref: '#/components/responses/ServiceUnavailable'
1761         '5XX':
1762           $ref: '#/components/responses/UnexpectedError'
1763         default:
1764           $ref: '#/components/responses/UnexpectedError'
1765     post:
1766       tags:
1767         - "NS instances"
1768       summary: Create a new NS instance
1769       description: Create a new NS instance
1770       operationId: createNSinstanceContent
1771       requestBody:
1772         $ref: '#/components/requestBodies/InstantiateNsRequest'
1773       responses:
1774         '201':
1775           description: Created
1776           headers:
1777             Location:
1778               schema:
1779                 type: string
1780                 format: uri
1781           content:
1782             application/json:
1783               schema:
1784                 $ref: '#/components/schemas/CreateNSinstanceContentResponse'
1785             application/yaml:
1786               schema:
1787                 $ref: '#/components/schemas/CreateNSinstanceContentResponse'
1788         '400':
1789           $ref: '#/components/responses/BadRequest'
1790         '401':
1791           $ref: '#/components/responses/Unauthorized'
1792         '403':
1793           $ref: '#/components/responses/Forbidden'
1794         '404':
1795           $ref: '#/components/responses/NotFound'
1796         '405':
1797           $ref: '#/components/responses/MethodNotAllowed'
1798         '406':
1799           $ref: '#/components/responses/NotAcceptable'
1800         '409':
1801           $ref: '#/components/responses/Conflict'
1802         '422':
1803           $ref: '#/components/responses/UnprocessableEntity'
1804         '500':
1805           $ref: '#/components/responses/InternalServerError'
1806         '503':
1807           $ref: '#/components/responses/ServiceUnavailable'
1808         '5XX':
1809           $ref: '#/components/responses/UnexpectedError'
1810         default:
1811           $ref: '#/components/responses/UnexpectedError'
1812   '/nslcm/v1/ns_instances_content/{nsInstanceContentId}':
1813     parameters:
1814       - name: nsInstanceContentId
1815         in: path
1816         required: true
1817         description: NS Instance Content ID
1818         schema:
1819           type: string
1820     get:
1821       tags:
1822         - "NS instances"
1823       summary: Read an individual NS instance resource
1824       description: Read an individual NS instance resource
1825       operationId: getNSinstanceContent
1826       responses:
1827         '200':
1828           description: OK
1829           content:
1830             application/json:
1831               schema:
1832                 $ref: '#/components/schemas/NsInstance'
1833             application/yaml:
1834               schema:
1835                 $ref: '#/components/schemas/NsInstance'
1836         '400':
1837           $ref: '#/components/responses/BadRequest'
1838         '401':
1839           $ref: '#/components/responses/Unauthorized'
1840         '403':
1841           $ref: '#/components/responses/Forbidden'
1842         '404':
1843           $ref: '#/components/responses/NotFound'
1844         '405':
1845           $ref: '#/components/responses/MethodNotAllowed'
1846         '406':
1847           $ref: '#/components/responses/NotAcceptable'
1848         '409':
1849           $ref: '#/components/responses/Conflict'
1850         '422':
1851           $ref: '#/components/responses/UnprocessableEntity'
1852         '500':
1853           $ref: '#/components/responses/InternalServerError'
1854         '503':
1855           $ref: '#/components/responses/ServiceUnavailable'
1856         '5XX':
1857           $ref: '#/components/responses/UnexpectedError'
1858         default:
1859           $ref: '#/components/responses/UnexpectedError'
1860     delete:
1861       tags:
1862         - "NS instances"
1863       summary: Delete an individual NS instance resource
1864       description: Delete an individual NS instance resource
1865       operationId: deleteNSinstanceContent
1866       responses:
1867         '202':
1868           description: Accepted
1869           content:
1870             application/json:
1871               schema:
1872                 $ref: '#/components/schemas/ObjectId'
1873             application/yaml:
1874               schema:
1875                 $ref: '#/components/schemas/ObjectId'
1876         '204':
1877           description: No Content
1878         '400':
1879           $ref: '#/components/responses/BadRequest'
1880         '401':
1881           $ref: '#/components/responses/Unauthorized'
1882         '403':
1883           $ref: '#/components/responses/Forbidden'
1884         '404':
1885           $ref: '#/components/responses/NotFound'
1886         '405':
1887           $ref: '#/components/responses/MethodNotAllowed'
1888         '406':
1889           $ref: '#/components/responses/NotAcceptable'
1890         '409':
1891           $ref: '#/components/responses/Conflict'
1892         '422':
1893           $ref: '#/components/responses/UnprocessableEntity'
1894         '500':
1895           $ref: '#/components/responses/InternalServerError'
1896         '503':
1897           $ref: '#/components/responses/ServiceUnavailable'
1898         '5XX':
1899           $ref: '#/components/responses/UnexpectedError'
1900         default:
1901           $ref: '#/components/responses/UnexpectedError'
1902   '/nslcm/v1/ns_lcm_op_occs':
1903     get:
1904       tags:
1905         - "NS instances"
1906       summary: Query information about multiple NS LCM Operation Occurrences
1907       description: Query information about multiple NS LCM Operation Occurrences
1908       operationId: getNSLCMOpOccs
1909       responses:
1910         '200':
1911           description: OK
1912           content:
1913             application/json:
1914               schema:
1915                 $ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
1916             application/yaml:
1917               schema:
1918                 $ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
1919         '400':
1920           $ref: '#/components/responses/BadRequest'
1921         '401':
1922           $ref: '#/components/responses/Unauthorized'
1923         '403':
1924           $ref: '#/components/responses/Forbidden'
1925         '404':
1926           $ref: '#/components/responses/NotFound'
1927         '405':
1928           $ref: '#/components/responses/MethodNotAllowed'
1929         '406':
1930           $ref: '#/components/responses/NotAcceptable'
1931         '409':
1932           $ref: '#/components/responses/Conflict'
1933         '422':
1934           $ref: '#/components/responses/UnprocessableEntity'
1935         '500':
1936           $ref: '#/components/responses/InternalServerError'
1937         '503':
1938           $ref: '#/components/responses/ServiceUnavailable'
1939         '5XX':
1940           $ref: '#/components/responses/UnexpectedError'
1941         default:
1942           $ref: '#/components/responses/UnexpectedError'
1943   '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}':
1944     parameters:
1945       - name: nsLcmOpOccId
1946         in: path
1947         required: true
1948         description: NS LCM Operation Occurrence ID
1949         schema:
1950           type: string
1951     get:
1952       tags:
1953         - "NS instances"
1954       summary: Query information about an individual NS LCM Operation Occurrence
1955       description: Query information about an individual NS LCM Operation Occurrence
1956       operationId: getNSLCMOpOcc
1957       responses:
1958         '200':
1959           description: OK
1960           content:
1961             application/json:
1962               schema:
1963                 $ref: '#/components/schemas/NsLcmOpOcc'
1964             application/yaml:
1965               schema:
1966                 $ref: '#/components/schemas/NsLcmOpOcc'
1967         '400':
1968           $ref: '#/components/responses/BadRequest'
1969         '401':
1970           $ref: '#/components/responses/Unauthorized'
1971         '403':
1972           $ref: '#/components/responses/Forbidden'
1973         '404':
1974           $ref: '#/components/responses/NotFound'
1975         '405':
1976           $ref: '#/components/responses/MethodNotAllowed'
1977         '406':
1978           $ref: '#/components/responses/NotAcceptable'
1979         '409':
1980           $ref: '#/components/responses/Conflict'
1981         '422':
1982           $ref: '#/components/responses/UnprocessableEntity'
1983         '500':
1984           $ref: '#/components/responses/InternalServerError'
1985         '503':
1986           $ref: '#/components/responses/ServiceUnavailable'
1987         '5XX':
1988           $ref: '#/components/responses/UnexpectedError'
1989         default:
1990           $ref: '#/components/responses/UnexpectedError'
1991   '/nslcm/v1/vnf_instances':
1992     get:
1993       tags:
1994         - "NS instances"
1995       summary: Query information about multiple VNF Instances
1996       description: Query information about multiple VNF Instances
1997       operationId: getVnfInstances
1998       responses:
1999         '200':
2000           description: OK
2001           content:
2002             application/json:
2003               schema:
2004                 $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
2005             application/yaml:
2006               schema:
2007                 $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
2008         '400':
2009           $ref: '#/components/responses/BadRequest'
2010         '401':
2011           $ref: '#/components/responses/Unauthorized'
2012         '403':
2013           $ref: '#/components/responses/Forbidden'
2014         '404':
2015           $ref: '#/components/responses/NotFound'
2016         '405':
2017           $ref: '#/components/responses/MethodNotAllowed'
2018         '406':
2019           $ref: '#/components/responses/NotAcceptable'
2020         '409':
2021           $ref: '#/components/responses/Conflict'
2022         '422':
2023           $ref: '#/components/responses/UnprocessableEntity'
2024         '500':
2025           $ref: '#/components/responses/InternalServerError'
2026         '503':
2027           $ref: '#/components/responses/ServiceUnavailable'
2028         '5XX':
2029           $ref: '#/components/responses/UnexpectedError'
2030         default:
2031           $ref: '#/components/responses/UnexpectedError'
2032   '/nslcm/v1/vnf_instances/{vnfInstanceId}':
2033     parameters:
2034       - name: vnfInstanceId
2035         in: path
2036         required: true
2037         description: VNF Instance ID
2038         schema:
2039           type: string
2040     get:
2041       tags:
2042         - "NS instances"
2043       summary: Query information about an individual VNF Instance
2044       description: Query information about an individual VNF Instance
2045       operationId: getVnfInstance
2046       responses:
2047         '200':
2048           description: OK
2049           content:
2050             application/json:
2051               schema:
2052                 $ref: '#/components/schemas/VnfInstanceInfo'
2053             application/yaml:
2054               schema:
2055                 $ref: '#/components/schemas/VnfInstanceInfo'
2056         '400':
2057           $ref: '#/components/responses/BadRequest'
2058         '401':
2059           $ref: '#/components/responses/Unauthorized'
2060         '403':
2061           $ref: '#/components/responses/Forbidden'
2062         '404':
2063           $ref: '#/components/responses/NotFound'
2064         '405':
2065           $ref: '#/components/responses/MethodNotAllowed'
2066         '406':
2067           $ref: '#/components/responses/NotAcceptable'
2068         '409':
2069           $ref: '#/components/responses/Conflict'
2070         '422':
2071           $ref: '#/components/responses/UnprocessableEntity'
2072         '500':
2073           $ref: '#/components/responses/InternalServerError'
2074         '503':
2075           $ref: '#/components/responses/ServiceUnavailable'
2076         '5XX':
2077           $ref: '#/components/responses/UnexpectedError'
2078         default:
2079           $ref: '#/components/responses/UnexpectedError'
2080 # END NS Instances
2081
2082 # BEGIN NetSlice Templates
2083   '/nst/v1/netslice_templates':
2084     get:
2085       tags:
2086         - "NetSlice templates"
2087       summary: Query information about multiple NetSlice template resources
2088       description: Query information about multiple NetSlice template resources
2089       operationId: getNSTs
2090       responses:
2091         '200':
2092           description: OK
2093           content:
2094             application/json:
2095               schema:
2096                 $ref: '#/components/schemas/ArrayOfNstInfo'
2097             application/yaml:
2098               schema:
2099                 $ref: '#/components/schemas/ArrayOfNstInfo'
2100         '400':
2101           $ref: '#/components/responses/BadRequest'
2102         '401':
2103           $ref: '#/components/responses/Unauthorized'
2104         '403':
2105           $ref: '#/components/responses/Forbidden'
2106         '404':
2107           $ref: '#/components/responses/NotFound'
2108         '405':
2109           $ref: '#/components/responses/MethodNotAllowed'
2110         '406':
2111           $ref: '#/components/responses/NotAcceptable'
2112         '409':
2113           $ref: '#/components/responses/Conflict'
2114         '422':
2115           $ref: '#/components/responses/UnprocessableEntity'
2116         '500':
2117           $ref: '#/components/responses/InternalServerError'
2118         '503':
2119           $ref: '#/components/responses/ServiceUnavailable'
2120         '5XX':
2121           $ref: '#/components/responses/UnexpectedError'
2122         default:
2123           $ref: '#/components/responses/UnexpectedError'
2124     post:
2125       tags:
2126         - "NetSlice templates"
2127       summary: Create a new NetSlice template resource
2128       description: Create a new NetSlice template resource
2129       operationId: addNST
2130       requestBody:
2131         $ref: '#/components/requestBodies/CreateNstInfoRequest'
2132       responses:
2133         '201':
2134           description: Created
2135           headers:
2136             Location:
2137               schema:
2138                 type: string
2139                 format: uri
2140           content:
2141             application/json:
2142               schema:
2143                 $ref: '#/components/schemas/ObjectId'
2144             application/yaml:
2145               schema:
2146                 $ref: '#/components/schemas/ObjectId'
2147         '400':
2148           $ref: '#/components/responses/BadRequest'
2149         '401':
2150           $ref: '#/components/responses/Unauthorized'
2151         '403':
2152           $ref: '#/components/responses/Forbidden'
2153         '404':
2154           $ref: '#/components/responses/NotFound'
2155         '405':
2156           $ref: '#/components/responses/MethodNotAllowed'
2157         '406':
2158           $ref: '#/components/responses/NotAcceptable'
2159         '409':
2160           $ref: '#/components/responses/Conflict'
2161         '422':
2162           $ref: '#/components/responses/UnprocessableEntity'
2163         '500':
2164           $ref: '#/components/responses/InternalServerError'
2165         '503':
2166           $ref: '#/components/responses/ServiceUnavailable'
2167         '5XX':
2168           $ref: '#/components/responses/UnexpectedError'
2169         default:
2170           $ref: '#/components/responses/UnexpectedError'
2171   '/nst/v1/netslice_templates/{netsliceTemplateId}':
2172     parameters:
2173       - name: netsliceTemplateId
2174         in: path
2175         required: true
2176         description: NetSlice Template ID
2177         schema:
2178           type: string
2179     get:
2180       tags:
2181         - "NetSlice templates"
2182       summary: Read information about an individual NetSlice template resource
2183       description: Read information about an individual NetSlice template resource
2184       operationId: getNST
2185       responses:
2186         '200':
2187           description: OK
2188           content:
2189             application/json:
2190               schema:
2191                 $ref: '#/components/schemas/NstInfo'
2192             application/yaml:
2193               schema:
2194                 $ref: '#/components/schemas/NstInfo'
2195         '400':
2196           $ref: '#/components/responses/BadRequest'
2197         '401':
2198           $ref: '#/components/responses/Unauthorized'
2199         '403':
2200           $ref: '#/components/responses/Forbidden'
2201         '404':
2202           $ref: '#/components/responses/NotFound'
2203         '405':
2204           $ref: '#/components/responses/MethodNotAllowed'
2205         '406':
2206           $ref: '#/components/responses/NotAcceptable'
2207         '409':
2208           $ref: '#/components/responses/Conflict'
2209         '422':
2210           $ref: '#/components/responses/UnprocessableEntity'
2211         '500':
2212           $ref: '#/components/responses/InternalServerError'
2213         '503':
2214           $ref: '#/components/responses/ServiceUnavailable'
2215         '5XX':
2216           $ref: '#/components/responses/UnexpectedError'
2217         default:
2218           $ref: '#/components/responses/UnexpectedError'
2219     delete:
2220       tags:
2221         - "NetSlice templates"
2222       summary: Delete an individual NetSlice template resource
2223       description: Delete an individual NetSlice template resource
2224       operationId: deleteNST
2225       responses:
2226         '204':
2227           description: No Content
2228         '400':
2229           $ref: '#/components/responses/BadRequest'
2230         '401':
2231           $ref: '#/components/responses/Unauthorized'
2232         '403':
2233           $ref: '#/components/responses/Forbidden'
2234         '404':
2235           $ref: '#/components/responses/NotFound'
2236         '405':
2237           $ref: '#/components/responses/MethodNotAllowed'
2238         '406':
2239           $ref: '#/components/responses/NotAcceptable'
2240         '409':
2241           $ref: '#/components/responses/Conflict'
2242         '422':
2243           $ref: '#/components/responses/UnprocessableEntity'
2244         '500':
2245           $ref: '#/components/responses/InternalServerError'
2246         '503':
2247           $ref: '#/components/responses/ServiceUnavailable'
2248         '5XX':
2249           $ref: '#/components/responses/UnexpectedError'
2250         default:
2251           $ref: '#/components/responses/UnexpectedError'
2252   '/nst/v1/netslice_templates/{netsliceTemplateId}/artifacts/{artifactPath}':
2253     parameters:
2254       - name: netsliceTemplateId
2255         in: path
2256         required: true
2257         description: NetSlice Template ID
2258         schema:
2259           type: string
2260       - name: artifactPath
2261         in: path
2262         required: true
2263         description: Artifact Path
2264         schema:
2265           type: string
2266     get:
2267       tags:
2268         - "NetSlice templates"
2269       summary: Fetch individual NetSlice Template artifact
2270       description: Fetch individual NetSlice Template artifact
2271       operationId: getNstArtifact
2272       responses:
2273         '200':
2274           description: OK
2275           content:
2276             application/octet-stream:
2277               schema:
2278                 type: string
2279                 format: binary
2280         '206':
2281           description: Partial Content
2282           headers:
2283             Content-Range:
2284               schema:
2285                 type: string
2286           content:
2287             application/octet-stream:
2288               schema:
2289                 type: string
2290                 format: binary
2291         '400':
2292           $ref: '#/components/responses/BadRequest'
2293         '401':
2294           $ref: '#/components/responses/Unauthorized'
2295         '403':
2296           $ref: '#/components/responses/Forbidden'
2297         '404':
2298           $ref: '#/components/responses/NotFound'
2299         '405':
2300           $ref: '#/components/responses/MethodNotAllowed'
2301         '406':
2302           $ref: '#/components/responses/NotAcceptable'
2303         '409':
2304           $ref: '#/components/responses/Conflict'
2305         '422':
2306           $ref: '#/components/responses/UnprocessableEntity'
2307         '500':
2308           $ref: '#/components/responses/InternalServerError'
2309         '503':
2310           $ref: '#/components/responses/ServiceUnavailable'
2311         '5XX':
2312           $ref: '#/components/responses/UnexpectedError'
2313         default:
2314           $ref: '#/components/responses/UnexpectedError'
2315   '/nst/v1/netslice_templates/{netsliceTemplateId}/nst':
2316     parameters:
2317       - name: netsliceTemplateId
2318         in: path
2319         required: true
2320         description: NetSlice Template ID
2321         schema:
2322           type: string
2323     get:
2324       tags:
2325         - "NetSlice templates"
2326       summary: Read NST of an on-boarded NetSlice Template
2327       description: Read NST of an on-boarded NetSlice Template
2328       operationId: getNstNst
2329       responses:
2330         '200':
2331           description: OK
2332           content:
2333             text/plain:
2334               schema:
2335                 $ref: '#/components/schemas/NetSliceTemplate'
2336         '400':
2337           $ref: '#/components/responses/BadRequest'
2338         '401':
2339           $ref: '#/components/responses/Unauthorized'
2340         '403':
2341           $ref: '#/components/responses/Forbidden'
2342         '404':
2343           $ref: '#/components/responses/NotFound'
2344         '405':
2345           $ref: '#/components/responses/MethodNotAllowed'
2346         '406':
2347           $ref: '#/components/responses/NotAcceptable'
2348         '409':
2349           $ref: '#/components/responses/Conflict'
2350         '422':
2351           $ref: '#/components/responses/UnprocessableEntity'
2352         '500':
2353           $ref: '#/components/responses/InternalServerError'
2354         '503':
2355           $ref: '#/components/responses/ServiceUnavailable'
2356         '5XX':
2357           $ref: '#/components/responses/UnexpectedError'
2358         default:
2359           $ref: '#/components/responses/UnexpectedError'
2360   '/nst/v1/netslice_templates/{netsliceTemplateId}/nst_content':
2361     parameters:
2362       - name: netsliceTemplateId
2363         in: path
2364         required: true
2365         description: NetSlice Template ID
2366         schema:
2367           type: string
2368     get:
2369       tags:
2370         - "NetSlice templates"
2371       summary: Fetch the content of a NST
2372       description: Fetch the content of a NST
2373       operationId: getNSTcontent
2374       responses:
2375         '200':
2376           description: OK
2377           content:
2378             application/zip:
2379               schema:
2380                 $ref: '#/components/schemas/NetSlicePackage'
2381         '206':
2382           description: Partial Content
2383           headers:
2384             Content-Range:
2385               schema:
2386                 type: string
2387           content:
2388             application/zip:
2389               schema:
2390                 $ref: '#/components/schemas/NetSlicePackage'
2391         '400':
2392           $ref: '#/components/responses/BadRequest'
2393         '401':
2394           $ref: '#/components/responses/Unauthorized'
2395         '403':
2396           $ref: '#/components/responses/Forbidden'
2397         '404':
2398           $ref: '#/components/responses/NotFound'
2399         '405':
2400           $ref: '#/components/responses/MethodNotAllowed'
2401         '406':
2402           $ref: '#/components/responses/NotAcceptable'
2403         '409':
2404           $ref: '#/components/responses/Conflict'
2405         '422':
2406           $ref: '#/components/responses/UnprocessableEntity'
2407         '500':
2408           $ref: '#/components/responses/InternalServerError'
2409         '503':
2410           $ref: '#/components/responses/ServiceUnavailable'
2411         '5XX':
2412           $ref: '#/components/responses/UnexpectedError'
2413         default:
2414           $ref: '#/components/responses/UnexpectedError'
2415     put:
2416       tags:
2417         - "NetSlice templates"
2418       summary: Upload the content of a NST
2419       description: Upload the content of a NST
2420       operationId: updateNSTcontent
2421       requestBody:
2422         $ref: '#/components/requestBodies/NetSlicePackage'
2423       responses:
2424         '202':
2425           description: Accepted
2426         '204':
2427           description: No Content
2428         '400':
2429           $ref: '#/components/responses/BadRequest'
2430         '401':
2431           $ref: '#/components/responses/Unauthorized'
2432         '403':
2433           $ref: '#/components/responses/Forbidden'
2434         '404':
2435           $ref: '#/components/responses/NotFound'
2436         '405':
2437           $ref: '#/components/responses/MethodNotAllowed'
2438         '406':
2439           $ref: '#/components/responses/NotAcceptable'
2440         '409':
2441           $ref: '#/components/responses/Conflict'
2442         '422':
2443           $ref: '#/components/responses/UnprocessableEntity'
2444         '500':
2445           $ref: '#/components/responses/InternalServerError'
2446         '503':
2447           $ref: '#/components/responses/ServiceUnavailable'
2448         '5XX':
2449           $ref: '#/components/responses/UnexpectedError'
2450         default:
2451           $ref: '#/components/responses/UnexpectedError'
2452   '/nst/v1/netslice_templates_content':
2453     post:
2454       tags:
2455         - "NetSlice templates"
2456       summary: Upload a NetSlice package by providing the content of the NetSlice package
2457       description: Upload a NetSlice package by providing the content of the NetSlice package
2458       operationId: uploadNstContent
2459       requestBody:
2460         content:
2461           application/zip:
2462             schema:
2463               $ref: '#/components/schemas/NetSlicePackage'
2464       responses:
2465         '201':
2466           description: Created
2467           headers:
2468             Location:
2469               schema:
2470                 type: string
2471                 format: uri
2472           content:
2473             application/json:
2474               schema:
2475                 $ref: '#/components/schemas/ObjectId'
2476             application/yaml:
2477               schema:
2478                 $ref: '#/components/schemas/ObjectId'
2479         '202':
2480           description: Accepted
2481         '204':
2482           description: No Content
2483         '400':
2484           $ref: '#/components/responses/BadRequest'
2485         '401':
2486           $ref: '#/components/responses/Unauthorized'
2487         '403':
2488           $ref: '#/components/responses/Forbidden'
2489         '404':
2490           $ref: '#/components/responses/NotFound'
2491         '405':
2492           $ref: '#/components/responses/MethodNotAllowed'
2493         '406':
2494           $ref: '#/components/responses/NotAcceptable'
2495         '409':
2496           $ref: '#/components/responses/Conflict'
2497         '422':
2498           $ref: '#/components/responses/UnprocessableEntity'
2499         '500':
2500           $ref: '#/components/responses/InternalServerError'
2501         '503':
2502           $ref: '#/components/responses/ServiceUnavailable'
2503         '5XX':
2504           $ref: '#/components/responses/UnexpectedError'
2505         default:
2506           $ref: '#/components/responses/UnexpectedError'
2507     get:
2508       tags:
2509         - "NetSlice templates"
2510       summary: Query information about multiple NetSlice Template resources
2511       description: Query information about multiple NetSlice Template resources
2512       operationId: getNstContent
2513       responses:
2514         '200':
2515           description: OK
2516           content:
2517             application/json:
2518               schema:
2519                 $ref: '#/components/schemas/ArrayOfNstInfo'
2520             application/yaml:
2521               schema:
2522                 $ref: '#/components/schemas/ArrayOfNstInfo'
2523         '206':
2524           description: Partial Content
2525           headers:
2526             Content-Range:
2527               schema:
2528                 type: string
2529           content:
2530             application/octet-stream:
2531               schema:
2532                 type: string
2533                 format: binary
2534         '400':
2535           $ref: '#/components/responses/BadRequest'
2536         '401':
2537           $ref: '#/components/responses/Unauthorized'
2538         '403':
2539           $ref: '#/components/responses/Forbidden'
2540         '404':
2541           $ref: '#/components/responses/NotFound'
2542         '405':
2543           $ref: '#/components/responses/MethodNotAllowed'
2544         '406':
2545           $ref: '#/components/responses/NotAcceptable'
2546         '409':
2547           $ref: '#/components/responses/Conflict'
2548         '422':
2549           $ref: '#/components/responses/UnprocessableEntity'
2550         '500':
2551           $ref: '#/components/responses/InternalServerError'
2552         '503':
2553           $ref: '#/components/responses/ServiceUnavailable'
2554         '5XX':
2555           $ref: '#/components/responses/UnexpectedError'
2556         default:
2557           $ref: '#/components/responses/UnexpectedError'
2558   '/nst/v1/netslice_templates_content/{netsliceTemplateContentId}':
2559     parameters:
2560       - name: netsliceTemplateContentId
2561         in: path
2562         required: true
2563         description: NetSlice Template ID
2564         schema:
2565           type: string
2566     get:
2567       tags:
2568         - "NetSlice templates"
2569       summary: Read information about an individual NetSlice Template resource
2570       description: Read information about an individual NetSlice Template resource
2571       operationId: getNstIdContent
2572       responses:
2573         '200':
2574           description: OK
2575           content:
2576             application/json:
2577               schema:
2578                 $ref: '#/components/schemas/NstInfo'
2579             application/yaml:
2580               schema:
2581                 $ref: '#/components/schemas/NstInfo'
2582         '400':
2583           $ref: '#/components/responses/BadRequest'
2584         '401':
2585           $ref: '#/components/responses/Unauthorized'
2586         '403':
2587           $ref: '#/components/responses/Forbidden'
2588         '404':
2589           $ref: '#/components/responses/NotFound'
2590         '405':
2591           $ref: '#/components/responses/MethodNotAllowed'
2592         '406':
2593           $ref: '#/components/responses/NotAcceptable'
2594         '409':
2595           $ref: '#/components/responses/Conflict'
2596         '422':
2597           $ref: '#/components/responses/UnprocessableEntity'
2598         '500':
2599           $ref: '#/components/responses/InternalServerError'
2600         '503':
2601           $ref: '#/components/responses/ServiceUnavailable'
2602         '5XX':
2603           $ref: '#/components/responses/UnexpectedError'
2604         default:
2605           $ref: '#/components/responses/UnexpectedError'
2606     put:
2607       tags:
2608         - "NetSlice templates"
2609       summary: Modify an individual NetSlice Template resource
2610       description: Modify an individual NetSlice Template resource
2611       operationId: updateNstIdContent
2612       requestBody:
2613         $ref: '#/components/requestBodies/NstInfoModifications'
2614       responses:
2615         '204':
2616           description: No Content
2617         '400':
2618           $ref: '#/components/responses/BadRequest'
2619         '401':
2620           $ref: '#/components/responses/Unauthorized'
2621         '403':
2622           $ref: '#/components/responses/Forbidden'
2623         '404':
2624           $ref: '#/components/responses/NotFound'
2625         '405':
2626           $ref: '#/components/responses/MethodNotAllowed'
2627         '406':
2628           $ref: '#/components/responses/NotAcceptable'
2629         '409':
2630           $ref: '#/components/responses/Conflict'
2631         '422':
2632           $ref: '#/components/responses/UnprocessableEntity'
2633         '500':
2634           $ref: '#/components/responses/InternalServerError'
2635         '503':
2636           $ref: '#/components/responses/ServiceUnavailable'
2637         '5XX':
2638           $ref: '#/components/responses/UnexpectedError'
2639         default:
2640           $ref: '#/components/responses/UnexpectedError'
2641     delete:
2642       tags:
2643         - "NetSlice templates"
2644       summary: Delete an individual NetSlice Template resource
2645       description: Delete an individual NetSlice Template resource
2646       operationId: deleteNstIdContent
2647       responses:
2648         '204':
2649           description: No Content
2650         '400':
2651           $ref: '#/components/responses/BadRequest'
2652         '401':
2653           $ref: '#/components/responses/Unauthorized'
2654         '403':
2655           $ref: '#/components/responses/Forbidden'
2656         '404':
2657           $ref: '#/components/responses/NotFound'
2658         '405':
2659           $ref: '#/components/responses/MethodNotAllowed'
2660         '406':
2661           $ref: '#/components/responses/NotAcceptable'
2662         '409':
2663           $ref: '#/components/responses/Conflict'
2664         '422':
2665           $ref: '#/components/responses/UnprocessableEntity'
2666         '500':
2667           $ref: '#/components/responses/InternalServerError'
2668         '503':
2669           $ref: '#/components/responses/ServiceUnavailable'
2670         '5XX':
2671           $ref: '#/components/responses/UnexpectedError'
2672         default:
2673           $ref: '#/components/responses/UnexpectedError'
2674 # END NetSlice Templates
2675
2676 # BEGIN NetSlice Instances
2677   '/nsilcm/v1/netslice_instances':
2678     get:
2679       tags:
2680         - "NetSlice instances"
2681       summary: Query information about multiple NetSlice instances
2682       description: Query information about multiple NetSlice isntances
2683       operationId: getNSIs
2684       responses:
2685         '200':
2686           description: OK
2687           content:
2688             application/json:
2689               schema:
2690                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
2691             application/yaml:
2692               schema:
2693                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
2694         '400':
2695           $ref: '#/components/responses/BadRequest'
2696         '401':
2697           $ref: '#/components/responses/Unauthorized'
2698         '403':
2699           $ref: '#/components/responses/Forbidden'
2700         '404':
2701           $ref: '#/components/responses/NotFound'
2702         '405':
2703           $ref: '#/components/responses/MethodNotAllowed'
2704         '406':
2705           $ref: '#/components/responses/NotAcceptable'
2706         '409':
2707           $ref: '#/components/responses/Conflict'
2708         '422':
2709           $ref: '#/components/responses/UnprocessableEntity'
2710         '500':
2711           $ref: '#/components/responses/InternalServerError'
2712         '503':
2713           $ref: '#/components/responses/ServiceUnavailable'
2714         '5XX':
2715           $ref: '#/components/responses/UnexpectedError'
2716         default:
2717           $ref: '#/components/responses/UnexpectedError'
2718     post:
2719       tags:
2720         - "NetSlice instances"
2721       summary: Create a new NetSlice instance resource
2722       description: Create a new NetSlice instance resource
2723       operationId: addNSI
2724       requestBody:
2725         $ref: '#/components/requestBodies/InstantiateNsiRequest'
2726       responses:
2727         '201':
2728           description: Created
2729           headers:
2730             Location:
2731               schema:
2732                 type: string
2733                 format: uri
2734           content:
2735             application/json:
2736               schema:
2737                 $ref: '#/components/schemas/ObjectId'
2738             application/yaml:
2739               schema:
2740                 $ref: '#/components/schemas/ObjectId'
2741         '400':
2742           $ref: '#/components/responses/BadRequest'
2743         '401':
2744           $ref: '#/components/responses/Unauthorized'
2745         '403':
2746           $ref: '#/components/responses/Forbidden'
2747         '404':
2748           $ref: '#/components/responses/NotFound'
2749         '405':
2750           $ref: '#/components/responses/MethodNotAllowed'
2751         '406':
2752           $ref: '#/components/responses/NotAcceptable'
2753         '409':
2754           $ref: '#/components/responses/Conflict'
2755         '422':
2756           $ref: '#/components/responses/UnprocessableEntity'
2757         '500':
2758           $ref: '#/components/responses/InternalServerError'
2759         '503':
2760           $ref: '#/components/responses/ServiceUnavailable'
2761         '5XX':
2762           $ref: '#/components/responses/UnexpectedError'
2763         default:
2764           $ref: '#/components/responses/UnexpectedError'
2765   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}':
2766     parameters:
2767       - name: netsliceInstanceId
2768         in: path
2769         required: true
2770         description: NetSlice Instance ID
2771         schema:
2772           type: string
2773     get:
2774       tags:
2775         - "NetSlice instances"
2776       summary: Read an individual NetSlice instance resource
2777       description: Read an individual NetSlice instance resource
2778       operationId: getNSI
2779       responses:
2780         '200':
2781           description: OK
2782           content:
2783             application/json:
2784               schema:
2785                 $ref: '#/components/schemas/NetSliceInstance'
2786             application/yaml:
2787               schema:
2788                 $ref: '#/components/schemas/NetSliceInstance'
2789         '400':
2790           $ref: '#/components/responses/BadRequest'
2791         '401':
2792           $ref: '#/components/responses/Unauthorized'
2793         '403':
2794           $ref: '#/components/responses/Forbidden'
2795         '404':
2796           $ref: '#/components/responses/NotFound'
2797         '405':
2798           $ref: '#/components/responses/MethodNotAllowed'
2799         '406':
2800           $ref: '#/components/responses/NotAcceptable'
2801         '409':
2802           $ref: '#/components/responses/Conflict'
2803         '422':
2804           $ref: '#/components/responses/UnprocessableEntity'
2805         '500':
2806           $ref: '#/components/responses/InternalServerError'
2807         '503':
2808           $ref: '#/components/responses/ServiceUnavailable'
2809         '5XX':
2810           $ref: '#/components/responses/UnexpectedError'
2811         default:
2812           $ref: '#/components/responses/UnexpectedError'
2813     delete:
2814       tags:
2815         - "NetSlice instances"
2816       summary: Delete an individual NetSlice instance resource
2817       description: Delete an individual NetSlice instance resource
2818       operationId: deleteNSI
2819       responses:
2820         '204':
2821           description: No Content
2822         '400':
2823           $ref: '#/components/responses/BadRequest'
2824         '401':
2825           $ref: '#/components/responses/Unauthorized'
2826         '403':
2827           $ref: '#/components/responses/Forbidden'
2828         '404':
2829           $ref: '#/components/responses/NotFound'
2830         '405':
2831           $ref: '#/components/responses/MethodNotAllowed'
2832         '406':
2833           $ref: '#/components/responses/NotAcceptable'
2834         '409':
2835           $ref: '#/components/responses/Conflict'
2836         '422':
2837           $ref: '#/components/responses/UnprocessableEntity'
2838         '500':
2839           $ref: '#/components/responses/InternalServerError'
2840         '503':
2841           $ref: '#/components/responses/ServiceUnavailable'
2842         '5XX':
2843           $ref: '#/components/responses/UnexpectedError'
2844         default:
2845           $ref: '#/components/responses/UnexpectedError'
2846   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/instantiate':
2847     parameters:
2848       - name: netsliceInstanceId
2849         in: path
2850         required: true
2851         description: NetSlice Instance ID
2852         schema:
2853           type: string
2854     post:
2855       tags:
2856         - "NetSlice instances"
2857       summary: Instantiate a NetSlice
2858       description: |
2859         Instantiate a NetSlice. The precondition is that the NetSlice instance
2860         must have been created and must be in NOT_INSTANTIATED state. As a result
2861         of the success of this operation, the NFVO creates a "NetSlice Lifecycle
2862         Operation Occurrence" resource for the request, and the NS instance state
2863         becomes INSTANTIATED.
2864       operationId: instantiateNSI
2865       requestBody:
2866         $ref: '#/components/requestBodies/InstantiateNsiRequest'
2867       responses:
2868         '202':
2869           description: Accepted
2870           headers:
2871             Location:
2872               description: |
2873                 It must point to the new "NetSlice Lifecycle Operation Occurrence"
2874                 resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
2875               schema:
2876                 type: string
2877                 format: uri
2878           content:
2879             application/json:
2880               schema:
2881                 $ref: '#/components/schemas/ObjectId'
2882             application/yaml:
2883               schema:
2884                 $ref: '#/components/schemas/ObjectId'
2885         '400':
2886           $ref: '#/components/responses/BadRequest'
2887         '401':
2888           $ref: '#/components/responses/Unauthorized'
2889         '403':
2890           $ref: '#/components/responses/Forbidden'
2891         '404':
2892           $ref: '#/components/responses/NotFound'
2893         '405':
2894           $ref: '#/components/responses/MethodNotAllowed'
2895         '406':
2896           $ref: '#/components/responses/NotAcceptable'
2897         '409':
2898           $ref: '#/components/responses/Conflict'
2899         '422':
2900           $ref: '#/components/responses/UnprocessableEntity'
2901         '500':
2902           $ref: '#/components/responses/InternalServerError'
2903         '503':
2904           $ref: '#/components/responses/ServiceUnavailable'
2905         '5XX':
2906           $ref: '#/components/responses/UnexpectedError'
2907         default:
2908           $ref: '#/components/responses/UnexpectedError'
2909   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/terminate':
2910     parameters:
2911       - name: netsliceInstanceId
2912         in: path
2913         required: true
2914         description: NetSlice Instance ID
2915         schema:
2916           type: string
2917     post:
2918       tags:
2919         - "NetSlice instances"
2920       summary: Terminate a NetSlice instance
2921       description: |
2922         Terminate a NetSlice instance. The precondition is that the NetSlice instance
2923         must have been created and must be in INSTANTIATED state. As a result of the
2924         success of this operation, the NFVO creates a "NetSlice Lifecycle Operation
2925         Occurrence" resource for the request, and the NetSlice instance state becomes
2926         NOT_INSTANTIATED.
2927       operationId: terminateNSI
2928       requestBody:
2929         # Request data is not required
2930         $ref: '#/components/requestBodies/TerminateNsiRequest'
2931       responses:
2932         '202':
2933           description: Accepted
2934           headers:
2935             Location:
2936               description: |
2937                 It must point to the new "NetSlice Lifecycle Operation Occurrence"
2938                 resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
2939               schema:
2940                 type: string
2941                 format: uri
2942           content:
2943             application/json:
2944               schema:
2945                 $ref: '#/components/schemas/ObjectId'
2946             application/yaml:
2947               schema:
2948                 $ref: '#/components/schemas/ObjectId'
2949         '400':
2950           $ref: '#/components/responses/BadRequest'
2951         '401':
2952           $ref: '#/components/responses/Unauthorized'
2953         '403':
2954           $ref: '#/components/responses/Forbidden'
2955         '404':
2956           $ref: '#/components/responses/NotFound'
2957         '405':
2958           $ref: '#/components/responses/MethodNotAllowed'
2959         '406':
2960           $ref: '#/components/responses/NotAcceptable'
2961         '409':
2962           $ref: '#/components/responses/Conflict'
2963         '422':
2964           $ref: '#/components/responses/UnprocessableEntity'
2965         '500':
2966           $ref: '#/components/responses/InternalServerError'
2967         '503':
2968           $ref: '#/components/responses/ServiceUnavailable'
2969         '5XX':
2970           $ref: '#/components/responses/UnexpectedError'
2971         default:
2972           $ref: '#/components/responses/UnexpectedError'
2973   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/action':
2974     parameters:
2975       - name: netsliceInstanceId
2976         in: path
2977         required: true
2978         description: NetSlice Instance ID
2979         schema:
2980           type: string
2981     post:
2982       tags:
2983         - "NetSlice instances"
2984       summary: Execute an action on a NetSlice instance
2985       description: |
2986         Execute an action on a NetSlice instance.
2987         The NetSlice instance must have been created and must be in INSTANTIATED state.
2988       operationId: actionOnNSI
2989       requestBody:
2990         content:
2991           application/json:
2992             schema:
2993               $ref: '#/components/schemas/NsiActionRequest'
2994           application/yaml:
2995             schema:
2996               $ref: '#/components/schemas/NsiActionRequest'
2997       responses:
2998         '202':
2999           description: Accepted
3000           headers:
3001             Location:
3002               description: |
3003                 It must point to the new "NS Lifecycle Operation Occurrence"
3004                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
3005               schema:
3006                 type: string
3007                 format: uri
3008           content:
3009             application/json:
3010               schema:
3011                 $ref: '#/components/schemas/ObjectId'
3012             application/yaml:
3013               schema:
3014                 $ref: '#/components/schemas/ObjectId'
3015         '400':
3016           $ref: '#/components/responses/BadRequest'
3017         '401':
3018           $ref: '#/components/responses/Unauthorized'
3019         '403':
3020           $ref: '#/components/responses/Forbidden'
3021         '404':
3022           $ref: '#/components/responses/NotFound'
3023         '405':
3024           $ref: '#/components/responses/MethodNotAllowed'
3025         '406':
3026           $ref: '#/components/responses/NotAcceptable'
3027         '409':
3028           $ref: '#/components/responses/Conflict'
3029         '422':
3030           $ref: '#/components/responses/UnprocessableEntity'
3031         '500':
3032           $ref: '#/components/responses/InternalServerError'
3033         '503':
3034           $ref: '#/components/responses/ServiceUnavailable'
3035         '5XX':
3036           $ref: '#/components/responses/UnexpectedError'
3037         default:
3038           $ref: '#/components/responses/UnexpectedError'
3039   '/nsilcm/v1/netslice_instances_content':
3040     get:
3041       tags:
3042         - "NetSlice instances"
3043       summary: Query information about multiple NetSlice instances
3044       description: Query information about multiple NetSlice isntances
3045       operationId: getNSIsContent
3046       responses:
3047         '200':
3048           description: OK
3049           content:
3050             application/json:
3051               schema:
3052                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3053             application/yaml:
3054               schema:
3055                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3056         '400':
3057           $ref: '#/components/responses/BadRequest'
3058         '401':
3059           $ref: '#/components/responses/Unauthorized'
3060         '403':
3061           $ref: '#/components/responses/Forbidden'
3062         '404':
3063           $ref: '#/components/responses/NotFound'
3064         '405':
3065           $ref: '#/components/responses/MethodNotAllowed'
3066         '406':
3067           $ref: '#/components/responses/NotAcceptable'
3068         '409':
3069           $ref: '#/components/responses/Conflict'
3070         '422':
3071           $ref: '#/components/responses/UnprocessableEntity'
3072         '500':
3073           $ref: '#/components/responses/InternalServerError'
3074         '503':
3075           $ref: '#/components/responses/ServiceUnavailable'
3076         '5XX':
3077           $ref: '#/components/responses/UnexpectedError'
3078         default:
3079           $ref: '#/components/responses/UnexpectedError'
3080     post:
3081       tags:
3082         - "NetSlice instances"
3083       summary: Create a new NetSlice instance
3084       description: Create a new NetSlice instance
3085       operationId: createNSIContent
3086       requestBody:
3087         $ref: '#/components/requestBodies/InstantiateNsiRequest'
3088       responses:
3089         '201':
3090           description: Created
3091           headers:
3092             Location:
3093               schema:
3094                 type: string
3095                 format: uri
3096           content:
3097             application/json:
3098               schema:
3099                 $ref: '#/components/schemas/CreateNsiContentResponse'
3100             application/yaml:
3101               schema:
3102                 $ref: '#/components/schemas/CreateNsiContentResponse'
3103         '400':
3104           $ref: '#/components/responses/BadRequest'
3105         '401':
3106           $ref: '#/components/responses/Unauthorized'
3107         '403':
3108           $ref: '#/components/responses/Forbidden'
3109         '404':
3110           $ref: '#/components/responses/NotFound'
3111         '405':
3112           $ref: '#/components/responses/MethodNotAllowed'
3113         '406':
3114           $ref: '#/components/responses/NotAcceptable'
3115         '409':
3116           $ref: '#/components/responses/Conflict'
3117         '422':
3118           $ref: '#/components/responses/UnprocessableEntity'
3119         '500':
3120           $ref: '#/components/responses/InternalServerError'
3121         '503':
3122           $ref: '#/components/responses/ServiceUnavailable'
3123         '5XX':
3124           $ref: '#/components/responses/UnexpectedError'
3125         default:
3126           $ref: '#/components/responses/UnexpectedError'
3127   '/nsilcm/v1/netslice_instances_content/{netsliceInstanceContentId}':
3128     parameters:
3129       - name: netsliceInstanceContentId
3130         in: path
3131         required: true
3132         description: NetSlice Instance Content ID
3133         schema:
3134           type: string
3135     get:
3136       tags:
3137         - "NetSlice instances"
3138       summary: Read an individual NetSlice instance resource
3139       description: Read an individual NetSlice instance resource
3140       operationId: getNSIContent
3141       responses:
3142         '200':
3143           description: OK
3144           content:
3145             application/json:
3146               schema:
3147                 $ref: '#/components/schemas/NetSliceInstance'
3148             application/yaml:
3149               schema:
3150                 $ref: '#/components/schemas/NetSliceInstance'
3151         '400':
3152           $ref: '#/components/responses/BadRequest'
3153         '401':
3154           $ref: '#/components/responses/Unauthorized'
3155         '403':
3156           $ref: '#/components/responses/Forbidden'
3157         '404':
3158           $ref: '#/components/responses/NotFound'
3159         '405':
3160           $ref: '#/components/responses/MethodNotAllowed'
3161         '406':
3162           $ref: '#/components/responses/NotAcceptable'
3163         '409':
3164           $ref: '#/components/responses/Conflict'
3165         '422':
3166           $ref: '#/components/responses/UnprocessableEntity'
3167         '500':
3168           $ref: '#/components/responses/InternalServerError'
3169         '503':
3170           $ref: '#/components/responses/ServiceUnavailable'
3171         '5XX':
3172           $ref: '#/components/responses/UnexpectedError'
3173         default:
3174           $ref: '#/components/responses/UnexpectedError'
3175     delete:
3176       tags:
3177         - "NetSlice instances"
3178       summary: Delete an individual NS instance resource
3179       description: Delete an individual NS instance resource
3180       operationId: deleteNSIContent
3181       responses:
3182         '202':
3183           description: Accepted
3184           content:
3185             application/json:
3186               schema:
3187                 $ref: '#/components/schemas/ObjectId'
3188             application/yaml:
3189               schema:
3190                 $ref: '#/components/schemas/ObjectId'
3191         '204':
3192           description: No Content
3193         '400':
3194           $ref: '#/components/responses/BadRequest'
3195         '401':
3196           $ref: '#/components/responses/Unauthorized'
3197         '403':
3198           $ref: '#/components/responses/Forbidden'
3199         '404':
3200           $ref: '#/components/responses/NotFound'
3201         '405':
3202           $ref: '#/components/responses/MethodNotAllowed'
3203         '406':
3204           $ref: '#/components/responses/NotAcceptable'
3205         '409':
3206           $ref: '#/components/responses/Conflict'
3207         '422':
3208           $ref: '#/components/responses/UnprocessableEntity'
3209         '500':
3210           $ref: '#/components/responses/InternalServerError'
3211         '503':
3212           $ref: '#/components/responses/ServiceUnavailable'
3213         '5XX':
3214           $ref: '#/components/responses/UnexpectedError'
3215         default:
3216           $ref: '#/components/responses/UnexpectedError'
3217   '/nsilcm/v1/nsi_lcm_op_occs':
3218     get:
3219       tags:
3220         - "NetSlice instances"
3221       summary: Query information about multiple NetSlice LCM Operation Occurrences
3222       description: Query information about multiple NetSlice LCM Operation Occurrences
3223       operationId: getNsiLcmOpOccs
3224       responses:
3225         '200':
3226           description: OK
3227           content:
3228             application/json:
3229               schema:
3230                 $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
3231             application/yaml:
3232               schema:
3233                 $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
3234         '400':
3235           $ref: '#/components/responses/BadRequest'
3236         '401':
3237           $ref: '#/components/responses/Unauthorized'
3238         '403':
3239           $ref: '#/components/responses/Forbidden'
3240         '404':
3241           $ref: '#/components/responses/NotFound'
3242         '405':
3243           $ref: '#/components/responses/MethodNotAllowed'
3244         '406':
3245           $ref: '#/components/responses/NotAcceptable'
3246         '409':
3247           $ref: '#/components/responses/Conflict'
3248         '422':
3249           $ref: '#/components/responses/UnprocessableEntity'
3250         '500':
3251           $ref: '#/components/responses/InternalServerError'
3252         '503':
3253           $ref: '#/components/responses/ServiceUnavailable'
3254         '5XX':
3255           $ref: '#/components/responses/UnexpectedError'
3256         default:
3257           $ref: '#/components/responses/UnexpectedError'
3258   '/nsilcm/v1/nsi_lcm_op_occs/{nsiLcmOpOccId}':
3259     parameters:
3260       - name: nsiLcmOpOccId
3261         in: path
3262         required: true
3263         description: NetSlice LCM Operation Occurrence ID
3264         schema:
3265           type: string
3266     get:
3267       tags:
3268         - "NetSlice instances"
3269       summary: Query information about an individual NetSlice LCM Operation Occurrence
3270       description: Query information about an individual NetSlice LCM Operation Occurrence
3271       operationId: getNsiLcmOpOcc
3272       responses:
3273         '200':
3274           description: OK
3275           content:
3276             application/json:
3277               schema:
3278                 $ref: '#/components/schemas/NsiLcmOpOcc'
3279             application/yaml:
3280               schema:
3281                 $ref: '#/components/schemas/NsiLcmOpOcc'
3282         '400':
3283           $ref: '#/components/responses/BadRequest'
3284         '401':
3285           $ref: '#/components/responses/Unauthorized'
3286         '403':
3287           $ref: '#/components/responses/Forbidden'
3288         '404':
3289           $ref: '#/components/responses/NotFound'
3290         '405':
3291           $ref: '#/components/responses/MethodNotAllowed'
3292         '406':
3293           $ref: '#/components/responses/NotAcceptable'
3294         '409':
3295           $ref: '#/components/responses/Conflict'
3296         '422':
3297           $ref: '#/components/responses/UnprocessableEntity'
3298         '500':
3299           $ref: '#/components/responses/InternalServerError'
3300         '503':
3301           $ref: '#/components/responses/ServiceUnavailable'
3302         '5XX':
3303           $ref: '#/components/responses/UnexpectedError'
3304         default:
3305           $ref: '#/components/responses/UnexpectedError'
3306 # END NetSlice Instances
3307
3308 # BEGIN NSPM
3309   '/nspm/v1/pm_jobs/{pmJobId}/reports/{nsId}':
3310     parameters:
3311       - name: pmJobId
3312         in: path
3313         required: true
3314         description: NS PM Job ID
3315         schema:
3316           type: string
3317       - name: nsId
3318         in: path
3319         required: true
3320         description: NS ID
3321         schema:
3322           type: string
3323     get:
3324       tags:
3325         - "NSPM"
3326       summary: Query information about an individual NS PM Job Report
3327       description: Query information about an individual NS PM Job Report
3328       operationId: getNsPmJobReport
3329       responses:
3330         '200':
3331           description: OK
3332           content:
3333             application/json:
3334               schema:
3335                 $ref: '#/components/schemas/NsPmJobReportInfo'
3336             application/yaml:
3337               schema:
3338                 $ref: '#/components/schemas/NsPmJobReportInfo'
3339         '400':
3340           $ref: '#/components/responses/BadRequest'
3341         '401':
3342           $ref: '#/components/responses/Unauthorized'
3343         '403':
3344           $ref: '#/components/responses/Forbidden'
3345         '404':
3346           $ref: '#/components/responses/NotFound'
3347         '405':
3348           $ref: '#/components/responses/MethodNotAllowed'
3349         '406':
3350           $ref: '#/components/responses/NotAcceptable'
3351         '409':
3352           $ref: '#/components/responses/Conflict'
3353         '422':
3354           $ref: '#/components/responses/UnprocessableEntity'
3355         '500':
3356           $ref: '#/components/responses/InternalServerError'
3357         '503':
3358           $ref: '#/components/responses/ServiceUnavailable'
3359         '5XX':
3360           $ref: '#/components/responses/UnexpectedError'
3361         default:
3362           $ref: '#/components/responses/UnexpectedError'
3363 # END NSPM
3364
3365 # BEGIN PDU
3366   '/pdu/v1/pdu_descriptors':
3367     get:
3368       tags:
3369         - "PDU"
3370       summary: Query information about multiple PDU Descriptors
3371       description: Query information about multiple PDU Descriptors
3372       operationId: getPDUs
3373       responses:
3374         '200':
3375           description: OK
3376           content:
3377             application/json:
3378               schema:
3379                 $ref: '#/components/schemas/ArrayOfPduInfo'
3380             application/yaml:
3381               schema:
3382                 $ref: '#/components/schemas/ArrayOfPduInfo'
3383         '400':
3384           $ref: '#/components/responses/BadRequest'
3385         '401':
3386           $ref: '#/components/responses/Unauthorized'
3387         '403':
3388           $ref: '#/components/responses/Forbidden'
3389         '404':
3390           $ref: '#/components/responses/NotFound'
3391         '405':
3392           $ref: '#/components/responses/MethodNotAllowed'
3393         '406':
3394           $ref: '#/components/responses/NotAcceptable'
3395         '409':
3396           $ref: '#/components/responses/Conflict'
3397         '422':
3398           $ref: '#/components/responses/UnprocessableEntity'
3399         '500':
3400           $ref: '#/components/responses/InternalServerError'
3401         '503':
3402           $ref: '#/components/responses/ServiceUnavailable'
3403         '5XX':
3404           $ref: '#/components/responses/UnexpectedError'
3405         default:
3406           $ref: '#/components/responses/UnexpectedError'
3407     post:
3408       tags:
3409         - "PDU"
3410       summary: Create a new PDU
3411       description: Create a new PDU Descriptor
3412       operationId: createPDU
3413       requestBody:
3414         $ref: '#/components/requestBodies/CreatePduRequest'
3415       responses:
3416         '200':
3417           description: OK
3418           headers:
3419             Location:
3420               schema:
3421                 type: string
3422                 format: uri
3423           content:
3424             application/json:
3425               schema:
3426                 $ref: '#/components/schemas/ObjectId'
3427             application/yaml:
3428               schema:
3429                 $ref: '#/components/schemas/ObjectId'
3430         '400':
3431           $ref: '#/components/responses/BadRequest'
3432         '401':
3433           $ref: '#/components/responses/Unauthorized'
3434         '403':
3435           $ref: '#/components/responses/Forbidden'
3436         '404':
3437           $ref: '#/components/responses/NotFound'
3438         '405':
3439           $ref: '#/components/responses/MethodNotAllowed'
3440         '406':
3441           $ref: '#/components/responses/NotAcceptable'
3442         '409':
3443           $ref: '#/components/responses/Conflict'
3444         '422':
3445           $ref: '#/components/responses/UnprocessableEntity'
3446         '500':
3447           $ref: '#/components/responses/InternalServerError'
3448         '503':
3449           $ref: '#/components/responses/ServiceUnavailable'
3450         '5XX':
3451           $ref: '#/components/responses/UnexpectedError'
3452         default:
3453           $ref: '#/components/responses/UnexpectedError'
3454   '/pdu/v1/pdu_descriptors/{pduDescriptorId}':
3455     parameters:
3456       - name: pduDescriptorId
3457         in: path
3458         required: true
3459         description: PDU Descriptor ID
3460         schema:
3461           type: string
3462     get:
3463       tags:
3464         - "PDU"
3465       summary: Query information about an individual PDU Descriptor
3466       description: Query information about an individual PDU Descriptor
3467       operationId: getPDU
3468       responses:
3469         '200':
3470           description: OK
3471           content:
3472             application/json:
3473               schema:
3474                 $ref: '#/components/schemas/PduInfo'
3475             application/yaml:
3476               schema:
3477                 $ref: '#/components/schemas/PduInfo'
3478         '400':
3479           $ref: '#/components/responses/BadRequest'
3480         '401':
3481           $ref: '#/components/responses/Unauthorized'
3482         '403':
3483           $ref: '#/components/responses/Forbidden'
3484         '404':
3485           $ref: '#/components/responses/NotFound'
3486         '405':
3487           $ref: '#/components/responses/MethodNotAllowed'
3488         '406':
3489           $ref: '#/components/responses/NotAcceptable'
3490         '409':
3491           $ref: '#/components/responses/Conflict'
3492         '422':
3493           $ref: '#/components/responses/UnprocessableEntity'
3494         '500':
3495           $ref: '#/components/responses/InternalServerError'
3496         '503':
3497           $ref: '#/components/responses/ServiceUnavailable'
3498         '5XX':
3499           $ref: '#/components/responses/UnexpectedError'
3500         default:
3501           $ref: '#/components/responses/UnexpectedError'
3502     patch:
3503       tags:
3504         - "PDU"
3505       summary: Modify an individual PDU Descriptor
3506       description: Modify an individual PDU Descriptor
3507       operationId: editPDU
3508       requestBody:
3509         $ref: '#/components/requestBodies/EditPduRequest'
3510       responses:
3511         '204':
3512           description: No Content
3513         '400':
3514           $ref: '#/components/responses/BadRequest'
3515         '401':
3516           $ref: '#/components/responses/Unauthorized'
3517         '403':
3518           $ref: '#/components/responses/Forbidden'
3519         '404':
3520           $ref: '#/components/responses/NotFound'
3521         '405':
3522           $ref: '#/components/responses/MethodNotAllowed'
3523         '406':
3524           $ref: '#/components/responses/NotAcceptable'
3525         '409':
3526           $ref: '#/components/responses/Conflict'
3527         '422':
3528           $ref: '#/components/responses/UnprocessableEntity'
3529         '500':
3530           $ref: '#/components/responses/InternalServerError'
3531         '503':
3532           $ref: '#/components/responses/ServiceUnavailable'
3533         '5XX':
3534           $ref: '#/components/responses/UnexpectedError'
3535         default:
3536           $ref: '#/components/responses/UnexpectedError'
3537     delete:
3538       tags:
3539         - "PDU"
3540       summary: Delete an individual PDU Descriptor
3541       description: Delete an individual PDU Descriptor
3542       operationId: deletePDU
3543       responses:
3544         '204':
3545           description: No Content
3546         '400':
3547           $ref: '#/components/responses/BadRequest'
3548         '401':
3549           $ref: '#/components/responses/Unauthorized'
3550         '403':
3551           $ref: '#/components/responses/Forbidden'
3552         '404':
3553           $ref: '#/components/responses/NotFound'
3554         '405':
3555           $ref: '#/components/responses/MethodNotAllowed'
3556         '406':
3557           $ref: '#/components/responses/NotAcceptable'
3558         '409':
3559           $ref: '#/components/responses/Conflict'
3560         '422':
3561           $ref: '#/components/responses/UnprocessableEntity'
3562         '500':
3563           $ref: '#/components/responses/InternalServerError'
3564         '503':
3565           $ref: '#/components/responses/ServiceUnavailable'
3566         '5XX':
3567           $ref: '#/components/responses/UnexpectedError'
3568         default:
3569           $ref: '#/components/responses/UnexpectedError'
3570 # END PDU
3571
3572 # BEGIN Admin
3573   '/admin/v1/tokens':
3574     get:
3575       tags:
3576         - "Admin"
3577       summary: Query information about multiple Tokens
3578       description: Query information about multiple Tokens
3579       operationId: getTokens
3580       responses:
3581         '200':
3582           description: OK
3583           content:
3584             application/json:
3585               schema:
3586                 $ref: '#/components/schemas/ArrayOfTokenInfo'
3587             application/yaml:
3588               schema:
3589                 $ref: '#/components/schemas/ArrayOfTokenInfo'
3590         '400':
3591           $ref: '#/components/responses/BadRequest'
3592         '401':
3593           $ref: '#/components/responses/Unauthorized'
3594         '403':
3595           $ref: '#/components/responses/Forbidden'
3596         '404':
3597           $ref: '#/components/responses/NotFound'
3598         '405':
3599           $ref: '#/components/responses/MethodNotAllowed'
3600         '406':
3601           $ref: '#/components/responses/NotAcceptable'
3602         '409':
3603           $ref: '#/components/responses/Conflict'
3604         '422':
3605           $ref: '#/components/responses/UnprocessableEntity'
3606         '500':
3607           $ref: '#/components/responses/InternalServerError'
3608         '503':
3609           $ref: '#/components/responses/ServiceUnavailable'
3610         '5XX':
3611           $ref: '#/components/responses/UnexpectedError'
3612         default:
3613           $ref: '#/components/responses/UnexpectedError'
3614     post:
3615       tags:
3616         - "Admin"
3617       summary: Request a new Token
3618       description: Request a new Token
3619       operationId: createToken
3620       requestBody:
3621         $ref: '#/components/requestBodies/CreateTokenRequest'
3622       responses:
3623         '200':
3624           description: OK
3625           headers:
3626             Location:
3627               schema:
3628                 type: string
3629                 format: uri
3630           content:
3631             application/json:
3632               schema:
3633                 $ref: '#/components/schemas/TokenInfo'
3634             application/yaml:
3635               schema:
3636                 $ref: '#/components/schemas/TokenInfo'
3637         '400':
3638           $ref: '#/components/responses/BadRequest'
3639         '401':
3640           $ref: '#/components/responses/Unauthorized'
3641         '403':
3642           $ref: '#/components/responses/Forbidden'
3643         '404':
3644           $ref: '#/components/responses/NotFound'
3645         '405':
3646           $ref: '#/components/responses/MethodNotAllowed'
3647         '406':
3648           $ref: '#/components/responses/NotAcceptable'
3649         '409':
3650           $ref: '#/components/responses/Conflict'
3651         '422':
3652           $ref: '#/components/responses/UnprocessableEntity'
3653         '500':
3654           $ref: '#/components/responses/InternalServerError'
3655         '503':
3656           $ref: '#/components/responses/ServiceUnavailable'
3657         '5XX':
3658           $ref: '#/components/responses/UnexpectedError'
3659         default:
3660           $ref: '#/components/responses/UnexpectedError'
3661     delete:
3662       tags:
3663         - "Admin"
3664       summary: Delete the Token indicated in the Authorization Header
3665       description: Delete the Token indicated in the Authorization Header
3666       operationId: deleteAuthToken
3667       responses:
3668         '200':
3669           description: OK
3670           content:
3671             application/json:
3672               schema:
3673                 type: string
3674             application/yaml:
3675               schema:
3676                 type: string
3677         '400':
3678           $ref: '#/components/responses/BadRequest'
3679         '401':
3680           $ref: '#/components/responses/Unauthorized'
3681         '403':
3682           $ref: '#/components/responses/Forbidden'
3683         '404':
3684           $ref: '#/components/responses/NotFound'
3685         '405':
3686           $ref: '#/components/responses/MethodNotAllowed'
3687         '406':
3688           $ref: '#/components/responses/NotAcceptable'
3689         '409':
3690           $ref: '#/components/responses/Conflict'
3691         '422':
3692           $ref: '#/components/responses/UnprocessableEntity'
3693         '500':
3694           $ref: '#/components/responses/InternalServerError'
3695         '503':
3696           $ref: '#/components/responses/ServiceUnavailable'
3697         '5XX':
3698           $ref: '#/components/responses/UnexpectedError'
3699         default:
3700           $ref: '#/components/responses/UnexpectedError'
3701   '/admin/v1/tokens/{tokenId}':
3702     parameters:
3703       - name: tokenId
3704         in: path
3705         required: true
3706         description: Token ID
3707         schema:
3708           type: string
3709     get:
3710       tags:
3711         - "Admin"
3712       summary: Query information about an individual Token
3713       description: Query information about an individual Token
3714       operationId: getToken
3715       responses:
3716         '200':
3717           description: OK
3718           content:
3719             application/json:
3720               schema:
3721                 $ref: '#/components/schemas/TokenInfo'
3722             application/yaml:
3723               schema:
3724                 $ref: '#/components/schemas/TokenInfo'
3725         '400':
3726           $ref: '#/components/responses/BadRequest'
3727         '401':
3728           $ref: '#/components/responses/Unauthorized'
3729         '403':
3730           $ref: '#/components/responses/Forbidden'
3731         '404':
3732           $ref: '#/components/responses/NotFound'
3733         '405':
3734           $ref: '#/components/responses/MethodNotAllowed'
3735         '406':
3736           $ref: '#/components/responses/NotAcceptable'
3737         '409':
3738           $ref: '#/components/responses/Conflict'
3739         '422':
3740           $ref: '#/components/responses/UnprocessableEntity'
3741         '500':
3742           $ref: '#/components/responses/InternalServerError'
3743         '503':
3744           $ref: '#/components/responses/ServiceUnavailable'
3745         '5XX':
3746           $ref: '#/components/responses/UnexpectedError'
3747         default:
3748           $ref: '#/components/responses/UnexpectedError'
3749     delete:
3750       tags:
3751         - "Admin"
3752       summary: Delete the Token indicated as parameter
3753       description: Delete the Token indicated as parameter
3754       operationId: deleteToken
3755       responses:
3756         '200':
3757           description: OK
3758           content:
3759             application/json:
3760               schema:
3761                 type: string
3762             application/yaml:
3763               schema:
3764                 type: string
3765         '400':
3766           $ref: '#/components/responses/BadRequest'
3767         '401':
3768           $ref: '#/components/responses/Unauthorized'
3769         '403':
3770           $ref: '#/components/responses/Forbidden'
3771         '404':
3772           $ref: '#/components/responses/NotFound'
3773         '405':
3774           $ref: '#/components/responses/MethodNotAllowed'
3775         '406':
3776           $ref: '#/components/responses/NotAcceptable'
3777         '409':
3778           $ref: '#/components/responses/Conflict'
3779         '422':
3780           $ref: '#/components/responses/UnprocessableEntity'
3781         '500':
3782           $ref: '#/components/responses/InternalServerError'
3783         '503':
3784           $ref: '#/components/responses/ServiceUnavailable'
3785         '5XX':
3786           $ref: '#/components/responses/UnexpectedError'
3787         default:
3788           $ref: '#/components/responses/UnexpectedError'
3789   '/admin/v1/users':
3790     get:
3791       tags:
3792         - "Admin"
3793       summary: Query information about multiple Users
3794       description: Query information about multiple Users
3795       operationId: getUsers
3796       responses:
3797         '200':
3798           description: OK
3799           content:
3800             application/json:
3801               schema:
3802                 $ref: '#/components/schemas/ArrayOfUserInfo'
3803             application/yaml:
3804               schema:
3805                 $ref: '#/components/schemas/ArrayOfUserInfo'
3806         '400':
3807           $ref: '#/components/responses/BadRequest'
3808         '401':
3809           $ref: '#/components/responses/Unauthorized'
3810         '403':
3811           $ref: '#/components/responses/Forbidden'
3812         '404':
3813           $ref: '#/components/responses/NotFound'
3814         '405':
3815           $ref: '#/components/responses/MethodNotAllowed'
3816         '406':
3817           $ref: '#/components/responses/NotAcceptable'
3818         '409':
3819           $ref: '#/components/responses/Conflict'
3820         '422':
3821           $ref: '#/components/responses/UnprocessableEntity'
3822         '500':
3823           $ref: '#/components/responses/InternalServerError'
3824         '503':
3825           $ref: '#/components/responses/ServiceUnavailable'
3826         '5XX':
3827           $ref: '#/components/responses/UnexpectedError'
3828         default:
3829           $ref: '#/components/responses/UnexpectedError'
3830     post:
3831       tags:
3832         - "Admin"
3833       summary: Create a new User
3834       description: Create a new User
3835       operationId: createUser
3836       requestBody:
3837         $ref: '#/components/requestBodies/CreateUserRequest'
3838       responses:
3839         '201':
3840           description: Created
3841           headers:
3842             Location:
3843               schema:
3844                 type: string
3845                 format: uri
3846           content:
3847             application/json:
3848               schema:
3849                 $ref: '#/components/schemas/ObjectId'
3850             application/yaml:
3851               schema:
3852                 $ref: '#/components/schemas/ObjectId'
3853         '400':
3854           $ref: '#/components/responses/BadRequest'
3855         '401':
3856           $ref: '#/components/responses/Unauthorized'
3857         '403':
3858           $ref: '#/components/responses/Forbidden'
3859         '404':
3860           $ref: '#/components/responses/NotFound'
3861         '405':
3862           $ref: '#/components/responses/MethodNotAllowed'
3863         '406':
3864           $ref: '#/components/responses/NotAcceptable'
3865         '409':
3866           $ref: '#/components/responses/Conflict'
3867         '422':
3868           $ref: '#/components/responses/UnprocessableEntity'
3869         '500':
3870           $ref: '#/components/responses/InternalServerError'
3871         '503':
3872           $ref: '#/components/responses/ServiceUnavailable'
3873         '5XX':
3874           $ref: '#/components/responses/UnexpectedError'
3875         default:
3876           $ref: '#/components/responses/UnexpectedError'
3877   '/admin/v1/users/{userId}':
3878     parameters:
3879       - name: userId
3880         in: path
3881         required: true
3882         description: User ID/Name
3883         schema:
3884           type: string
3885     get:
3886       tags:
3887         - "Admin"
3888       summary: Query information about an individual User
3889       description: Query information about an individual User
3890       operationId: getUser
3891       responses:
3892         '200':
3893           description: OK
3894           content:
3895             application/json:
3896               schema:
3897                 $ref: '#/components/schemas/UserInfo'
3898             application/yaml:
3899               schema:
3900                 $ref: '#/components/schemas/UserInfo'
3901         '400':
3902           $ref: '#/components/responses/BadRequest'
3903         '401':
3904           $ref: '#/components/responses/Unauthorized'
3905         '403':
3906           $ref: '#/components/responses/Forbidden'
3907         '404':
3908           $ref: '#/components/responses/NotFound'
3909         '405':
3910           $ref: '#/components/responses/MethodNotAllowed'
3911         '406':
3912           $ref: '#/components/responses/NotAcceptable'
3913         '409':
3914           $ref: '#/components/responses/Conflict'
3915         '422':
3916           $ref: '#/components/responses/UnprocessableEntity'
3917         '500':
3918           $ref: '#/components/responses/InternalServerError'
3919         '503':
3920           $ref: '#/components/responses/ServiceUnavailable'
3921         '5XX':
3922           $ref: '#/components/responses/UnexpectedError'
3923         default:
3924           $ref: '#/components/responses/UnexpectedError'
3925     patch:
3926       tags:
3927         - "Admin"
3928       summary: Modify a User
3929       description: Modify a User
3930       operationId: editUser
3931       requestBody:
3932         $ref: '#/components/requestBodies/EditUserRequest'
3933       responses:
3934         '204':
3935           description: No Content
3936         '400':
3937           $ref: '#/components/responses/BadRequest'
3938         '401':
3939           $ref: '#/components/responses/Unauthorized'
3940         '403':
3941           $ref: '#/components/responses/Forbidden'
3942         '404':
3943           $ref: '#/components/responses/NotFound'
3944         '405':
3945           $ref: '#/components/responses/MethodNotAllowed'
3946         '406':
3947           $ref: '#/components/responses/NotAcceptable'
3948         '409':
3949           $ref: '#/components/responses/Conflict'
3950         '422':
3951           $ref: '#/components/responses/UnprocessableEntity'
3952         '500':
3953           $ref: '#/components/responses/InternalServerError'
3954         '503':
3955           $ref: '#/components/responses/ServiceUnavailable'
3956         '5XX':
3957           $ref: '#/components/responses/UnexpectedError'
3958         default:
3959           $ref: '#/components/responses/UnexpectedError'
3960     delete:
3961       tags:
3962         - "Admin"
3963       summary: Delete a User
3964       description: Delete a User
3965       operationId: deleteUser
3966       responses:
3967         '204':
3968           description: No Content
3969         '400':
3970           $ref: '#/components/responses/BadRequest'
3971         '401':
3972           $ref: '#/components/responses/Unauthorized'
3973         '403':
3974           $ref: '#/components/responses/Forbidden'
3975         '404':
3976           $ref: '#/components/responses/NotFound'
3977         '405':
3978           $ref: '#/components/responses/MethodNotAllowed'
3979         '406':
3980           $ref: '#/components/responses/NotAcceptable'
3981         '409':
3982           $ref: '#/components/responses/Conflict'
3983         '422':
3984           $ref: '#/components/responses/UnprocessableEntity'
3985         '500':
3986           $ref: '#/components/responses/InternalServerError'
3987         '503':
3988           $ref: '#/components/responses/ServiceUnavailable'
3989         '5XX':
3990           $ref: '#/components/responses/UnexpectedError'
3991         default:
3992           $ref: '#/components/responses/UnexpectedError'
3993   '/admin/v1/projects':
3994     get:
3995       tags:
3996         - "Admin"
3997       summary: Query information about multiple Projects
3998       description: Query information about multiple Projects
3999       operationId: getProjects
4000       responses:
4001         '200':
4002           description: OK
4003           content:
4004             application/json:
4005               schema:
4006                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4007             application/yaml:
4008               schema:
4009                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4010         '400':
4011           $ref: '#/components/responses/BadRequest'
4012         '401':
4013           $ref: '#/components/responses/Unauthorized'
4014         '403':
4015           $ref: '#/components/responses/Forbidden'
4016         '404':
4017           $ref: '#/components/responses/NotFound'
4018         '405':
4019           $ref: '#/components/responses/MethodNotAllowed'
4020         '406':
4021           $ref: '#/components/responses/NotAcceptable'
4022         '409':
4023           $ref: '#/components/responses/Conflict'
4024         '422':
4025           $ref: '#/components/responses/UnprocessableEntity'
4026         '500':
4027           $ref: '#/components/responses/InternalServerError'
4028         '503':
4029           $ref: '#/components/responses/ServiceUnavailable'
4030         '5XX':
4031           $ref: '#/components/responses/UnexpectedError'
4032         default:
4033           $ref: '#/components/responses/UnexpectedError'
4034     post:
4035       tags:
4036         - "Admin"
4037       summary: Create a new Project
4038       description: Create a new Project
4039       operationId: createProject
4040       requestBody:
4041         $ref: '#/components/requestBodies/CreateProjectRequest'
4042       responses:
4043         '201':
4044           description: Created
4045           headers:
4046             Location:
4047               schema:
4048                 type: string
4049                 format: uri
4050           content:
4051             application/json:
4052               schema:
4053                 $ref: '#/components/schemas/ObjectId'
4054             application/yaml:
4055               schema:
4056                 $ref: '#/components/schemas/ObjectId'
4057         '400':
4058           $ref: '#/components/responses/BadRequest'
4059         '401':
4060           $ref: '#/components/responses/Unauthorized'
4061         '403':
4062           $ref: '#/components/responses/Forbidden'
4063         '404':
4064           $ref: '#/components/responses/NotFound'
4065         '405':
4066           $ref: '#/components/responses/MethodNotAllowed'
4067         '406':
4068           $ref: '#/components/responses/NotAcceptable'
4069         '409':
4070           $ref: '#/components/responses/Conflict'
4071         '422':
4072           $ref: '#/components/responses/UnprocessableEntity'
4073         '500':
4074           $ref: '#/components/responses/InternalServerError'
4075         '503':
4076           $ref: '#/components/responses/ServiceUnavailable'
4077         '5XX':
4078           $ref: '#/components/responses/UnexpectedError'
4079         default:
4080           $ref: '#/components/responses/UnexpectedError'
4081   '/admin/v1/projects/{projectId}':
4082     parameters:
4083       - name: projectId
4084         in: path
4085         required: true
4086         description: Project ID/Name
4087         schema:
4088           type: string
4089     get:
4090       tags:
4091         - "Admin"
4092       summary: Query information about an individual Project
4093       description: Query information about an individual Project
4094       operationId: getProject
4095       responses:
4096         '200':
4097           description: OK
4098           content:
4099             application/json:
4100               schema:
4101                 $ref: '#/components/schemas/ProjectInfo'
4102             application/yaml:
4103               schema:
4104                 $ref: '#/components/schemas/ProjectInfo'
4105         '400':
4106           $ref: '#/components/responses/BadRequest'
4107         '401':
4108           $ref: '#/components/responses/Unauthorized'
4109         '403':
4110           $ref: '#/components/responses/Forbidden'
4111         '404':
4112           $ref: '#/components/responses/NotFound'
4113         '405':
4114           $ref: '#/components/responses/MethodNotAllowed'
4115         '406':
4116           $ref: '#/components/responses/NotAcceptable'
4117         '409':
4118           $ref: '#/components/responses/Conflict'
4119         '422':
4120           $ref: '#/components/responses/UnprocessableEntity'
4121         '500':
4122           $ref: '#/components/responses/InternalServerError'
4123         '503':
4124           $ref: '#/components/responses/ServiceUnavailable'
4125         '5XX':
4126           $ref: '#/components/responses/UnexpectedError'
4127         default:
4128           $ref: '#/components/responses/UnexpectedError'
4129     patch:
4130       tags:
4131         - "Admin"
4132       summary: Modify a Project
4133       description: Modify a Project
4134       operationId: editProject
4135       requestBody:
4136         $ref: '#/components/requestBodies/EditProjectRequest'
4137       responses:
4138         '204':
4139           description: No Content
4140         '400':
4141           $ref: '#/components/responses/BadRequest'
4142         '401':
4143           $ref: '#/components/responses/Unauthorized'
4144         '403':
4145           $ref: '#/components/responses/Forbidden'
4146         '404':
4147           $ref: '#/components/responses/NotFound'
4148         '405':
4149           $ref: '#/components/responses/MethodNotAllowed'
4150         '406':
4151           $ref: '#/components/responses/NotAcceptable'
4152         '409':
4153           $ref: '#/components/responses/Conflict'
4154         '422':
4155           $ref: '#/components/responses/UnprocessableEntity'
4156         '500':
4157           $ref: '#/components/responses/InternalServerError'
4158         '503':
4159           $ref: '#/components/responses/ServiceUnavailable'
4160         '5XX':
4161           $ref: '#/components/responses/UnexpectedError'
4162         default:
4163           $ref: '#/components/responses/UnexpectedError'
4164     delete:
4165       tags:
4166         - "Admin"
4167       summary: Delete a Project
4168       description: Delete a Project
4169       operationId: deleteProject
4170       responses:
4171         '204':
4172           description: No Content
4173         '400':
4174           $ref: '#/components/responses/BadRequest'
4175         '401':
4176           $ref: '#/components/responses/Unauthorized'
4177         '403':
4178           $ref: '#/components/responses/Forbidden'
4179         '404':
4180           $ref: '#/components/responses/NotFound'
4181         '405':
4182           $ref: '#/components/responses/MethodNotAllowed'
4183         '406':
4184           $ref: '#/components/responses/NotAcceptable'
4185         '409':
4186           $ref: '#/components/responses/Conflict'
4187         '422':
4188           $ref: '#/components/responses/UnprocessableEntity'
4189         '500':
4190           $ref: '#/components/responses/InternalServerError'
4191         '503':
4192           $ref: '#/components/responses/ServiceUnavailable'
4193         '5XX':
4194           $ref: '#/components/responses/UnexpectedError'
4195         default:
4196           $ref: '#/components/responses/UnexpectedError'
4197   '/admin/v1/roles':
4198     get:
4199       tags:
4200         - "Admin"
4201       summary: Query information about multiple Roles
4202       description: Query information about multiple Roles
4203       operationId: getRoles
4204       responses:
4205         '200':
4206           description: OK
4207           content:
4208             application/json:
4209               schema:
4210                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4211             application/yaml:
4212               schema:
4213                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4214         '400':
4215           $ref: '#/components/responses/BadRequest'
4216         '401':
4217           $ref: '#/components/responses/Unauthorized'
4218         '403':
4219           $ref: '#/components/responses/Forbidden'
4220         '404':
4221           $ref: '#/components/responses/NotFound'
4222         '405':
4223           $ref: '#/components/responses/MethodNotAllowed'
4224         '406':
4225           $ref: '#/components/responses/NotAcceptable'
4226         '409':
4227           $ref: '#/components/responses/Conflict'
4228         '422':
4229           $ref: '#/components/responses/UnprocessableEntity'
4230         '500':
4231           $ref: '#/components/responses/InternalServerError'
4232         '503':
4233           $ref: '#/components/responses/ServiceUnavailable'
4234         '5XX':
4235           $ref: '#/components/responses/UnexpectedError'
4236         default:
4237           $ref: '#/components/responses/UnexpectedError'
4238     post:
4239       tags:
4240         - "Admin"
4241       summary: Create a new Role
4242       description: Create a new Role
4243       operationId: createRole
4244       requestBody:
4245         $ref: '#/components/requestBodies/CreateRoleRequest'
4246       responses:
4247         '201':
4248           description: Created
4249           headers:
4250             Location:
4251               schema:
4252                 type: string
4253                 format: uri
4254           content:
4255             application/json:
4256               schema:
4257                 $ref: '#/components/schemas/ObjectId'
4258             application/yaml:
4259               schema:
4260                 $ref: '#/components/schemas/ObjectId'
4261         '400':
4262           $ref: '#/components/responses/BadRequest'
4263         '401':
4264           $ref: '#/components/responses/Unauthorized'
4265         '403':
4266           $ref: '#/components/responses/Forbidden'
4267         '404':
4268           $ref: '#/components/responses/NotFound'
4269         '405':
4270           $ref: '#/components/responses/MethodNotAllowed'
4271         '406':
4272           $ref: '#/components/responses/NotAcceptable'
4273         '409':
4274           $ref: '#/components/responses/Conflict'
4275         '422':
4276           $ref: '#/components/responses/UnprocessableEntity'
4277         '500':
4278           $ref: '#/components/responses/InternalServerError'
4279         '503':
4280           $ref: '#/components/responses/ServiceUnavailable'
4281         '5XX':
4282           $ref: '#/components/responses/UnexpectedError'
4283         default:
4284           $ref: '#/components/responses/UnexpectedError'
4285   '/admin/v1/roles/{roleId}':
4286     parameters:
4287       - name: roleId
4288         in: path
4289         required: true
4290         description: Role ID/Name
4291         schema:
4292           type: string
4293     get:
4294       tags:
4295         - "Admin"
4296       summary: Query information about an individual Role
4297       description: Query information about an individual Role
4298       operationId: getRole
4299       responses:
4300         '200':
4301           description: OK
4302           content:
4303             application/json:
4304               schema:
4305                 $ref: '#/components/schemas/RoleInfo'
4306             application/yaml:
4307               schema:
4308                 $ref: '#/components/schemas/RoleInfo'
4309         '400':
4310           $ref: '#/components/responses/BadRequest'
4311         '401':
4312           $ref: '#/components/responses/Unauthorized'
4313         '403':
4314           $ref: '#/components/responses/Forbidden'
4315         '404':
4316           $ref: '#/components/responses/NotFound'
4317         '405':
4318           $ref: '#/components/responses/MethodNotAllowed'
4319         '406':
4320           $ref: '#/components/responses/NotAcceptable'
4321         '409':
4322           $ref: '#/components/responses/Conflict'
4323         '422':
4324           $ref: '#/components/responses/UnprocessableEntity'
4325         '500':
4326           $ref: '#/components/responses/InternalServerError'
4327         '503':
4328           $ref: '#/components/responses/ServiceUnavailable'
4329         '5XX':
4330           $ref: '#/components/responses/UnexpectedError'
4331         default:
4332           $ref: '#/components/responses/UnexpectedError'
4333     patch:
4334       tags:
4335         - "Admin"
4336       summary: Modify a Role
4337       description: Modify a Role
4338       operationId: editRole
4339       requestBody:
4340         $ref: '#/components/requestBodies/EditRoleRequest'
4341       responses:
4342         '204':
4343           description: No Content
4344         '400':
4345           $ref: '#/components/responses/BadRequest'
4346         '401':
4347           $ref: '#/components/responses/Unauthorized'
4348         '403':
4349           $ref: '#/components/responses/Forbidden'
4350         '404':
4351           $ref: '#/components/responses/NotFound'
4352         '405':
4353           $ref: '#/components/responses/MethodNotAllowed'
4354         '406':
4355           $ref: '#/components/responses/NotAcceptable'
4356         '409':
4357           $ref: '#/components/responses/Conflict'
4358         '422':
4359           $ref: '#/components/responses/UnprocessableEntity'
4360         '500':
4361           $ref: '#/components/responses/InternalServerError'
4362         '503':
4363           $ref: '#/components/responses/ServiceUnavailable'
4364         '5XX':
4365           $ref: '#/components/responses/UnexpectedError'
4366         default:
4367           $ref: '#/components/responses/UnexpectedError'
4368     delete:
4369       tags:
4370         - "Admin"
4371       summary: Delete a Role
4372       description: Delete a Role
4373       operationId: deleteRole
4374       responses:
4375         '204':
4376           description: No Content
4377         '400':
4378           $ref: '#/components/responses/BadRequest'
4379         '401':
4380           $ref: '#/components/responses/Unauthorized'
4381         '403':
4382           $ref: '#/components/responses/Forbidden'
4383         '404':
4384           $ref: '#/components/responses/NotFound'
4385         '405':
4386           $ref: '#/components/responses/MethodNotAllowed'
4387         '406':
4388           $ref: '#/components/responses/NotAcceptable'
4389         '409':
4390           $ref: '#/components/responses/Conflict'
4391         '422':
4392           $ref: '#/components/responses/UnprocessableEntity'
4393         '500':
4394           $ref: '#/components/responses/InternalServerError'
4395         '503':
4396           $ref: '#/components/responses/ServiceUnavailable'
4397         '5XX':
4398           $ref: '#/components/responses/UnexpectedError'
4399         default:
4400           $ref: '#/components/responses/UnexpectedError'
4401   '/admin/v1/vims':
4402     get:
4403       tags:
4404         - "Admin"
4405       summary: Query information about multiple VIMs
4406       description: Query information about multiple VIMs
4407       operationId: getVIMs
4408       responses:
4409         '200':
4410           description: OK
4411           content:
4412             application/json:
4413               schema:
4414                 $ref: '#/components/schemas/ArrayOfVimInfo'
4415             application/yaml:
4416               schema:
4417                 $ref: '#/components/schemas/ArrayOfVimInfo'
4418         '400':
4419           $ref: '#/components/responses/BadRequest'
4420         '401':
4421           $ref: '#/components/responses/Unauthorized'
4422         '403':
4423           $ref: '#/components/responses/Forbidden'
4424         '404':
4425           $ref: '#/components/responses/NotFound'
4426         '405':
4427           $ref: '#/components/responses/MethodNotAllowed'
4428         '406':
4429           $ref: '#/components/responses/NotAcceptable'
4430         '409':
4431           $ref: '#/components/responses/Conflict'
4432         '422':
4433           $ref: '#/components/responses/UnprocessableEntity'
4434         '500':
4435           $ref: '#/components/responses/InternalServerError'
4436         '503':
4437           $ref: '#/components/responses/ServiceUnavailable'
4438         '5XX':
4439           $ref: '#/components/responses/UnexpectedError'
4440         default:
4441           $ref: '#/components/responses/UnexpectedError'
4442     post:
4443       tags:
4444         - "Admin"
4445       summary: Create a new VIM
4446       description: Create a new VIM
4447       operationId: createVIM
4448       requestBody:
4449         $ref: '#/components/requestBodies/CreateVimRequest'
4450       responses:
4451         '202':
4452           description: Accepted
4453           content:
4454             application/json:
4455               schema:
4456                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4457             application/yaml:
4458               schema:
4459                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4460         '400':
4461           $ref: '#/components/responses/BadRequest'
4462         '401':
4463           $ref: '#/components/responses/Unauthorized'
4464         '403':
4465           $ref: '#/components/responses/Forbidden'
4466         '404':
4467           $ref: '#/components/responses/NotFound'
4468         '405':
4469           $ref: '#/components/responses/MethodNotAllowed'
4470         '406':
4471           $ref: '#/components/responses/NotAcceptable'
4472         '409':
4473           $ref: '#/components/responses/Conflict'
4474         '422':
4475           $ref: '#/components/responses/UnprocessableEntity'
4476         '500':
4477           $ref: '#/components/responses/InternalServerError'
4478         '503':
4479           $ref: '#/components/responses/ServiceUnavailable'
4480         '5XX':
4481           $ref: '#/components/responses/UnexpectedError'
4482         default:
4483           $ref: '#/components/responses/UnexpectedError'
4484   '/admin/v1/vims/{vimId}':
4485     parameters:
4486       - name: vimId
4487         in: path
4488         required: true
4489         description: VIM ID
4490         schema:
4491           type: string
4492           format: uuid
4493     get:
4494       tags:
4495         - "Admin"
4496       summary: Query information about an individual VIM
4497       description: Query information about an individual VIM
4498       operationId: getVIM
4499       responses:
4500         '200':
4501           description: OK
4502           content:
4503             application/json:
4504               schema:
4505                 $ref: '#/components/schemas/VimInfo'
4506             application/yaml:
4507               schema:
4508                 $ref: '#/components/schemas/VimInfo'
4509         '400':
4510           $ref: '#/components/responses/BadRequest'
4511         '401':
4512           $ref: '#/components/responses/Unauthorized'
4513         '403':
4514           $ref: '#/components/responses/Forbidden'
4515         '404':
4516           $ref: '#/components/responses/NotFound'
4517         '405':
4518           $ref: '#/components/responses/MethodNotAllowed'
4519         '406':
4520           $ref: '#/components/responses/NotAcceptable'
4521         '409':
4522           $ref: '#/components/responses/Conflict'
4523         '422':
4524           $ref: '#/components/responses/UnprocessableEntity'
4525         '500':
4526           $ref: '#/components/responses/InternalServerError'
4527         '503':
4528           $ref: '#/components/responses/ServiceUnavailable'
4529         '5XX':
4530           $ref: '#/components/responses/UnexpectedError'
4531         default:
4532           $ref: '#/components/responses/UnexpectedError'
4533     patch:
4534       tags:
4535         - "Admin"
4536       summary: Modify a VIM
4537       description: Modify a VIM
4538       operationId: editVIM
4539       requestBody:
4540         $ref: '#/components/requestBodies/EditVimRequest'
4541       responses:
4542         '202':
4543           description: Accepted
4544           content:
4545             application/json:
4546               schema:
4547                 $ref: '#/components/schemas/OpId'
4548             application/yaml:
4549               schema:
4550                 $ref: '#/components/schemas/OpId'
4551         '400':
4552           $ref: '#/components/responses/BadRequest'
4553         '401':
4554           $ref: '#/components/responses/Unauthorized'
4555         '403':
4556           $ref: '#/components/responses/Forbidden'
4557         '404':
4558           $ref: '#/components/responses/NotFound'
4559         '405':
4560           $ref: '#/components/responses/MethodNotAllowed'
4561         '406':
4562           $ref: '#/components/responses/NotAcceptable'
4563         '409':
4564           $ref: '#/components/responses/Conflict'
4565         '422':
4566           $ref: '#/components/responses/UnprocessableEntity'
4567         '500':
4568           $ref: '#/components/responses/InternalServerError'
4569         '503':
4570           $ref: '#/components/responses/ServiceUnavailable'
4571         '5XX':
4572           $ref: '#/components/responses/UnexpectedError'
4573         default:
4574           $ref: '#/components/responses/UnexpectedError'
4575     delete:
4576       tags:
4577         - "Admin"
4578       summary: Delete a VIM
4579       description: Delete a VIM
4580       operationId: deleteVIM
4581       responses:
4582         '202':
4583           description: Accepted
4584         '400':
4585           $ref: '#/components/responses/BadRequest'
4586         '401':
4587           $ref: '#/components/responses/Unauthorized'
4588         '403':
4589           $ref: '#/components/responses/Forbidden'
4590         '404':
4591           $ref: '#/components/responses/NotFound'
4592         '405':
4593           $ref: '#/components/responses/MethodNotAllowed'
4594         '406':
4595           $ref: '#/components/responses/NotAcceptable'
4596         '409':
4597           $ref: '#/components/responses/Conflict'
4598         '422':
4599           $ref: '#/components/responses/UnprocessableEntity'
4600         '500':
4601           $ref: '#/components/responses/InternalServerError'
4602         '503':
4603           $ref: '#/components/responses/ServiceUnavailable'
4604         '5XX':
4605           $ref: '#/components/responses/UnexpectedError'
4606         default:
4607           $ref: '#/components/responses/UnexpectedError'
4608   '/admin/v1/vim_accounts':
4609     get:
4610       tags:
4611         - "Admin"
4612       summary: Query information about multiple VIM Accounts
4613       description: Query information about multiple VIM Accounts
4614       operationId: getVimAccounts
4615       responses:
4616         '200':
4617           description: OK
4618           content:
4619             application/json:
4620               schema:
4621                 $ref: '#/components/schemas/ArrayOfVimInfo'
4622             application/yaml:
4623               schema:
4624                 $ref: '#/components/schemas/ArrayOfVimInfo'
4625         '400':
4626           $ref: '#/components/responses/BadRequest'
4627         '401':
4628           $ref: '#/components/responses/Unauthorized'
4629         '403':
4630           $ref: '#/components/responses/Forbidden'
4631         '404':
4632           $ref: '#/components/responses/NotFound'
4633         '405':
4634           $ref: '#/components/responses/MethodNotAllowed'
4635         '406':
4636           $ref: '#/components/responses/NotAcceptable'
4637         '409':
4638           $ref: '#/components/responses/Conflict'
4639         '422':
4640           $ref: '#/components/responses/UnprocessableEntity'
4641         '500':
4642           $ref: '#/components/responses/InternalServerError'
4643         '503':
4644           $ref: '#/components/responses/ServiceUnavailable'
4645         '5XX':
4646           $ref: '#/components/responses/UnexpectedError'
4647         default:
4648           $ref: '#/components/responses/UnexpectedError'
4649     post:
4650       tags:
4651         - "Admin"
4652       summary: Create a new VIM Account
4653       description: Create a new VIM Account
4654       operationId: createVimAccount
4655       requestBody:
4656         $ref: '#/components/requestBodies/CreateVimRequest'
4657       responses:
4658         '202':
4659           description: Accepted
4660           content:
4661             application/json:
4662               schema:
4663                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4664             application/yaml:
4665               schema:
4666                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4667         '400':
4668           $ref: '#/components/responses/BadRequest'
4669         '401':
4670           $ref: '#/components/responses/Unauthorized'
4671         '403':
4672           $ref: '#/components/responses/Forbidden'
4673         '404':
4674           $ref: '#/components/responses/NotFound'
4675         '405':
4676           $ref: '#/components/responses/MethodNotAllowed'
4677         '406':
4678           $ref: '#/components/responses/NotAcceptable'
4679         '409':
4680           $ref: '#/components/responses/Conflict'
4681         '422':
4682           $ref: '#/components/responses/UnprocessableEntity'
4683         '500':
4684           $ref: '#/components/responses/InternalServerError'
4685         '503':
4686           $ref: '#/components/responses/ServiceUnavailable'
4687         '5XX':
4688           $ref: '#/components/responses/UnexpectedError'
4689         default:
4690           $ref: '#/components/responses/UnexpectedError'
4691   '/admin/v1/vim_accounts/{vimAccountId}':
4692     parameters:
4693       - name: vimAccountId
4694         in: path
4695         required: true
4696         description: VIM Account ID
4697         schema:
4698           type: string
4699           format: uuid
4700     get:
4701       tags:
4702         - "Admin"
4703       summary: Query information about an individual VIM Account
4704       description: Query information about an individual VIM Account
4705       operationId: getVimAccount
4706       responses:
4707         '200':
4708           description: OK
4709           content:
4710             application/json:
4711               schema:
4712                 $ref: '#/components/schemas/VimInfo'
4713             application/yaml:
4714               schema:
4715                 $ref: '#/components/schemas/VimInfo'
4716         '400':
4717           $ref: '#/components/responses/BadRequest'
4718         '401':
4719           $ref: '#/components/responses/Unauthorized'
4720         '403':
4721           $ref: '#/components/responses/Forbidden'
4722         '404':
4723           $ref: '#/components/responses/NotFound'
4724         '405':
4725           $ref: '#/components/responses/MethodNotAllowed'
4726         '406':
4727           $ref: '#/components/responses/NotAcceptable'
4728         '409':
4729           $ref: '#/components/responses/Conflict'
4730         '422':
4731           $ref: '#/components/responses/UnprocessableEntity'
4732         '500':
4733           $ref: '#/components/responses/InternalServerError'
4734         '503':
4735           $ref: '#/components/responses/ServiceUnavailable'
4736         '5XX':
4737           $ref: '#/components/responses/UnexpectedError'
4738         default:
4739           $ref: '#/components/responses/UnexpectedError'
4740     patch:
4741       tags:
4742         - "Admin"
4743       summary: Modify a VIM Account
4744       description: Modify a VIM Account
4745       operationId: editVimAccount
4746       requestBody:
4747         $ref: '#/components/requestBodies/EditVimRequest'
4748       responses:
4749         '202':
4750           description: Accepted
4751           content:
4752             application/json:
4753               schema:
4754                 $ref: '#/components/schemas/OpId'
4755             application/yaml:
4756               schema:
4757                 $ref: '#/components/schemas/OpId'
4758         '400':
4759           $ref: '#/components/responses/BadRequest'
4760         '401':
4761           $ref: '#/components/responses/Unauthorized'
4762         '403':
4763           $ref: '#/components/responses/Forbidden'
4764         '404':
4765           $ref: '#/components/responses/NotFound'
4766         '405':
4767           $ref: '#/components/responses/MethodNotAllowed'
4768         '406':
4769           $ref: '#/components/responses/NotAcceptable'
4770         '409':
4771           $ref: '#/components/responses/Conflict'
4772         '422':
4773           $ref: '#/components/responses/UnprocessableEntity'
4774         '500':
4775           $ref: '#/components/responses/InternalServerError'
4776         '503':
4777           $ref: '#/components/responses/ServiceUnavailable'
4778         '5XX':
4779           $ref: '#/components/responses/UnexpectedError'
4780         default:
4781           $ref: '#/components/responses/UnexpectedError'
4782     delete:
4783       tags:
4784         - "Admin"
4785       summary: Delete a VIM Account
4786       description: Delete a VIM Account
4787       operationId: deleteVimAccount
4788       responses:
4789         '202':
4790           description: Accepted
4791         '400':
4792           $ref: '#/components/responses/BadRequest'
4793         '401':
4794           $ref: '#/components/responses/Unauthorized'
4795         '403':
4796           $ref: '#/components/responses/Forbidden'
4797         '404':
4798           $ref: '#/components/responses/NotFound'
4799         '405':
4800           $ref: '#/components/responses/MethodNotAllowed'
4801         '406':
4802           $ref: '#/components/responses/NotAcceptable'
4803         '409':
4804           $ref: '#/components/responses/Conflict'
4805         '422':
4806           $ref: '#/components/responses/UnprocessableEntity'
4807         '500':
4808           $ref: '#/components/responses/InternalServerError'
4809         '503':
4810           $ref: '#/components/responses/ServiceUnavailable'
4811         '5XX':
4812           $ref: '#/components/responses/UnexpectedError'
4813         default:
4814           $ref: '#/components/responses/UnexpectedError'
4815   '/admin/v1/wim_accounts':
4816     get:
4817       tags:
4818         - "Admin"
4819       summary: Query information about multiple WIM Accounts
4820       description: Query information about multiple WIM Accounts
4821       operationId: getWimAccounts
4822       responses:
4823         '200':
4824           description: OK
4825           content:
4826             application/json:
4827               schema:
4828                 $ref: '#/components/schemas/ArrayOfWimInfo'
4829             application/yaml:
4830               schema:
4831                 $ref: '#/components/schemas/ArrayOfWimInfo'
4832         '400':
4833           $ref: '#/components/responses/BadRequest'
4834         '401':
4835           $ref: '#/components/responses/Unauthorized'
4836         '403':
4837           $ref: '#/components/responses/Forbidden'
4838         '404':
4839           $ref: '#/components/responses/NotFound'
4840         '405':
4841           $ref: '#/components/responses/MethodNotAllowed'
4842         '406':
4843           $ref: '#/components/responses/NotAcceptable'
4844         '409':
4845           $ref: '#/components/responses/Conflict'
4846         '422':
4847           $ref: '#/components/responses/UnprocessableEntity'
4848         '500':
4849           $ref: '#/components/responses/InternalServerError'
4850         '503':
4851           $ref: '#/components/responses/ServiceUnavailable'
4852         '5XX':
4853           $ref: '#/components/responses/UnexpectedError'
4854         default:
4855           $ref: '#/components/responses/UnexpectedError'
4856     post:
4857       tags:
4858         - "Admin"
4859       summary: Create a new WIM Account
4860       description: Create a new WIM Account
4861       operationId: createWimAccount
4862       requestBody:
4863         $ref: '#/components/requestBodies/CreateWimRequest'
4864       responses:
4865         '202':
4866           description: Accepted
4867           content:
4868             application/json:
4869               schema:
4870                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4871             application/yaml:
4872               schema:
4873                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4874         '400':
4875           $ref: '#/components/responses/BadRequest'
4876         '401':
4877           $ref: '#/components/responses/Unauthorized'
4878         '403':
4879           $ref: '#/components/responses/Forbidden'
4880         '404':
4881           $ref: '#/components/responses/NotFound'
4882         '405':
4883           $ref: '#/components/responses/MethodNotAllowed'
4884         '406':
4885           $ref: '#/components/responses/NotAcceptable'
4886         '409':
4887           $ref: '#/components/responses/Conflict'
4888         '422':
4889           $ref: '#/components/responses/UnprocessableEntity'
4890         '500':
4891           $ref: '#/components/responses/InternalServerError'
4892         '503':
4893           $ref: '#/components/responses/ServiceUnavailable'
4894         '5XX':
4895           $ref: '#/components/responses/UnexpectedError'
4896         default:
4897           $ref: '#/components/responses/UnexpectedError'
4898   '/admin/v1/wim_accounts/{wimAccountId}':
4899     parameters:
4900       - name: wimAccountId
4901         in: path
4902         required: true
4903         description: WIM Account ID
4904         schema:
4905           type: string
4906           format: uuid
4907     get:
4908       tags:
4909         - "Admin"
4910       summary: Query information about an individual WIM Account
4911       description: Query information about an individual WIM Account
4912       operationId: getWimAccount
4913       responses:
4914         '200':
4915           description: OK
4916           content:
4917             application/json:
4918               schema:
4919                 $ref: '#/components/schemas/WimInfo'
4920             application/yaml:
4921               schema:
4922                 $ref: '#/components/schemas/WimInfo'
4923         '400':
4924           $ref: '#/components/responses/BadRequest'
4925         '401':
4926           $ref: '#/components/responses/Unauthorized'
4927         '403':
4928           $ref: '#/components/responses/Forbidden'
4929         '404':
4930           $ref: '#/components/responses/NotFound'
4931         '405':
4932           $ref: '#/components/responses/MethodNotAllowed'
4933         '406':
4934           $ref: '#/components/responses/NotAcceptable'
4935         '409':
4936           $ref: '#/components/responses/Conflict'
4937         '422':
4938           $ref: '#/components/responses/UnprocessableEntity'
4939         '500':
4940           $ref: '#/components/responses/InternalServerError'
4941         '503':
4942           $ref: '#/components/responses/ServiceUnavailable'
4943         '5XX':
4944           $ref: '#/components/responses/UnexpectedError'
4945         default:
4946           $ref: '#/components/responses/UnexpectedError'
4947     patch:
4948       tags:
4949         - "Admin"
4950       summary: Modify a WIM Account
4951       description: Modify a WIM Account
4952       operationId: editWimAccount
4953       requestBody:
4954         $ref: '#/components/requestBodies/EditWimRequest'
4955       responses:
4956         '202':
4957           description: Accepted
4958           content:
4959             application/json:
4960               schema:
4961                 $ref: '#/components/schemas/OpId'
4962             application/yaml:
4963               schema:
4964                 $ref: '#/components/schemas/OpId'
4965         '400':
4966           $ref: '#/components/responses/BadRequest'
4967         '401':
4968           $ref: '#/components/responses/Unauthorized'
4969         '403':
4970           $ref: '#/components/responses/Forbidden'
4971         '404':
4972           $ref: '#/components/responses/NotFound'
4973         '405':
4974           $ref: '#/components/responses/MethodNotAllowed'
4975         '406':
4976           $ref: '#/components/responses/NotAcceptable'
4977         '409':
4978           $ref: '#/components/responses/Conflict'
4979         '422':
4980           $ref: '#/components/responses/UnprocessableEntity'
4981         '500':
4982           $ref: '#/components/responses/InternalServerError'
4983         '503':
4984           $ref: '#/components/responses/ServiceUnavailable'
4985         '5XX':
4986           $ref: '#/components/responses/UnexpectedError'
4987         default:
4988           $ref: '#/components/responses/UnexpectedError'
4989     delete:
4990       tags:
4991         - "Admin"
4992       summary: Delete a WIM Account
4993       description: Delete a WIM Account
4994       operationId: deleteWimAccount
4995       responses:
4996         '202':
4997           description: Accepted
4998         '400':
4999           $ref: '#/components/responses/BadRequest'
5000         '401':
5001           $ref: '#/components/responses/Unauthorized'
5002         '403':
5003           $ref: '#/components/responses/Forbidden'
5004         '404':
5005           $ref: '#/components/responses/NotFound'
5006         '405':
5007           $ref: '#/components/responses/MethodNotAllowed'
5008         '406':
5009           $ref: '#/components/responses/NotAcceptable'
5010         '409':
5011           $ref: '#/components/responses/Conflict'
5012         '422':
5013           $ref: '#/components/responses/UnprocessableEntity'
5014         '500':
5015           $ref: '#/components/responses/InternalServerError'
5016         '503':
5017           $ref: '#/components/responses/ServiceUnavailable'
5018         '5XX':
5019           $ref: '#/components/responses/UnexpectedError'
5020         default:
5021           $ref: '#/components/responses/UnexpectedError'
5022   '/admin/v1/sdns':
5023     get:
5024       tags:
5025         - "Admin"
5026       summary: Query information about multiple SDNs
5027       description: Query information about multiple SDNs
5028       operationId: getSDNs
5029       responses:
5030         '200':
5031           description: OK
5032           content:
5033             application/json:
5034               schema:
5035                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5036             application/yaml:
5037               schema:
5038                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5039         '400':
5040           $ref: '#/components/responses/BadRequest'
5041         '401':
5042           $ref: '#/components/responses/Unauthorized'
5043         '403':
5044           $ref: '#/components/responses/Forbidden'
5045         '404':
5046           $ref: '#/components/responses/NotFound'
5047         '405':
5048           $ref: '#/components/responses/MethodNotAllowed'
5049         '406':
5050           $ref: '#/components/responses/NotAcceptable'
5051         '409':
5052           $ref: '#/components/responses/Conflict'
5053         '422':
5054           $ref: '#/components/responses/UnprocessableEntity'
5055         '500':
5056           $ref: '#/components/responses/InternalServerError'
5057         '503':
5058           $ref: '#/components/responses/ServiceUnavailable'
5059         '5XX':
5060           $ref: '#/components/responses/UnexpectedError'
5061         default:
5062           $ref: '#/components/responses/UnexpectedError'
5063     post:
5064       tags:
5065         - "Admin"
5066       summary: Create a new SDN
5067       description: Create a new SDN
5068       operationId: createSDN
5069       requestBody:
5070         $ref: '#/components/requestBodies/CreateSdnRequest'
5071       responses:
5072         '202':
5073           description: Accepted
5074           content:
5075             application/json:
5076               schema:
5077                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5078             application/yaml:
5079               schema:
5080                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5081         '400':
5082           $ref: '#/components/responses/BadRequest'
5083         '401':
5084           $ref: '#/components/responses/Unauthorized'
5085         '403':
5086           $ref: '#/components/responses/Forbidden'
5087         '404':
5088           $ref: '#/components/responses/NotFound'
5089         '405':
5090           $ref: '#/components/responses/MethodNotAllowed'
5091         '406':
5092           $ref: '#/components/responses/NotAcceptable'
5093         '409':
5094           $ref: '#/components/responses/Conflict'
5095         '422':
5096           $ref: '#/components/responses/UnprocessableEntity'
5097         '500':
5098           $ref: '#/components/responses/InternalServerError'
5099         '503':
5100           $ref: '#/components/responses/ServiceUnavailable'
5101         '5XX':
5102           $ref: '#/components/responses/UnexpectedError'
5103         default:
5104           $ref: '#/components/responses/UnexpectedError'
5105   '/admin/v1/sdns/{sdnId}':
5106     parameters:
5107       - name: sdnId
5108         in: path
5109         required: true
5110         description: SDN ID
5111         schema:
5112           type: string
5113           format: uuid
5114     get:
5115       tags:
5116         - "Admin"
5117       summary: Query information about an individual SDN
5118       description: Query information about an individual SDN
5119       operationId: getSDN
5120       responses:
5121         '200':
5122           description: OK
5123           content:
5124             application/json:
5125               schema:
5126                 $ref: '#/components/schemas/SdnInfo'
5127             application/yaml:
5128               schema:
5129                 $ref: '#/components/schemas/SdnInfo'
5130         '400':
5131           $ref: '#/components/responses/BadRequest'
5132         '401':
5133           $ref: '#/components/responses/Unauthorized'
5134         '403':
5135           $ref: '#/components/responses/Forbidden'
5136         '404':
5137           $ref: '#/components/responses/NotFound'
5138         '405':
5139           $ref: '#/components/responses/MethodNotAllowed'
5140         '406':
5141           $ref: '#/components/responses/NotAcceptable'
5142         '409':
5143           $ref: '#/components/responses/Conflict'
5144         '422':
5145           $ref: '#/components/responses/UnprocessableEntity'
5146         '500':
5147           $ref: '#/components/responses/InternalServerError'
5148         '503':
5149           $ref: '#/components/responses/ServiceUnavailable'
5150         '5XX':
5151           $ref: '#/components/responses/UnexpectedError'
5152         default:
5153           $ref: '#/components/responses/UnexpectedError'
5154     patch:
5155       tags:
5156         - "Admin"
5157       summary: Modify a SDN
5158       description: Modify a SDN
5159       operationId: editSDN
5160       requestBody:
5161         $ref: '#/components/requestBodies/EditSdnRequest'
5162       responses:
5163         '202':
5164           description: Accepted
5165           content:
5166             application/json:
5167               schema:
5168                 $ref: '#/components/schemas/OpId'
5169             application/yaml:
5170               schema:
5171                 $ref: '#/components/schemas/OpId'
5172         '400':
5173           $ref: '#/components/responses/BadRequest'
5174         '401':
5175           $ref: '#/components/responses/Unauthorized'
5176         '403':
5177           $ref: '#/components/responses/Forbidden'
5178         '404':
5179           $ref: '#/components/responses/NotFound'
5180         '405':
5181           $ref: '#/components/responses/MethodNotAllowed'
5182         '406':
5183           $ref: '#/components/responses/NotAcceptable'
5184         '409':
5185           $ref: '#/components/responses/Conflict'
5186         '422':
5187           $ref: '#/components/responses/UnprocessableEntity'
5188         '500':
5189           $ref: '#/components/responses/InternalServerError'
5190         '503':
5191           $ref: '#/components/responses/ServiceUnavailable'
5192         '5XX':
5193           $ref: '#/components/responses/UnexpectedError'
5194         default:
5195           $ref: '#/components/responses/UnexpectedError'
5196     delete:
5197       tags:
5198         - "Admin"
5199       summary: Delete a SDN
5200       description: Delete a SDN
5201       operationId: deleteSDN
5202       responses:
5203         '202':
5204           description: Accepted
5205         '400':
5206           $ref: '#/components/responses/BadRequest'
5207         '401':
5208           $ref: '#/components/responses/Unauthorized'
5209         '403':
5210           $ref: '#/components/responses/Forbidden'
5211         '404':
5212           $ref: '#/components/responses/NotFound'
5213         '405':
5214           $ref: '#/components/responses/MethodNotAllowed'
5215         '406':
5216           $ref: '#/components/responses/NotAcceptable'
5217         '409':
5218           $ref: '#/components/responses/Conflict'
5219         '422':
5220           $ref: '#/components/responses/UnprocessableEntity'
5221         '500':
5222           $ref: '#/components/responses/InternalServerError'
5223         '503':
5224           $ref: '#/components/responses/ServiceUnavailable'
5225         '5XX':
5226           $ref: '#/components/responses/UnexpectedError'
5227         default:
5228           $ref: '#/components/responses/UnexpectedError'
5229   '/admin/v1/k8sclusters':
5230     get:
5231       tags:
5232         - "Admin"
5233       summary: Query information about multiple K8s Clusters
5234       description: Query information about multiple K8s Clusters
5235       operationId: getK8sClusters
5236       responses:
5237         '200':
5238           description: OK
5239           content:
5240             application/json:
5241               schema:
5242                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5243             application/yaml:
5244               schema:
5245                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5246         '400':
5247           $ref: '#/components/responses/BadRequest'
5248         '401':
5249           $ref: '#/components/responses/Unauthorized'
5250         '403':
5251           $ref: '#/components/responses/Forbidden'
5252         '404':
5253           $ref: '#/components/responses/NotFound'
5254         '405':
5255           $ref: '#/components/responses/MethodNotAllowed'
5256         '406':
5257           $ref: '#/components/responses/NotAcceptable'
5258         '409':
5259           $ref: '#/components/responses/Conflict'
5260         '422':
5261           $ref: '#/components/responses/UnprocessableEntity'
5262         '500':
5263           $ref: '#/components/responses/InternalServerError'
5264         '503':
5265           $ref: '#/components/responses/ServiceUnavailable'
5266         '5XX':
5267           $ref: '#/components/responses/UnexpectedError'
5268         default:
5269           $ref: '#/components/responses/UnexpectedError'
5270     post:
5271       tags:
5272         - "Admin"
5273       summary: Create a new K8s Cluster
5274       description: Create a new K8s Cluster
5275       operationId: createK8sCluster
5276       requestBody:
5277         $ref: '#/components/requestBodies/CreateK8sClusterRequest'
5278       responses:
5279         '202':
5280           description: Accepted
5281           content:
5282             application/json:
5283               schema:
5284                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5285             application/yaml:
5286               schema:
5287                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5288         '400':
5289           $ref: '#/components/responses/BadRequest'
5290         '401':
5291           $ref: '#/components/responses/Unauthorized'
5292         '403':
5293           $ref: '#/components/responses/Forbidden'
5294         '404':
5295           $ref: '#/components/responses/NotFound'
5296         '405':
5297           $ref: '#/components/responses/MethodNotAllowed'
5298         '406':
5299           $ref: '#/components/responses/NotAcceptable'
5300         '409':
5301           $ref: '#/components/responses/Conflict'
5302         '422':
5303           $ref: '#/components/responses/UnprocessableEntity'
5304         '500':
5305           $ref: '#/components/responses/InternalServerError'
5306         '503':
5307           $ref: '#/components/responses/ServiceUnavailable'
5308         '5XX':
5309           $ref: '#/components/responses/UnexpectedError'
5310         default:
5311           $ref: '#/components/responses/UnexpectedError'
5312   '/admin/v1/k8sclusters/{k8sClusterId}':
5313     parameters:
5314       - name: k8sClusterId
5315         in: path
5316         required: true
5317         description: K8s Cluster ID
5318         schema:
5319           type: string
5320           format: uuid
5321     get:
5322       tags:
5323         - "Admin"
5324       summary: Query information about an individual K8s Cluster
5325       description: Query information about an individual K8s Cluster
5326       operationId: getK8sCluster
5327       responses:
5328         '200':
5329           description: OK
5330           content:
5331             application/json:
5332               schema:
5333                 $ref: '#/components/schemas/K8sClusterInfo'
5334             application/yaml:
5335               schema:
5336                 $ref: '#/components/schemas/K8sClusterInfo'
5337         '400':
5338           $ref: '#/components/responses/BadRequest'
5339         '401':
5340           $ref: '#/components/responses/Unauthorized'
5341         '403':
5342           $ref: '#/components/responses/Forbidden'
5343         '404':
5344           $ref: '#/components/responses/NotFound'
5345         '405':
5346           $ref: '#/components/responses/MethodNotAllowed'
5347         '406':
5348           $ref: '#/components/responses/NotAcceptable'
5349         '409':
5350           $ref: '#/components/responses/Conflict'
5351         '422':
5352           $ref: '#/components/responses/UnprocessableEntity'
5353         '500':
5354           $ref: '#/components/responses/InternalServerError'
5355         '503':
5356           $ref: '#/components/responses/ServiceUnavailable'
5357         '5XX':
5358           $ref: '#/components/responses/UnexpectedError'
5359         default:
5360           $ref: '#/components/responses/UnexpectedError'
5361     patch:
5362       tags:
5363         - "Admin"
5364       summary: Modify a K8s Cluster
5365       description: Modify a K8s Cluster
5366       operationId: editK8sCluster
5367       requestBody:
5368         $ref: '#/components/requestBodies/EditK8sClusterRequest'
5369       responses:
5370         '202':
5371           description: Accepted
5372           content:
5373             application/json:
5374               schema:
5375                 $ref: '#/components/schemas/OpId'
5376             application/yaml:
5377               schema:
5378                 $ref: '#/components/schemas/OpId'
5379         '400':
5380           $ref: '#/components/responses/BadRequest'
5381         '401':
5382           $ref: '#/components/responses/Unauthorized'
5383         '403':
5384           $ref: '#/components/responses/Forbidden'
5385         '404':
5386           $ref: '#/components/responses/NotFound'
5387         '405':
5388           $ref: '#/components/responses/MethodNotAllowed'
5389         '406':
5390           $ref: '#/components/responses/NotAcceptable'
5391         '409':
5392           $ref: '#/components/responses/Conflict'
5393         '422':
5394           $ref: '#/components/responses/UnprocessableEntity'
5395         '500':
5396           $ref: '#/components/responses/InternalServerError'
5397         '503':
5398           $ref: '#/components/responses/ServiceUnavailable'
5399         '5XX':
5400           $ref: '#/components/responses/UnexpectedError'
5401         default:
5402           $ref: '#/components/responses/UnexpectedError'
5403     delete:
5404       tags:
5405         - "Admin"
5406       summary: Delete a K8s Cluster
5407       description: Delete a K8s Cluster
5408       operationId: deleteK8sCluster
5409       responses:
5410         '202':
5411           description: Accepted
5412         '400':
5413           $ref: '#/components/responses/BadRequest'
5414         '401':
5415           $ref: '#/components/responses/Unauthorized'
5416         '403':
5417           $ref: '#/components/responses/Forbidden'
5418         '404':
5419           $ref: '#/components/responses/NotFound'
5420         '405':
5421           $ref: '#/components/responses/MethodNotAllowed'
5422         '406':
5423           $ref: '#/components/responses/NotAcceptable'
5424         '409':
5425           $ref: '#/components/responses/Conflict'
5426         '422':
5427           $ref: '#/components/responses/UnprocessableEntity'
5428         '500':
5429           $ref: '#/components/responses/InternalServerError'
5430         '503':
5431           $ref: '#/components/responses/ServiceUnavailable'
5432         '5XX':
5433           $ref: '#/components/responses/UnexpectedError'
5434         default:
5435           $ref: '#/components/responses/UnexpectedError'
5436   '/admin/v1/k8srepos':
5437     get:
5438       tags:
5439         - "Admin"
5440       summary: Query information about multiple K8s Repos
5441       description: Query information about multiple K8s Repos
5442       operationId: getK8sRepos
5443       responses:
5444         '200':
5445           description: OK
5446           content:
5447             application/json:
5448               schema:
5449                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
5450             application/yaml:
5451               schema:
5452                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
5453         '400':
5454           $ref: '#/components/responses/BadRequest'
5455         '401':
5456           $ref: '#/components/responses/Unauthorized'
5457         '403':
5458           $ref: '#/components/responses/Forbidden'
5459         '404':
5460           $ref: '#/components/responses/NotFound'
5461         '405':
5462           $ref: '#/components/responses/MethodNotAllowed'
5463         '406':
5464           $ref: '#/components/responses/NotAcceptable'
5465         '409':
5466           $ref: '#/components/responses/Conflict'
5467         '422':
5468           $ref: '#/components/responses/UnprocessableEntity'
5469         '500':
5470           $ref: '#/components/responses/InternalServerError'
5471         '503':
5472           $ref: '#/components/responses/ServiceUnavailable'
5473         '5XX':
5474           $ref: '#/components/responses/UnexpectedError'
5475         default:
5476           $ref: '#/components/responses/UnexpectedError'
5477     post:
5478       tags:
5479         - "Admin"
5480       summary: Create a new K8s Repo
5481       description: Create a new K8s Repo
5482       operationId: createK8sRepo
5483       requestBody:
5484         $ref: '#/components/requestBodies/CreateK8sRepoRequest'
5485       responses:
5486         '202':
5487           description: Accepted
5488           content:
5489             application/json:
5490               schema:
5491                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5492             application/yaml:
5493               schema:
5494                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5495         '400':
5496           $ref: '#/components/responses/BadRequest'
5497         '401':
5498           $ref: '#/components/responses/Unauthorized'
5499         '403':
5500           $ref: '#/components/responses/Forbidden'
5501         '404':
5502           $ref: '#/components/responses/NotFound'
5503         '405':
5504           $ref: '#/components/responses/MethodNotAllowed'
5505         '406':
5506           $ref: '#/components/responses/NotAcceptable'
5507         '409':
5508           $ref: '#/components/responses/Conflict'
5509         '422':
5510           $ref: '#/components/responses/UnprocessableEntity'
5511         '500':
5512           $ref: '#/components/responses/InternalServerError'
5513         '503':
5514           $ref: '#/components/responses/ServiceUnavailable'
5515         '5XX':
5516           $ref: '#/components/responses/UnexpectedError'
5517         default:
5518           $ref: '#/components/responses/UnexpectedError'
5519   '/admin/v1/k8srepos/{k8sRepoId}':
5520     parameters:
5521       - name: k8sRepoId
5522         in: path
5523         required: true
5524         description: K8s Repo ID
5525         schema:
5526           type: string
5527           format: uuid
5528     get:
5529       tags:
5530         - "Admin"
5531       summary: Query information about an individual K8s Repo
5532       description: Query information about an individual K8s Repo
5533       operationId: getK8sRepo
5534       responses:
5535         '200':
5536           description: OK
5537           content:
5538             application/json:
5539               schema:
5540                 $ref: '#/components/schemas/K8sRepoInfo'
5541             application/yaml:
5542               schema:
5543                 $ref: '#/components/schemas/K8sRepoInfo'
5544         '400':
5545           $ref: '#/components/responses/BadRequest'
5546         '401':
5547           $ref: '#/components/responses/Unauthorized'
5548         '403':
5549           $ref: '#/components/responses/Forbidden'
5550         '404':
5551           $ref: '#/components/responses/NotFound'
5552         '405':
5553           $ref: '#/components/responses/MethodNotAllowed'
5554         '406':
5555           $ref: '#/components/responses/NotAcceptable'
5556         '409':
5557           $ref: '#/components/responses/Conflict'
5558         '422':
5559           $ref: '#/components/responses/UnprocessableEntity'
5560         '500':
5561           $ref: '#/components/responses/InternalServerError'
5562         '503':
5563           $ref: '#/components/responses/ServiceUnavailable'
5564         '5XX':
5565           $ref: '#/components/responses/UnexpectedError'
5566         default:
5567           $ref: '#/components/responses/UnexpectedError'
5568     delete:
5569       tags:
5570         - "Admin"
5571       summary: Delete a K8s Repo
5572       description: Delete a K8s Repo
5573       operationId: deleteK8sRepo
5574       responses:
5575         '202':
5576           description: Accepted
5577         '400':
5578           $ref: '#/components/responses/BadRequest'
5579         '401':
5580           $ref: '#/components/responses/Unauthorized'
5581         '403':
5582           $ref: '#/components/responses/Forbidden'
5583         '404':
5584           $ref: '#/components/responses/NotFound'
5585         '405':
5586           $ref: '#/components/responses/MethodNotAllowed'
5587         '406':
5588           $ref: '#/components/responses/NotAcceptable'
5589         '409':
5590           $ref: '#/components/responses/Conflict'
5591         '422':
5592           $ref: '#/components/responses/UnprocessableEntity'
5593         '500':
5594           $ref: '#/components/responses/InternalServerError'
5595         '503':
5596           $ref: '#/components/responses/ServiceUnavailable'
5597         '5XX':
5598           $ref: '#/components/responses/UnexpectedError'
5599         default:
5600           $ref: '#/components/responses/UnexpectedError'
5601 # END Admin
5602
5603 externalDocs:
5604   description: Find out more about OSM
5605   url: 'https://osm.etsi.org/docs/user-guide/'
5606
5607 components:
5608   responses:
5609     BadRequest:
5610       description: Bad request. The server cannot process the request due to a client error.
5611       content:
5612         application/json:
5613           schema:
5614             $ref: '#/components/schemas/ProblemDetails'
5615     Unauthorized:
5616       description: Authorization information is missing or invalid.
5617       content:
5618         application/json:
5619           schema:
5620             $ref: '#/components/schemas/ProblemDetails'
5621     Forbidden:
5622       description: Not enough permissions to do this operation.
5623       content:
5624         application/json:
5625           schema:
5626             $ref: '#/components/schemas/ProblemDetails'
5627     NotFound:
5628       description: The specified resource was not found.
5629       content:
5630         application/json:
5631           schema:
5632             $ref: '#/components/schemas/ProblemDetails'
5633     MethodNotAllowed:
5634       description: This method is not supported for the requested resource.
5635       content:
5636         application/json:
5637           schema:
5638             $ref: '#/components/schemas/ProblemDetails'
5639     NotAcceptable:
5640       description: The requested resource content cannot match the Accept headers sent in the request.
5641       content:
5642         application/json:
5643           schema:
5644             $ref: '#/components/schemas/ProblemDetails'
5645     Conflict:
5646       description: The operation cannot be executed currently, due to a conflict with the state of the resource.
5647       content:
5648         application/json:
5649           schema:
5650             $ref: '#/components/schemas/ProblemDetails'
5651     UnprocessableEntity:
5652       description: The request was well-formed but was unable to be followed due to semantic errors.
5653       content:
5654         application/json:
5655           schema:
5656             $ref: '#/components/schemas/ProblemDetails'
5657     InternalServerError:
5658       description: Internal server error.
5659       content:
5660         application/json:
5661           schema:
5662             $ref: '#/components/schemas/ProblemDetails'
5663     ServiceUnavailable:
5664       description: Service temporarily unavailable.
5665       content:
5666         application/json:
5667           schema:
5668             $ref: '#/components/schemas/ProblemDetails'
5669     UnexpectedError:
5670       description: Unexpected error.
5671       content:
5672         application/json:
5673           schema:
5674             $ref: '#/components/schemas/ProblemDetails'
5675     VnfDescriptor:
5676       description: VNF Descriptor (plaintext)
5677       content:
5678         text/plain:
5679           schema:
5680             $ref: '#/components/schemas/VnfDescriptor'
5681     VnfPackage:
5682       description: VNF Package (compressed)
5683       content:
5684         application/zip:
5685           schema:
5686             $ref: '#/components/schemas/VnfPackage'
5687     NsDescriptor:
5688       description: NS Descriptor (plaintext)
5689       content:
5690         text/plain:
5691           schema:
5692             $ref: '#/components/schemas/NsDescriptor'
5693     NsPackage:
5694       description: NS Package (compressed)
5695       content:
5696         application/zip:
5697           schema:
5698             $ref: '#/components/schemas/NsPackage'
5699     NetSliceTemplate:
5700       description: NetSlice Template (plaintext)
5701       content:
5702         text/plain:
5703           schema:
5704             $ref: '#/components/schemas/NetSliceTemplate'
5705     NetSlicePackage:
5706       description: NetSlice Package (compressed)
5707       content:
5708         application/zip:
5709           schema:
5710             $ref: '#/components/schemas/NetSlicePackage'
5711   # END RESPONSES
5712
5713   schemas:
5714     ObjectId:
5715       type: object
5716       properties:
5717         id:
5718           type: string
5719           format: uuid
5720     KeyValuePairs:
5721       # A free list of key:value pairs
5722       type: object
5723       additionalProperties: true
5724     NsDescriptor:
5725       type: string
5726       format: yaml|json
5727     NsPackage:
5728       type: string
5729       format: binary
5730     CreateNsdInfoRequest:
5731       # A free list of key:value pairs
5732       type: object
5733       additionalProperties: true
5734     NsdInfoModifications:
5735       description: |
5736         NS Descriptor Information
5737         Only generic fields (id, name, description) are described
5738         For a full specification of the NS Descriptor see:
5739         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
5740       type: object
5741       properties:
5742         id:
5743           description: NSD Identifier
5744           type: string
5745         name:
5746           description: NSD Name
5747           type: string
5748         description:
5749           description: NSD Description
5750           type: string
5751     NsdInfo:
5752       description: |
5753         NS Descriptor Information
5754         Only generic fields (_id, id, name, description) are described
5755         For a full specification of the NS Descriptor see:
5756         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
5757       type: object
5758       properties:
5759         _id:
5760           description: |
5761             Identifier of the onboarded individual NS descriptor
5762             resource. This identifier is allocated by the NFVO.
5763           type: string
5764           format: uuid
5765         id:
5766           description: |
5767             This identifier, which is allocated by the NSD
5768             designer, identifies the NSD in a globally unique
5769             way. It is copied from the NSD content and shall be
5770             present after the NSD content is on-boarded.
5771           type: string
5772         name:
5773           description: |
5774             Name of the onboarded NSD. This information is
5775             copied from the NSD content and shall be present
5776             after the NSD content is on-boarded.
5777           type: string
5778         description:
5779           description: |
5780             Description of the onboarded NSD.
5781             This information is copied from the NSD content.
5782           type: string
5783       required:
5784         - _id
5785         - id
5786     ArrayOfNsdInfo:
5787       type: array
5788       items:
5789         $ref: '#/components/schemas/NsdInfo'
5790     ProblemDetails:
5791       type: object
5792       properties:
5793         type:
5794           type: string
5795           format: uri
5796         title:
5797           type: string
5798         status:
5799           type: integer
5800         detail:
5801           type: string
5802         instance:
5803           type: string
5804           format: uri
5805       additionalProperties: true
5806       required:
5807         - status
5808         - detail
5809     VnfDescriptor:
5810       type: string
5811       format: yaml|json
5812     VnfPackage:
5813       type: string
5814       format: binary
5815     CreateVnfPkgInfoRequest:
5816       # A free list of key:value pairs
5817       type: object
5818       additionalProperties: true
5819     VnfPkgInfoModifications:
5820       description: |
5821         VNF Package Information
5822         Only generic fields (id, name, description) are described
5823         For a full specification of the VNF Descriptor see:
5824         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
5825       type: object
5826       properties:
5827         id:
5828           description: VNF Package Identifier
5829           type: string
5830         name:
5831           description: VNF Package Name
5832           type: string
5833         description:
5834           description: VNF Package description
5835           type: string
5836     VnfPkgInfo:
5837       description: |
5838         VNF Package Information
5839         Only generic fields (_id, id, name, description) are described
5840         For a full specification of the VNF Descriptor see:
5841         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
5842       type: object
5843       properties:
5844         _id:
5845           description: |
5846             Identifier of the VNF package. This identifier is allocated by the NFVO.
5847           type: string
5848           format: uuid
5849         id:
5850           description: VNF Package Identifier
5851           type: string
5852         name:
5853           description: VNF Package Name
5854           type: string
5855         description:
5856           description: VNF Package description
5857           type: string
5858       required:
5859         - _id
5860         - id
5861     ArrayOfVnfPkgInfo:
5862       type: array
5863       items:
5864         $ref: '#/components/schemas/VnfPkgInfo'
5865     # CreateNsRequest:
5866       # Substituted by InstantiateNsRequest
5867     NsInstance:
5868       description: |
5869         NS Instance Information
5870         Only generic fields (_id, id, name, description) are described
5871         For a full specification of the NS Instance see:
5872         http://osm-download.etsi.org/ftp/osm-doc/nsr.html
5873       type: object
5874       properties:
5875         _id:
5876           description: Identifier of the NS instance.
5877           type: string
5878           format: uuid
5879         id:
5880           description: Identifier of the NS instance.
5881           type: string
5882           format: uuid
5883         name:
5884           description: Human readable name of the NS instance.
5885           type: string
5886         description:
5887           description: Human readable description of the NS instance.
5888           type: string
5889       required:
5890         - _id
5891         - id
5892         - name
5893     InstantiateNsRequest:
5894       type: object
5895       properties:
5896         nsName:
5897           description: |
5898             Human-readable name of the NS instance to be created.
5899           type: string
5900         nsdId:
5901           description: |
5902             Identifier of the NSD that defines the NS instance to be created.
5903           type: string
5904           format: uuid
5905         vimAccountId:
5906           description: |
5907             Identifier of the VIM Account where the NS instance shall be created.
5908           type: string
5909           format: uuid
5910         lcmOperationType:
5911           type: string
5912         nsInstanceId:
5913           type: string
5914           format: uuid
5915         netsliceInstanceId:
5916           type: string
5917           format: uuid
5918         nsDescription:
5919           type: string
5920           nullable: true
5921         wimAccountId:
5922           oneOf:
5923             - type: string
5924             - type: boolean
5925           nullable: true
5926         additionalParamsForNs:
5927           type: object
5928           additionalProperties: true
5929         additionalParamsForVnf:
5930           type: array
5931           items:
5932             type: object
5933             properties:
5934               member-vnf-index:
5935                 type: string
5936               additionalParams:
5937                 type: object
5938                 additionalProperties: true
5939               additionalParamsForVdu:
5940                 type: array
5941                 items:
5942                   type: object
5943                   properties:
5944                     vdu_id:
5945                       type: string
5946                     additionalParams:
5947                       type: object
5948                       additionalProperties: true
5949                   required:
5950                     - vdu_id
5951                     - additionalParams
5952                   additionalProperties: false
5953               additionalParamsForKdu:
5954                 type: array
5955                 items:
5956                   type: object
5957                   properties:
5958                     kdu_name:
5959                       type: string
5960                     additionalParams:
5961                       type: object
5962                       additionalProperties: true
5963                   required:
5964                     - kdu_name
5965                     - additionalParams
5966                   additionalProperties: false
5967             required:
5968               - member-vnf-index
5969             minProperties: 2
5970             additionalProperties: false
5971         ssh_keys:
5972           type: array
5973           items:
5974             type: string
5975         nsr_id:
5976           type: string
5977           format: uuid
5978         vduImage:
5979           type: string
5980         vnf:
5981           type: array
5982           items:
5983             type: object
5984             properties:
5985               member-vnf-index:
5986                 type: string
5987               vimAccountId:
5988                 type: string
5989                 format: uuid
5990               vdu:
5991                 type: array
5992                 items:
5993                   type: object
5994                   properties:
5995                     id:
5996                       type: string
5997                     volume:
5998                       type: array
5999                       items:
6000                         type: object
6001                         properties:
6002                           name:
6003                             type: string
6004                           vim-volume-id:
6005                             type: string
6006                         required:
6007                           - name
6008                           - vim-volume-id
6009                         additionalProperties: false
6010                       minItems: 1
6011                     interface:
6012                       type: array
6013                       items:
6014                         type: object
6015                         properties:
6016                           name:
6017                             type: string
6018                           ip-address:
6019                             type: string
6020                             format: ipv4
6021                           mac-address:
6022                             type: string
6023                             format: mac_address
6024                           floating-ip-required:
6025                             type: boolean
6026                         required:
6027                           - name
6028                         additionalProperties: false
6029                       minItems: 1
6030                   required:
6031                     - id
6032                   additionalProperties: false
6033                 minItems: 1
6034               internal-vld:
6035                 type: array
6036                 items:
6037                   type: object
6038                   properties:
6039                     name:
6040                       type: string
6041                     vim-network-name:
6042                       type: string
6043                     vim-network-id:
6044                       type: string
6045                     ip-profile:
6046                       type: object
6047                       properties:
6048                         ip-version:
6049                           type: string
6050                           enum:
6051                             - ipv4
6052                             - ipv6
6053                         subnet-address:
6054                           type: string
6055                           format: ip_prefix
6056                           nullable: true
6057                         gateway-address:
6058                           type: string
6059                           format: ipv4
6060                           nullable: true
6061                         dns-server:
6062                           type: array
6063                           items:
6064                             type: object
6065                             properties:
6066                               address:
6067                                 type: string
6068                                 format: ipv4
6069                             required:
6070                               - address
6071                             additionalProperties: false
6072                           minItems: 1
6073                           nullable: true
6074                         dhcp-params:
6075                           type: object
6076                           properties:
6077                             enabled:
6078                               type: boolean
6079                             count:
6080                               type: integer
6081                               minimum: 1
6082                             start-address:
6083                               type: string
6084                               format: ipv4
6085                           additionalProperties: false
6086                           nullable: true
6087                       additionalProperties: false
6088                     provider-network:
6089                       type: object
6090                       properties:
6091                         physical-network:
6092                           type: string
6093                         segmentation-id:
6094                           type: string
6095                       additionalProperties: false
6096                     internal-connection-point:
6097                       type: array
6098                       items:
6099                         type: object
6100                         properties:
6101                           id-ref:
6102                             type: string
6103                           ip-address:
6104                             type: string
6105                             format: ipv4
6106                         required:
6107                           - id-ref
6108                         minProperties: 2
6109                         additionalProperties: False
6110                       minItems: 1
6111                   required:
6112                     - name
6113                   minProperties: 2
6114                   additionalProperties: false
6115                 minItems: 1
6116             required:
6117               - member-vnf-index
6118             minProperties: 2
6119             additionalProperties: false
6120           minItems: 1
6121         vld:
6122           type: array
6123           items:
6124             type: object
6125             properties:
6126               name:
6127                 type: string
6128               vim-network-name:
6129                 oneOf:
6130                   - type: string
6131                   - type: object
6132               vim-network-id:
6133                 oneOf:
6134                   - type: string
6135                   - type: object
6136               ns-net:
6137                 type: object
6138                 additionalProperties: true
6139               wimAccountId:
6140                 oneOf:
6141                   - type: string
6142                   - type: boolean
6143                 nullable: true
6144               ip-profile:
6145                 type: object
6146                 additionalProperties: true
6147               provider-network:
6148                 type: object
6149                 properties:
6150                   physical-network:
6151                     type: string
6152                   segmentation-id:
6153                     type: string
6154                 additionalProperties: false
6155               vnfd-connection-point-ref:
6156                 type: array
6157                 items:
6158                   type: object
6159                   properties:
6160                     member-vnf-index-ref:
6161                       type: string
6162                     vnfd-connection-point-ref:
6163                       type: string
6164                     ip-address:
6165                       type: string
6166                       format: ipv4
6167                   required:
6168                     - member-vnf-index-ref
6169                     - vnfd-connection-point-ref
6170                   minProperties: 3
6171                   additionalProperties: false
6172                 minItems: 1
6173             required:
6174               - name
6175             additionalProperties: false
6176           minItems: 1
6177       required:
6178         - nsName
6179         - nsdId
6180         - vimAccountId
6181       additionalProperties: false
6182     ScaleNsRequest:
6183       type: object
6184       properties:
6185         scaleType:
6186           type: string
6187           enum:
6188             - SCALE_VNF
6189         scaleVnfData:
6190           type: object
6191           properties:
6192             scaleVnfType:
6193               type: string
6194               enum:
6195                 - SCALE_IN
6196                 - SCALE_OUT
6197             scaleByStepData:
6198               type: object
6199               properties:
6200                 scaling-group-descriptor:
6201                   type: string
6202                 member-vnf-index:
6203                   type: string
6204               additionalProperties: true
6205           additionalProperties: true
6206       additionalProperties: true
6207     TerminateNsRequest:
6208       type: object
6209       properties:
6210         terminationTime:
6211           description: |
6212             Timestamp indicating the end time of the NS, i.e. the NS will be terminated
6213             automatically at this timestamp. Cardinality "0" indicates the NS termination
6214             takes place immediately.
6215           type: string
6216           format: date-time
6217     ArrayOfNsInstance:
6218       type: array
6219       items:
6220         $ref: '#/components/schemas/NsInstance'
6221     NSinstanceActionRequest:
6222       type: object
6223       properties:
6224         primitive:
6225           type: string
6226         primitive_params:
6227           $ref: '#/components/schemas/KeyValuePairs'
6228         lcmOperationType:
6229           type: string
6230         nsInstanceId:
6231           type: string
6232           format: uuid
6233         member_vnf_index:
6234           type: string
6235         vdu_id:
6236           type: string
6237         vdu_count_index:
6238           type: integer
6239       required:
6240         - primitive
6241         - primitive_params
6242       additionalProperties: false
6243     # CreateNSinstanceContentRequest:
6244       # Substituted by InstantiateNsRequest
6245     CreateNSinstanceContentResponse:
6246       type: object
6247       properties:
6248         id:
6249           type: string
6250           format: uuid
6251         nslcmop_id:
6252           type: string
6253           format: uuid
6254     NsLcmOpOcc:
6255       type: object
6256       properties:
6257         _id:
6258           type: string
6259           format: uuid
6260         id:
6261           type: string
6262           format: uuid
6263         lcmOperationType:
6264           type: string
6265         nsInstanceId:
6266           type: string
6267           format: uuid
6268         isAutomaticInvocation:
6269           type: boolean
6270         isCancelPending:
6271           type: boolean
6272         startTime:
6273           type: number
6274           format: float
6275         statusEnteredTime:
6276           type: number
6277           format: float
6278         operationParams:
6279           type: object
6280           properties:
6281             nsName:
6282               type: string
6283             nsdId:
6284               type: string
6285               format: uuid
6286             vimAccountId:
6287               type: string
6288               format: uuid
6289             nsInstanceId:
6290               type: string
6291               format: uuid
6292             lcmOperationType:
6293               type: string
6294         operationState:
6295           type: string
6296         detailed-status:
6297           type: string
6298         links:
6299           type: object
6300           properties:
6301             self:
6302               type: string
6303               format: path   # uri?
6304             nsInstance:
6305               type: string
6306               format: path   # uri?
6307     ArrayOfNsLcmOpOcc:
6308       type: array
6309       items:
6310         $ref: '#/components/schemas/NsLcmOpOcc'
6311     VnfInstanceInfo:
6312       description: |
6313         VNF Instance Information
6314         Only generic fields (_id, id) are described
6315         For a full specification of the VNF Instance see:
6316         http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
6317       type: object
6318       properties:
6319         _id:
6320           type: string
6321           format: uuid
6322         id:
6323           type: string
6324           format: uuid
6325     ArrayOfVnfInstanceInfo:
6326       type: array
6327       items:
6328         $ref: '#/components/schemas/VnfInstanceInfo'
6329     NstInfo:
6330       description: |
6331         NetSlice Template Information
6332         Only generic fields (_id, id, name) are described
6333         For a full specification of the NetSlice Template see:
6334         http://osm-download.etsi.org/ftp/osm-doc/nst.html
6335       type: object
6336       properties:
6337         _id:
6338           description: NetSlice Template Identifier
6339           type: string
6340           format: uuid
6341         id:
6342           description: Human readable NetSlice Template Identifier
6343           type: string
6344         name:
6345           description: Human readable name of the NetSlice Template
6346           type: string
6347     ArrayOfNstInfo:
6348       type: array
6349       items:
6350         $ref: '#/components/schemas/NstInfo'
6351     CreateNstInfoRequest:
6352       # A free list of key:value pairs
6353       type: object
6354       additionalProperties: true
6355     NetSliceTemplate:
6356       type: string
6357       format: yaml|json
6358     NetSlicePackage:
6359       type: string
6360       format: binary
6361     NstInfoModifications:
6362       description: |
6363         NetSlice Template Information
6364         Only generic fields (id, name) are described
6365         For a full specification of the NetSlice Template see:
6366         http://osm-download.etsi.org/ftp/osm-doc/nst.html
6367       type: object
6368       properties:
6369         id:
6370           description: NST Identifier
6371           type: string
6372         name:
6373           description: NST Name
6374           type: string
6375     NetSliceInstance:
6376       description: |
6377         NetSlice Instance Information
6378         Only generic fields (_id, id, name, description) are described
6379         For a full specification of the NetSlice Instance see:
6380         http://osm-download.etsi.org/ftp/osm-doc/nsi.html
6381       type: object
6382       properties:
6383         _id:
6384           description: Identifier of the NetSlice instance.
6385           type: string
6386           format: uuid
6387         id:
6388           description: Identifier of the NetSlice instance.
6389           type: string
6390           format: uuid
6391         name:
6392           description: Human readable name of the NetSlice instance.
6393           type: string
6394         description:
6395           description: Human readable description of the NetSlice instance.
6396           type: string
6397       required:
6398         - _id
6399         - id
6400         - name
6401     ArrayOfNetSliceInstance:
6402       type: array
6403       items:
6404         $ref: '#/components/schemas/NetSliceInstance'
6405     # CreateNsiRequest:
6406       # Substituted by InstantiateNsiRequest
6407     InstantiateNsiRequest:
6408       type: object
6409       properties:
6410         nsiName:
6411           description: |
6412             Human-readable name of the NetSlice instance to be created.
6413           type: string
6414         nstId:
6415           description: |
6416             Identifier of the NST that defines the NetSlice instance to be created.
6417           type: string
6418           format: uuid
6419         vimAccountId:
6420           description: |
6421             Identifier of the VIM Account where the NetSlice instance shall be created.
6422           type: string
6423           format: uuid
6424         lcmOperationType:
6425           type: string
6426         netsliceInstanceId:
6427           type: string
6428           format: uuid
6429         nsiDescription:
6430           type: string
6431           nullable: true
6432         ssh_keys:
6433           type: string
6434         nsi_id:
6435           type: string
6436           format: uuid
6437         additionalParamsForNsi:
6438           type: object
6439           additionalProperties: true
6440         netslice-subnet:
6441           type: array
6442           items:
6443             type: object
6444             properties:
6445               id:
6446                 type: string
6447               nsName:
6448                 type: string
6449               nsdId:
6450                 type: string
6451                 format: uuid
6452               vimAccountId:
6453                 type: string
6454                 format: uuid
6455               lcmOperationType:
6456                 type: string
6457               nsInstanceId:
6458                 type: string
6459                 format: uuid
6460               netsliceInstanceId:
6461                 type: string
6462                 format: uuid
6463               nsDescription:
6464                 type: string
6465                 nullable: true
6466               wimAccountId:
6467                 oneOf:
6468                   - type: string
6469                   - type: boolean
6470                 nullable: true
6471               additionalParamsForNs:
6472                 type: object
6473                 additionalProperties: true
6474               additionalParamsForVnf:
6475                 type: array
6476                 items:
6477                   type: object
6478                   properties:
6479                     member-vnf-index:
6480                       type: string
6481                     additionalParams:
6482                       type: object
6483                       additionalProperties: true
6484                     additionalParamsForVdu:
6485                       type: array
6486                       items:
6487                         type: object
6488                         properties:
6489                           vdu_id:
6490                             type: string
6491                           additionalParams:
6492                             type: object
6493                             additionalProperties: true
6494                         required:
6495                           - vdu_id
6496                           - additionalParams
6497                         additionalProperties: false
6498                     additionalParamsForKdu:
6499                       type: array
6500                       items:
6501                         type: object
6502                         properties:
6503                           kdu_name:
6504                             type: string
6505                           additionalParams:
6506                             type: object
6507                             additionalProperties: true
6508                         required:
6509                           - kdu_name
6510                           - additionalParams
6511                         additionalProperties: false
6512                   required:
6513                     - member-vnf-index
6514                   minProperties: 2
6515                   additionalProperties: false
6516               ssh_keys:
6517                 type: array
6518                 items:
6519                   type: string
6520               nsr_id:
6521                 type: string
6522                 format: uuid
6523               vduImage:
6524                 type: string
6525               vnf:
6526                 type: array
6527                 items:
6528                   type: object
6529                   properties:
6530                     member-vnf-index:
6531                       type: string
6532                     vimAccountId:
6533                       type: string
6534                       format: uuid
6535                     vdu:
6536                       type: array
6537                       items:
6538                         type: object
6539                         properties:
6540                           id:
6541                             type: string
6542                           volume:
6543                             type: array
6544                             items:
6545                               type: object
6546                               properties:
6547                                 name:
6548                                   type: string
6549                                 vim-volume-id:
6550                                   type: string
6551                               required:
6552                                 - name
6553                                 - vim-volume-id
6554                               additionalProperties: false
6555                             minItems: 1
6556                           interface:
6557                             type: array
6558                             items:
6559                               type: object
6560                               properties:
6561                                 name:
6562                                   type: string
6563                                 ip-address:
6564                                   type: string
6565                                   format: ipv4
6566                                 mac-address:
6567                                   type: string
6568                                   format: mac_address
6569                                 floating-ip-required:
6570                                   type: boolean
6571                               required:
6572                                 - name
6573                               additionalProperties: false
6574                             minItems: 1
6575                         required:
6576                           - id
6577                         additionalProperties: false
6578                       minItems: 1
6579                     internal-vld:
6580                       type: array
6581                       items:
6582                         type: object
6583                         properties:
6584                           name:
6585                             type: string
6586                           vim-network-name:
6587                             type: string
6588                           vim-network-id:
6589                             type: string
6590                           ip-profile:
6591                             type: object
6592                             properties:
6593                               ip-version:
6594                                 type: string
6595                                 enum:
6596                                   - ipv4
6597                                   - ipv6
6598                               subnet-address:
6599                                 type: string
6600                                 format: ip_prefix
6601                                 nullable: true
6602                               gateway-address:
6603                                 type: string
6604                                 format: ipv4
6605                                 nullable: true
6606                               dns-server:
6607                                 type: array
6608                                 items:
6609                                   type: object
6610                                   properties:
6611                                     address:
6612                                       type: string
6613                                       format: ipv4
6614                                   required:
6615                                     - address
6616                                   additionalProperties: false
6617                                 minItems: 1
6618                                 nullable: true
6619                               dhcp-params:
6620                                 type: object
6621                                 properties:
6622                                   enabled:
6623                                     type: boolean
6624                                   count:
6625                                     type: integer
6626                                     minimum: 1
6627                                   start-address:
6628                                     type: string
6629                                     format: ipv4
6630                                 additionalProperties: false
6631                                 nullable: true
6632                             additionalProperties: false
6633                           provider-network:
6634                             type: object
6635                             properties:
6636                               physical-network:
6637                                 type: string
6638                               segmentation-id:
6639                                 type: string
6640                             additionalProperties: false
6641                           internal-connection-point:
6642                             type: array
6643                             items:
6644                               type: object
6645                               properties:
6646                                 id-ref:
6647                                   type: string
6648                                 ip-address:
6649                                   type: string
6650                                   format: ipv4
6651                               required:
6652                                 - id-ref
6653                               minProperties: 2
6654                               additionalProperties: False
6655                             minItems: 1
6656                         required:
6657                           - name
6658                         minProperties: 2
6659                         additionalProperties: false
6660                       minItems: 1
6661                   required:
6662                     - member-vnf-index
6663                   minProperties: 2
6664                   additionalProperties: false
6665                 minItems: 1
6666               vld:
6667                 type: array
6668                 items:
6669                   type: object
6670                   properties:
6671                     name:
6672                       type: string
6673                     vim-network-name:
6674                       oneOf:
6675                         - type: string
6676                         - type: object
6677                     vim-network-id:
6678                       oneOf:
6679                         - type: string
6680                         - type: object
6681                     ns-net:
6682                       type: object
6683                       additionalProperties: true
6684                     wimAccountId:
6685                       oneOf:
6686                         - type: string
6687                         - type: boolean
6688                       nullable: true
6689                     ip-profile:
6690                       type: object
6691                       additionalProperties: true
6692                     provider-network:
6693                       type: object
6694                       properties:
6695                         physical-network:
6696                           type: string
6697                         segmentation-id:
6698                           type: string
6699                       additionalProperties: false
6700                     vnfd-connection-point-ref:
6701                       type: array
6702                       items:
6703                         type: object
6704                         properties:
6705                           member-vnf-index-ref:
6706                             type: string
6707                           vnfd-connection-point-ref:
6708                             type: string
6709                           ip-address:
6710                             type: string
6711                             format: ipv4
6712                         required:
6713                           - member-vnf-index-ref
6714                           - vnfd-connection-point-ref
6715                         minProperties: 3
6716                         additionalProperties: false
6717                       minItems: 1
6718                   required:
6719                     - name
6720                   additionalProperties: false
6721                 minItems: 1
6722             additionalProperties: false
6723           minItems: 1
6724         netslice-vld:
6725           type: array
6726           items:
6727             type: object
6728             properties:
6729               name:
6730                 type: string
6731               vim-network-name:
6732                 oneOf:
6733                   - type: string
6734                   - type: object
6735               vim-network-id:
6736                 oneOf:
6737                   - type: string
6738                   - type: object
6739               ip-profile:
6740                 type: object
6741                 additionalProperties: true
6742             required:
6743               - name
6744             additionalProperties: false
6745           minItems: 1
6746       required:
6747         - nsiName
6748         - nstId
6749         - vimAccountId
6750       additionalProperties: false
6751     TerminateNsiRequest:
6752       type: object
6753       properties:
6754         terminationTime:
6755           description: |
6756             Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
6757             automatically at this timestamp. Cardinality "0" indicates the NSI termination
6758             takes place immediately.
6759           type: string
6760           format: date-time
6761     NsiActionRequest:
6762       type: object
6763       properties:
6764         primitive:
6765           type: string
6766         primitive_params:
6767           $ref: '#/components/schemas/KeyValuePairs'
6768         lcmOperationType:
6769           type: string
6770         netsliceInstanceId:
6771           type: string
6772           format: uuid
6773       required:
6774         - primitive
6775         - primitive_params
6776     # CreateNsiContentRequest:
6777       # Substituted by InstantiateNsiRequest
6778     CreateNsiContentResponse:
6779       type: object
6780       properties:
6781         id:
6782           type: string
6783           format: uuid
6784         nsilcmop_id:
6785           type: string
6786           format: uuid
6787     NsiLcmOpOcc:
6788       type: object
6789       properties:
6790         _id:
6791           type: string
6792           format: uuid
6793         id:
6794           type: string
6795           format: uuid
6796         lcmOperationType:
6797           type: string
6798         netsliceInstanceId:
6799           type: string
6800           format: uuid
6801         isAutomaticInvocation:
6802           type: boolean
6803         isCancelPending:
6804           type: boolean
6805         startTime:
6806           type: number
6807           format: float
6808         statusEnteredTime:
6809           type: number
6810           format: float
6811         operationParams:
6812           type: object
6813           properties:
6814             nsiName:
6815               type: string
6816             nstId:
6817               type: string
6818               format: uuid
6819             vimAccountId:
6820               type: string
6821               format: uuid
6822             netsliceInstanceId:
6823               type: string
6824               format: uuid
6825             lcmOperationType:
6826               type: string
6827             nslcmops_ids:
6828               type: array
6829               items:
6830                 type: string
6831                 format: uuid
6832         operationState:
6833           type: string
6834         detailed-status:
6835           type: string
6836         links:
6837           type: object
6838           properties:
6839             self:
6840               type: string
6841               format: path   # uri?
6842             netsliceInstanceId:
6843               type: string
6844               format: path   # uri?
6845     ArrayOfNsiLcmOpOcc:
6846       type: array
6847       items:
6848         $ref: '#/components/schemas/NsiLcmOpOcc'
6849     TokenInfo:
6850       type: object
6851       properties:
6852         _id:
6853           type: string
6854         id:
6855           type: string
6856         admin:
6857           type: boolean
6858         project_id:
6859           type: string
6860           format: uuid
6861         user_id:
6862           type: string
6863           format: uuid
6864         project_name:
6865           type: string
6866         username:
6867           type: string
6868         issued_at:
6869           type: number
6870           format: float
6871         expires:
6872           type: number
6873           format: float
6874         remote_host:
6875           type: string
6876           format: ipv4
6877         remote_port:
6878           type: integer
6879         roles:
6880           type: array
6881           items:
6882             type: object
6883             properties:
6884               id:
6885                 type: string
6886                 format: uuid
6887               name:
6888                 type: string
6889     ArrayOfTokenInfo:
6890       type: array
6891       items:
6892         $ref: '#/components/schemas/TokenInfo'
6893     CreateTokenRequest:
6894       type: object
6895       properties:
6896         username:
6897           type: string
6898         password:
6899           type: string
6900         project_id:
6901           type: string
6902       required:
6903         - username
6904         - password
6905     UserInfo:
6906       type: object
6907       properties:
6908         _id:
6909           type: string
6910           format: uuid
6911         username:
6912           type: string
6913         password:
6914           type: string
6915         project_role_mappings:
6916           type: array
6917           items:
6918             type: object
6919             properties:
6920               project:
6921                 type: string
6922                 format: uuid
6923               role:
6924                 type: string
6925                 format: uuid
6926               project_name:
6927                 type: string
6928               role_name:
6929                 type: string
6930         projects:
6931           type: array
6932           items:
6933             type: string
6934     ArrayOfUserInfo:
6935       type: array
6936       items:
6937         $ref: '#/components/schemas/UserInfo'
6938     ProjectRoleMappings:
6939       type: array
6940       items:
6941         type: object
6942         properties:
6943           project:
6944             type: string
6945           role:
6946             type: string
6947       required:
6948         - project
6949         - role
6950       additionalProperties: false
6951     ProjectRoleMappingsOpt:
6952       type: array
6953       items:
6954         type: object
6955         properties:
6956           project:
6957             type: string
6958           role:
6959             type: string
6960       required:
6961         - project
6962       additionalProperties: false
6963     CreateUserRequest:
6964       type: object
6965       properties:
6966         username:
6967           type: string
6968         password:
6969           type: string
6970         projects:
6971           type: array
6972           items:
6973             type: string
6974         project_role_mappings:
6975           $ref: '#/components/schemas/ProjectRoleMappings'
6976       required:
6977         - username
6978         - password
6979       additionalProperties: false
6980     ShortNameList:
6981       type: array
6982       items:
6983         type: string
6984     ArrayEditionSchema:
6985       type: object
6986       additionalProperties: true
6987       minProperties: 1
6988       description: |
6989         Array edition keys must start with '$'
6990         and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
6991     EditUserRequest:
6992       type: object
6993       properties:
6994         username:
6995           type: string
6996         password:
6997           type: string
6998         projects:
6999           oneOf:
7000             - $ref: '#/components/schemas/ShortNameList'
7001             - $ref: '#/components/schemas/ArrayEditionSchema'
7002         project_role_mappings:
7003           $ref: '#/components/schemas/ProjectRoleMappings'
7004         add_project_role_mappings:
7005           $ref: '#/components/schemas/ProjectRoleMappings'
7006         remove_project_role_mappings:
7007           $ref: '#/components/schemas/ProjectRoleMappingsOpt'
7008     QuotasInfo:
7009       type: object
7010       properties:
7011         vnfds:
7012           type: integer
7013           minimum: 0
7014           nullable: false
7015         nsds:
7016           type: integer
7017           minimum: 0
7018           nullable: false
7019         nsts:
7020           type: integer
7021           minimum: 0
7022           nullable: false
7023         pdus:
7024           type: integer
7025           minimum: 0
7026           nullable: false
7027         nsrs:
7028           type: integer
7029           minimum: 0
7030           nullable: false
7031         nsis:
7032           type: integer
7033           minimum: 0
7034           nullable: false
7035         vim_accounts:
7036           type: integer
7037           minimum: 0
7038           nullable: false
7039         wim_accounts:
7040           type: integer
7041           minimum: 0
7042           nullable: false
7043         sdns:
7044           type: integer
7045           minimum: 0
7046           nullable: false
7047       additionalProperties: false
7048     EditQuotasInfo:
7049       type: object
7050       properties:
7051         vnfds:
7052           type: integer
7053           minimum: 0
7054           nullable: true
7055         nsds:
7056           type: integer
7057           minimum: 0
7058           nullable: true
7059         nsts:
7060           type: integer
7061           minimum: 0
7062           nullable: true
7063         pdus:
7064           type: integer
7065           minimum: 0
7066           nullable: true
7067         nsrs:
7068           type: integer
7069           minimum: 0
7070           nullable: true
7071         nsis:
7072           type: integer
7073           minimum: 0
7074           nullable: true
7075         vim_accounts:
7076           type: integer
7077           minimum: 0
7078           nullable: true
7079         wim_accounts:
7080           type: integer
7081           minimum: 0
7082           nullable: true
7083         sdns:
7084           type: integer
7085           minimum: 0
7086           nullable: true
7087       additionalProperties: false
7088     ProjectInfo:
7089       type: object
7090       properties:
7091         _id:
7092           type: string
7093           format: uuid
7094         name:
7095           type: string
7096         quotas:
7097           $ref: '#/components/schemas/QuotasInfo'
7098     ArrayOfProjectInfo:
7099       type: array
7100       items:
7101         $ref: '#/components/schemas/ProjectInfo'
7102     CreateProjectRequest:
7103       type: object
7104       properties:
7105         name:
7106           type: string
7107         admin:
7108           type: boolean
7109         quotas:
7110           $ref: '#/components/schemas/QuotasInfo'
7111       required:
7112         - name
7113       additionalProperties: false
7114     EditProjectRequest:
7115       type: object
7116       properties:
7117         name:
7118           type: string
7119         admin:
7120           type: boolean
7121         quotas:
7122           $ref: '#/components/schemas/EditQuotasInfo'
7123       additionalProperties: false
7124     PermissionsInfo:
7125       type: object
7126       additionalProperties:
7127         type: boolean
7128         nullable: false
7129       description: |
7130         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7131         Permission values are either true or false
7132     EditPermissionsInfo:
7133       type: object
7134       additionalProperties:
7135         type: boolean
7136         nullable: true
7137       description: |
7138         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7139         Permission values are either true, false, or null
7140     RoleInfo:
7141       type: object
7142       properties:
7143         _id:
7144           type: string
7145           format: uuid
7146         name:
7147           type: string
7148         permissions:
7149           $ref: '#/components/schemas/PermissionsInfo'
7150     ArrayOfRoleInfo:
7151       type: array
7152       items:
7153         $ref: '#/components/schemas/RoleInfo'
7154     CreateRoleRequest:
7155       type: object
7156       properties:
7157         name:
7158           type: string
7159         permissions:
7160           $ref: '#/components/schemas/PermissionsInfo'
7161       required:
7162         - name
7163       additionalProperties: false
7164     EditRoleRequest:
7165       type: object
7166       properties:
7167         name:
7168           type: string
7169         permissions:
7170           $ref: '#/components/schemas/EditPermissionsInfo'
7171       additionalProperties: false
7172     VimType:
7173       type: string
7174       enum:
7175         - openvim
7176         - openstack
7177         - vmware
7178         - opennebula
7179         - aws
7180         - azure
7181         - fos
7182     VimInfo:
7183       type: object
7184       properties:
7185         _id:
7186           type: string
7187           format: uuid
7188         schema_version:
7189           type: string
7190           format: X.Y[.Z]
7191         schema_type:
7192           type: string
7193         name:
7194           type: string
7195         description:
7196           type: string
7197         vim:
7198           type: string
7199         datacenter:
7200           type: string
7201         vim_type:
7202           $ref: '#/components/schemas/VimType'
7203         vim_url:
7204           type: string
7205           format: uri
7206         vim_tenant_name:
7207           type: string
7208         vim_user:
7209           type: string
7210         vim_password:
7211           type: string
7212         config:
7213           type: object
7214           additionalProperties: true
7215     ArrayOfVimInfo:
7216       type: array
7217       items:
7218         $ref: '#/components/schemas/VimInfo'
7219     CreateVimRequest:
7220       type: object
7221       properties:
7222         schema_version:
7223           type: string
7224           format: X.Y[.Z]
7225         schema_type:
7226           type: string
7227         name:
7228           type: string
7229         description:
7230           type: string
7231         vim:
7232           type: string
7233         datacenter:
7234           type: string
7235         vim_type:
7236           $ref: '#/components/schemas/VimType'
7237         vim_url:
7238           type: string
7239           format: uri
7240         vim_tenant_name:
7241           type: string
7242         vim_user:
7243           type: string
7244         vim_password:
7245           type: string
7246         config:
7247           type: object
7248           additionalProperties: true
7249       required:
7250         - name
7251         - vim_url
7252         - vim_type
7253         - vim_user
7254         - vim_password
7255         - vim_tenant_name
7256       additionalProperties: false
7257     EditVimRequest:
7258       type: object
7259       properties:
7260         name:
7261           type: string
7262         description:
7263           type: string
7264         vim:
7265           type: string
7266         datacenter:
7267           type: string
7268         vim_type:
7269           $ref: '#/components/schemas/VimType'
7270         vim_url:
7271           type: string
7272           format: uri
7273         vim_tenant_name:
7274           type: string
7275         vim_user:
7276           type: string
7277         vim_password:
7278           type: string
7279         config:
7280           type: object
7281           additionalProperties: true
7282       additionalProperties: false
7283     ObjectId_plus_OpId:
7284       type: object
7285       properties:
7286         id:
7287           type: string
7288           format: uuid
7289         op_id:
7290           type: string
7291           format: uuid
7292     OpId:
7293       type: object
7294       properties:
7295         op_id:
7296           type: string
7297           format: uuid
7298     WimType:
7299       type: string
7300       enum:
7301         - onos
7302         - odl
7303         - tapi
7304         - dynpac
7305         - fake
7306     WimInfo:
7307       type: object
7308       properties:
7309         _id:
7310           type: string
7311           format: uuid
7312         schema_version:
7313           type: string
7314           format: X.Y[.Z]
7315         schema_type:
7316           type: string
7317         name:
7318           type: string
7319         description:
7320           type: string
7321         wim:
7322           type: string
7323         wim_type:
7324           $ref: '#/components/schemas/WimType'
7325         wim_url:
7326           type: string
7327           format: uri
7328         user:
7329           type: string
7330         password:
7331           type: string
7332         config:
7333           type: object
7334           additionalProperties: true
7335     ArrayOfWimInfo:
7336       type: array
7337       items:
7338         $ref: '#/components/schemas/WimInfo'
7339     CreateWimRequest:
7340       type: object
7341       properties:
7342         schema_version:
7343           type: string
7344           format: X.Y[.Z]
7345         schema_type:
7346           type: string
7347         name:
7348           type: string
7349         description:
7350           type: string
7351         wim:
7352           type: string
7353         wim_type:
7354           $ref: '#/components/schemas/WimType'
7355         wim_url:
7356           type: string
7357           format: uri
7358         user:
7359           type: string
7360         password:
7361           type: string
7362         config:
7363           type: object
7364           additionalProperties: true
7365       required:
7366         - name
7367         - wim_url
7368         - wim_type
7369       additionalProperties: false
7370     EditWimRequest:
7371       type: object
7372       properties:
7373         name:
7374           type: string
7375         description:
7376           type: string
7377         wim:
7378           type: string
7379         wim_type:
7380           type: string
7381         wim_url:
7382           type: string
7383           format: uri
7384         user:
7385           type: string
7386         password:
7387           type: string
7388         config:
7389           type: object
7390           additionalProperties: true
7391       additionalProperties: false
7392     SdnBasicProperties:
7393       type: object
7394       properties:
7395         name:
7396           type: string
7397         description:
7398           type: string
7399         dpid:
7400           type: string
7401           format: mac_address
7402         ip:
7403           type: string
7404           format: ipv4
7405         port:
7406           type: integer
7407         type:
7408           type: string
7409           enum:
7410             - floodlight
7411             - opendaylight
7412             - onos
7413         version:
7414           type: string
7415         user:
7416           type: string
7417         password:
7418           type: string
7419     SdnExtraProperties:
7420       type: object
7421       properties:
7422         _id:
7423           type: string
7424           format: uuid
7425         schema_version:
7426           type: string
7427           format: X.Y[.Z]
7428     SdnInfo:
7429       allOf:
7430         - $ref: '#/components/schemas/SdnExtraProperties'
7431         - $ref: '#/components/schemas/SdnBasicProperties'
7432     ArrayOfSdnInfo:
7433       type: array
7434       items:
7435         $ref: '#/components/schemas/SdnInfo'
7436     CreateSdnRequest:
7437       allOf:
7438         - $ref: '#/components/schemas/SdnBasicProperties'
7439       required:
7440         - name
7441         - type
7442         - ip
7443         - port
7444         - dpid
7445       additionalProperties: false
7446     EditSdnRequest:
7447       allOf:
7448         - $ref: '#/components/schemas/SdnBasicProperties'
7449       additionalProperties: false
7450     NsPmJobReportInfo:
7451       type: object
7452       properties:
7453         entries:
7454           type: array
7455           items:
7456             type: object
7457             properties:
7458               objectInstanceId:
7459                 type: string
7460                 format: uuid
7461               performanceMetric:
7462                 type: string
7463               performanceValue:
7464                 type: object
7465                 properties:
7466                   performanceValue:
7467                     type: object
7468                     properties:
7469                       performanceValue:
7470                         type: number
7471                       vnfMemberIndex:
7472                         type: string
7473                       vduName:
7474                         type: string
7475                   timestamp:
7476                     type: number
7477     PduInterfaces:
7478       type: array
7479       items:
7480         type: object
7481         properties:
7482           name:
7483             type: string
7484           mgmt:
7485             type: boolean
7486           type:
7487             type: string
7488             enum:
7489               - overlay
7490               - underlay
7491           ip-address:
7492             type: string
7493             format: ipv4
7494           mac-address:
7495             type: string
7496             format: mac_address
7497           vim-network-name:
7498             type: string
7499           vim-network-id:
7500             type: string
7501         required:
7502           - name
7503           - mgmt
7504           - ip-address
7505         additionalProperties: false
7506     PduInfo:
7507       type: object
7508       properties:
7509         _id:
7510           type: string
7511           format: uuid
7512         name:
7513           type: string
7514         type:
7515           type: string
7516         description:
7517           type: string
7518         shared:
7519           type: boolean
7520         vims:
7521           type: array
7522           items:
7523             type: string
7524         vim_accounts:
7525           type: array
7526           items:
7527             type: string
7528         interfaces:
7529           $ref: '#/components/schemas/PduInterfaces'
7530     ArrayOfPduInfo:
7531       type: array
7532       items:
7533         $ref: '#/components/schemas/PduInfo'
7534     CreatePduRequest:
7535       type: object
7536       properties:
7537         name:
7538           type: string
7539         type:
7540           type: string
7541         description:
7542           type: string
7543         shared:
7544           type: boolean
7545         vims:
7546           type: array
7547           items:
7548             type: string
7549         vim_accounts:
7550           type: array
7551           items:
7552             type: string
7553         interfaces:
7554           $ref: '#/components/schemas/PduInterfaces'
7555       required:
7556         - name
7557         - type
7558         - interfaces
7559       additionalProperties: false
7560     EditPduRequest:
7561       type: object
7562       properties:
7563         name:
7564           type: string
7565         type:
7566           type: string
7567         description:
7568           type: string
7569         shared:
7570           type: boolean
7571         vims:
7572           type: array
7573           items:
7574             type: string
7575         vim_accounts:
7576           type: array
7577           items:
7578             type: string
7579         interfaces:
7580           $ref: '#/components/schemas/PduInterfaces'
7581       additionalProperties: false
7582     K8sClusterNetList:
7583       type: array
7584       items:
7585         type: object
7586         additionalProperties: true
7587     K8sClusterInfo:
7588       type: object
7589       properties:
7590         _id:
7591           type: string
7592           format: uuid
7593         schema_version:
7594           type: string
7595           format: X.Y[.Z]
7596         schema_type:
7597           type: string
7598         name:
7599           type: string
7600         description:
7601           type: string
7602         credentials:
7603           type: object
7604           additionalProperties: true
7605         vim_account:
7606           type: string
7607           format: uuid
7608         k8s_version:
7609           type: string
7610         nets:
7611           $ref: '#/components/schemas/K8sClusterNetList'
7612         namespace:
7613           type: string
7614         cni:
7615           type: array
7616           items:
7617             type: string
7618     ArrayOfK8sClusterInfo:
7619       type: array
7620       items:
7621         $ref: '#/components/schemas/K8sClusterInfo'
7622     CreateK8sClusterRequest:
7623       type: object
7624       properties:
7625         schema_version:
7626           type: string
7627           format: X.Y[.Z]
7628         schema_type:
7629           type: string
7630         name:
7631           type: string
7632         description:
7633           type: string
7634         credentials:
7635           type: object
7636           additionalProperties: true
7637         vim_account:
7638           type: string
7639           format: uuid
7640         k8s_version:
7641           type: string
7642         nets:
7643           $ref: '#/components/schemas/K8sClusterNetList'
7644         namespace:
7645           type: string
7646         cni:
7647           type: array
7648           items:
7649             type: string
7650       required:
7651         - name
7652         - credentials
7653         - vim_account
7654         - k8s_version
7655         - nets
7656       additionalProperties: false
7657     EditK8sClusterRequest:
7658       type: object
7659       properties:
7660         name:
7661           type: string
7662         description:
7663           type: string
7664         credentials:
7665           type: object
7666           additionalProperties: true
7667         vim_account:
7668           type: string
7669           format: uuid
7670         k8s_version:
7671           type: string
7672         nets:
7673           $ref: '#/components/schemas/K8sClusterNetList'
7674         namespace:
7675           type: string
7676         cni:
7677           type: array
7678           items:
7679             type: string
7680       additionalProperties: false
7681     K8sRepoType:
7682       type: string
7683       enum:
7684         - chart
7685         - bundle
7686     K8sRepoInfo:
7687       type: object
7688       properties:
7689         _id:
7690           type: string
7691           format: uuid
7692         name:
7693           type: string
7694         description:
7695           type: string
7696         type:
7697           $ref: '#/components/schemas/K8sRepoType'
7698         url:
7699           type: string
7700           format: uri
7701     ArrayOfK8sRepoInfo:
7702       type: array
7703       items:
7704         $ref: '#/components/schemas/K8sRepoInfo'
7705     CreateK8sRepoRequest:
7706       type: object
7707       properties:
7708         name:
7709           type: string
7710         description:
7711           type: string
7712         type:
7713           $ref: '#/components/schemas/K8sRepoType'
7714         url:
7715           type: string
7716           format: uri
7717       required:
7718         - name
7719         - type
7720         - url
7721       additionalProperties: false
7722   # END SCHEMAS
7723
7724   requestBodies:
7725     CreateNsdInfoRequest:
7726       content:
7727         application/json:
7728           schema:
7729             $ref: '#/components/schemas/CreateNsdInfoRequest'
7730         application/yaml:
7731           schema:
7732             $ref: '#/components/schemas/CreateNsdInfoRequest'
7733     NsdInfoModifications:
7734       content:
7735         application/json:
7736           schema:
7737             $ref: '#/components/schemas/NsdInfoModifications'
7738         application/yaml:
7739           schema:
7740             $ref: '#/components/schemas/NsdInfoModifications'
7741     NsDescriptor:
7742       content:
7743         text/plain:
7744           schema:
7745             $ref: '#/components/schemas/NsDescriptor'
7746     NsPackage:
7747       content:
7748         application/zip:
7749           schema:
7750             $ref: '#/components/schemas/NsPackage'
7751     CreateVnfPkgInfoRequest:
7752       content:
7753         application/json:
7754           schema:
7755             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
7756         application/yaml:
7757           schema:
7758             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
7759     VnfPkgInfoModifications:
7760       content:
7761         application/json:
7762           schema:
7763             $ref: '#/components/schemas/VnfPkgInfoModifications'
7764         application/yaml:
7765           schema:
7766             $ref: '#/components/schemas/VnfPkgInfoModifications'
7767     VnfPackage:
7768       content:
7769         application/zip:
7770           schema:
7771             $ref: '#/components/schemas/VnfPackage'
7772     VnfDescriptor:
7773       content:
7774         text/plain:
7775           schema:
7776             $ref: '#/components/schemas/VnfDescriptor'
7777     # CreateNsRequest:
7778       # Substituted by InstantiateNsRequest
7779     InstantiateNsRequest:
7780       content:
7781         application/json:
7782           schema:
7783             $ref: '#/components/schemas/InstantiateNsRequest'
7784         application/yaml:
7785           schema:
7786             $ref: '#/components/schemas/InstantiateNsRequest'
7787     ScaleNsRequest:
7788       content:
7789         application/json:
7790           schema:
7791             $ref: '#/components/schemas/ScaleNsRequest'
7792         application/yaml:
7793           schema:
7794             $ref: '#/components/schemas/ScaleNsRequest'
7795     TerminateNsRequest:
7796       content:
7797         application/json:
7798           schema:
7799             $ref: '#/components/schemas/TerminateNsRequest'
7800         application/yaml:
7801           schema:
7802             $ref: '#/components/schemas/TerminateNsRequest'
7803     # CreateNSinstanceContentRequest:
7804       # Substituted by InstantiateNsRequest
7805     CreateNstInfoRequest:
7806       content:
7807         application/json:
7808           schema:
7809             $ref: '#/components/schemas/CreateNstInfoRequest'
7810         application/yaml:
7811           schema:
7812             $ref: '#/components/schemas/CreateNstInfoRequest'
7813     NetSliceTemplate:
7814       content:
7815         text/plain:
7816           schema:
7817             $ref: '#/components/schemas/NetSliceTemplate'
7818     NetSlicePackage:
7819       content:
7820         application/zip:
7821           schema:
7822             $ref: '#/components/schemas/NetSlicePackage'
7823     NstInfoModifications:
7824       content:
7825         application/json:
7826           schema:
7827             $ref: '#/components/schemas/NstInfoModifications'
7828         application/yaml:
7829           schema:
7830             $ref: '#/components/schemas/NstInfoModifications'
7831     # CreateNsiRequest:
7832       # Substituted by InstantiateNsiRequest
7833     InstantiateNsiRequest:
7834       content:
7835         application/json:
7836           schema:
7837             $ref: '#/components/schemas/InstantiateNsiRequest'
7838         application/yaml:
7839           schema:
7840             $ref: '#/components/schemas/InstantiateNsiRequest'
7841     TerminateNsiRequest:
7842       content:
7843         application/json:
7844           schema:
7845             $ref: '#/components/schemas/TerminateNsiRequest'
7846         application/yaml:
7847           schema:
7848             $ref: '#/components/schemas/TerminateNsiRequest'
7849     NsiActionRequest:
7850       content:
7851         application/json:
7852           schema:
7853             $ref: '#/components/schemas/NsiActionRequest'
7854         application/yaml:
7855           schema:
7856             $ref: '#/components/schemas/NsiActionRequest'
7857     # CreateNsiContentRequest:
7858       # Substituted by InstantiateNsiRequest
7859     CreateTokenRequest:
7860       content:
7861         application/json:
7862           schema:
7863             $ref: '#/components/schemas/CreateTokenRequest'
7864         application/yaml:
7865           schema:
7866             $ref: '#/components/schemas/CreateTokenRequest'
7867     CreateUserRequest:
7868       content:
7869         application/json:
7870           schema:
7871             $ref: '#/components/schemas/CreateUserRequest'
7872         application/yaml:
7873           schema:
7874             $ref: '#/components/schemas/CreateUserRequest'
7875     EditUserRequest:
7876       content:
7877         application/json:
7878           schema:
7879             $ref: '#/components/schemas/EditUserRequest'
7880         application/yaml:
7881           schema:
7882             $ref: '#/components/schemas/EditUserRequest'
7883     CreateProjectRequest:
7884       content:
7885         application/json:
7886           schema:
7887             $ref: '#/components/schemas/CreateProjectRequest'
7888         application/yaml:
7889           schema:
7890             $ref: '#/components/schemas/CreateProjectRequest'
7891     EditProjectRequest:
7892       content:
7893         application/json:
7894           schema:
7895             $ref: '#/components/schemas/EditProjectRequest'
7896         application/yaml:
7897           schema:
7898             $ref: '#/components/schemas/EditProjectRequest'
7899     CreateRoleRequest:
7900       content:
7901         application/json:
7902           schema:
7903             $ref: '#/components/schemas/CreateRoleRequest'
7904         application/yaml:
7905           schema:
7906             $ref: '#/components/schemas/CreateRoleRequest'
7907     EditRoleRequest:
7908       content:
7909         application/json:
7910           schema:
7911             $ref: '#/components/schemas/EditRoleRequest'
7912         application/yaml:
7913           schema:
7914             $ref: '#/components/schemas/EditRoleRequest'
7915     CreateVimRequest:
7916       content:
7917         application/json:
7918           schema:
7919             $ref: '#/components/schemas/CreateVimRequest'
7920         application/yaml:
7921           schema:
7922             $ref: '#/components/schemas/CreateVimRequest'
7923     EditVimRequest:
7924       content:
7925         application/json:
7926           schema:
7927             $ref: '#/components/schemas/EditVimRequest'
7928         application/yaml:
7929           schema:
7930             $ref: '#/components/schemas/EditVimRequest'
7931     CreateWimRequest:
7932       content:
7933         application/json:
7934           schema:
7935             $ref: '#/components/schemas/CreateWimRequest'
7936         application/yaml:
7937           schema:
7938             $ref: '#/components/schemas/CreateWimRequest'
7939     EditWimRequest:
7940       content:
7941         application/json:
7942           schema:
7943             $ref: '#/components/schemas/EditWimRequest'
7944         application/yaml:
7945           schema:
7946             $ref: '#/components/schemas/EditWimRequest'
7947     CreateSdnRequest:
7948       content:
7949         application/json:
7950           schema:
7951             $ref: '#/components/schemas/CreateSdnRequest'
7952         application/yaml:
7953           schema:
7954             $ref: '#/components/schemas/CreateSdnRequest'
7955     EditSdnRequest:
7956       content:
7957         application/json:
7958           schema:
7959             $ref: '#/components/schemas/EditSdnRequest'
7960         application/yaml:
7961           schema:
7962             $ref: '#/components/schemas/EditSdnRequest'
7963     CreatePduRequest:
7964       content:
7965         application/json:
7966           schema:
7967             $ref: '#/components/schemas/CreatePduRequest'
7968         application/yaml:
7969           schema:
7970             $ref: '#/components/schemas/CreatePduRequest'
7971     EditPduRequest:
7972       content:
7973         application/json:
7974           schema:
7975             $ref: '#/components/schemas/EditPduRequest'
7976         application/yaml:
7977           schema:
7978             $ref: '#/components/schemas/EditPduRequest'
7979     CreateK8sClusterRequest:
7980       content:
7981         application/json:
7982           schema:
7983             $ref: '#/components/schemas/CreateK8sClusterRequest'
7984         application/yaml:
7985           schema:
7986             $ref: '#/components/schemas/CreateK8sClusterRequest'
7987     EditK8sClusterRequest:
7988       content:
7989         application/json:
7990           schema:
7991             $ref: '#/components/schemas/EditK8sClusterRequest'
7992         application/yaml:
7993           schema:
7994             $ref: '#/components/schemas/EditK8sClusterRequest'
7995     CreateK8sRepoRequest:
7996       content:
7997         application/json:
7998           schema:
7999             $ref: '#/components/schemas/CreateK8sRepoRequest'
8000         application/yaml:
8001           schema:
8002             $ref: '#/components/schemas/CreateK8sRepoRequest'
8003   # END REQUEST BODIES
8004
8005   securitySchemes:
8006     bearerAuth:
8007       type: http
8008       scheme: bearer