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