Added additional tags for Admin items
[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:
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               additionalParamsForVdu:
5997                 type: array
5998                 items:
5999                   type: object
6000                   properties:
6001                     vdu_id:
6002                       type: string
6003                     additionalParams:
6004                       type: object
6005                       additionalProperties: true
6006                   required:
6007                     - vdu_id
6008                     - additionalParams
6009                   additionalProperties: false
6010               additionalParamsForKdu:
6011                 type: array
6012                 items:
6013                   type: object
6014                   properties:
6015                     kdu_name:
6016                       type: string
6017                     additionalParams:
6018                       type: object
6019                       additionalProperties: true
6020                   required:
6021                     - kdu_name
6022                     - additionalParams
6023                   additionalProperties: false
6024             required:
6025               - member-vnf-index
6026             minProperties: 2
6027             additionalProperties: false
6028         ssh_keys:
6029           type: array
6030           items:
6031             type: string
6032         nsr_id:
6033           type: string
6034           format: uuid
6035         vduImage:
6036           type: string
6037         vnf:
6038           type: array
6039           items:
6040             type: object
6041             properties:
6042               member-vnf-index:
6043                 type: string
6044               vimAccountId:
6045                 type: string
6046                 format: uuid
6047               vdu:
6048                 type: array
6049                 items:
6050                   type: object
6051                   properties:
6052                     id:
6053                       type: string
6054                     volume:
6055                       type: array
6056                       items:
6057                         type: object
6058                         properties:
6059                           name:
6060                             type: string
6061                           vim-volume-id:
6062                             type: string
6063                         required:
6064                           - name
6065                           - vim-volume-id
6066                         additionalProperties: false
6067                       minItems: 1
6068                     interface:
6069                       type: array
6070                       items:
6071                         type: object
6072                         properties:
6073                           name:
6074                             type: string
6075                           ip-address:
6076                             type: string
6077                             format: ipv4
6078                           mac-address:
6079                             type: string
6080                             format: mac_address
6081                           floating-ip-required:
6082                             type: boolean
6083                         required:
6084                           - name
6085                         additionalProperties: false
6086                       minItems: 1
6087                   required:
6088                     - id
6089                   additionalProperties: false
6090                 minItems: 1
6091               internal-vld:
6092                 type: array
6093                 items:
6094                   type: object
6095                   properties:
6096                     name:
6097                       type: string
6098                     vim-network-name:
6099                       type: string
6100                     vim-network-id:
6101                       type: string
6102                     ip-profile:
6103                       type: object
6104                       properties:
6105                         ip-version:
6106                           type: string
6107                           enum:
6108                             - ipv4
6109                             - ipv6
6110                         subnet-address:
6111                           type: string
6112                           format: ip_prefix
6113                           nullable: true
6114                         gateway-address:
6115                           type: string
6116                           format: ipv4
6117                           nullable: true
6118                         dns-server:
6119                           type: array
6120                           items:
6121                             type: object
6122                             properties:
6123                               address:
6124                                 type: string
6125                                 format: ipv4
6126                             required:
6127                               - address
6128                             additionalProperties: false
6129                           minItems: 1
6130                           nullable: true
6131                         dhcp-params:
6132                           type: object
6133                           properties:
6134                             enabled:
6135                               type: boolean
6136                             count:
6137                               type: integer
6138                               minimum: 1
6139                             start-address:
6140                               type: string
6141                               format: ipv4
6142                           additionalProperties: false
6143                           nullable: true
6144                       additionalProperties: false
6145                     provider-network:
6146                       type: object
6147                       properties:
6148                         physical-network:
6149                           type: string
6150                         segmentation-id:
6151                           type: string
6152                       additionalProperties: false
6153                     internal-connection-point:
6154                       type: array
6155                       items:
6156                         type: object
6157                         properties:
6158                           id-ref:
6159                             type: string
6160                           ip-address:
6161                             type: string
6162                             format: ipv4
6163                         required:
6164                           - id-ref
6165                         minProperties: 2
6166                         additionalProperties: False
6167                       minItems: 1
6168                   required:
6169                     - name
6170                   minProperties: 2
6171                   additionalProperties: false
6172                 minItems: 1
6173             required:
6174               - member-vnf-index
6175             minProperties: 2
6176             additionalProperties: false
6177           minItems: 1
6178         vld:
6179           type: array
6180           items:
6181             type: object
6182             properties:
6183               name:
6184                 type: string
6185               vim-network-name:
6186                 oneOf:
6187                   - type: string
6188                   - type: object
6189               vim-network-id:
6190                 oneOf:
6191                   - type: string
6192                   - type: object
6193               ns-net:
6194                 type: object
6195                 additionalProperties: true
6196               wimAccountId:
6197                 oneOf:
6198                   - type: string
6199                   - type: boolean
6200                 nullable: true
6201               ip-profile:
6202                 type: object
6203                 additionalProperties: true
6204               provider-network:
6205                 type: object
6206                 properties:
6207                   physical-network:
6208                     type: string
6209                   segmentation-id:
6210                     type: string
6211                 additionalProperties: false
6212               vnfd-connection-point-ref:
6213                 type: array
6214                 items:
6215                   type: object
6216                   properties:
6217                     member-vnf-index-ref:
6218                       type: string
6219                     vnfd-connection-point-ref:
6220                       type: string
6221                     ip-address:
6222                       type: string
6223                       format: ipv4
6224                   required:
6225                     - member-vnf-index-ref
6226                     - vnfd-connection-point-ref
6227                   minProperties: 3
6228                   additionalProperties: false
6229                 minItems: 1
6230             required:
6231               - name
6232             additionalProperties: false
6233           minItems: 1
6234       required:
6235         - nsName
6236         - nsdId
6237         - vimAccountId
6238       additionalProperties: false
6239     ScaleNsRequest:
6240       type: object
6241       properties:
6242         scaleType:
6243           type: string
6244           enum:
6245             - SCALE_VNF
6246         scaleVnfData:
6247           type: object
6248           properties:
6249             scaleVnfType:
6250               type: string
6251               enum:
6252                 - SCALE_IN
6253                 - SCALE_OUT
6254             scaleByStepData:
6255               type: object
6256               properties:
6257                 scaling-group-descriptor:
6258                   type: string
6259                 member-vnf-index:
6260                   type: string
6261               additionalProperties: true
6262           additionalProperties: true
6263       additionalProperties: true
6264     TerminateNsRequest:
6265       type: object
6266       properties:
6267         terminationTime:
6268           description: |
6269             Timestamp indicating the end time of the NS, i.e. the NS will be terminated
6270             automatically at this timestamp. Cardinality "0" indicates the NS termination
6271             takes place immediately.
6272           type: string
6273           format: date-time
6274     ArrayOfNsInstance:
6275       type: array
6276       items:
6277         $ref: '#/components/schemas/NsInstance'
6278     NSinstanceActionRequest:
6279       type: object
6280       properties:
6281         primitive:
6282           type: string
6283         primitive_params:
6284           $ref: '#/components/schemas/KeyValuePairs'
6285         lcmOperationType:
6286           type: string
6287         nsInstanceId:
6288           type: string
6289           format: uuid
6290         member_vnf_index:
6291           type: string
6292         vdu_id:
6293           type: string
6294         vdu_count_index:
6295           type: integer
6296       required:
6297         - primitive
6298         - primitive_params
6299       additionalProperties: false
6300     # CreateNSinstanceContentRequest:
6301       # Substituted by InstantiateNsRequest
6302     CreateNSinstanceContentResponse:
6303       type: object
6304       properties:
6305         id:
6306           type: string
6307           format: uuid
6308         nslcmop_id:
6309           type: string
6310           format: uuid
6311     NsLcmOpOcc:
6312       type: object
6313       properties:
6314         _id:
6315           type: string
6316           format: uuid
6317         id:
6318           type: string
6319           format: uuid
6320         lcmOperationType:
6321           type: string
6322         nsInstanceId:
6323           type: string
6324           format: uuid
6325         isAutomaticInvocation:
6326           type: boolean
6327         isCancelPending:
6328           type: boolean
6329         startTime:
6330           type: number
6331           format: float
6332         statusEnteredTime:
6333           type: number
6334           format: float
6335         operationParams:
6336           type: object
6337           properties:
6338             nsName:
6339               type: string
6340             nsdId:
6341               type: string
6342               format: uuid
6343             vimAccountId:
6344               type: string
6345               format: uuid
6346             nsInstanceId:
6347               type: string
6348               format: uuid
6349             lcmOperationType:
6350               type: string
6351         operationState:
6352           type: string
6353         detailed-status:
6354           type: string
6355         links:
6356           type: object
6357           properties:
6358             self:
6359               type: string
6360               format: path   # uri?
6361             nsInstance:
6362               type: string
6363               format: path   # uri?
6364     ArrayOfNsLcmOpOcc:
6365       type: array
6366       items:
6367         $ref: '#/components/schemas/NsLcmOpOcc'
6368     VnfInstanceInfo:
6369       description: |
6370         VNF Instance Information
6371         Only generic fields (_id, id) are described
6372         For a full specification of the VNF Instance see:
6373         http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
6374       type: object
6375       properties:
6376         _id:
6377           type: string
6378           format: uuid
6379         id:
6380           type: string
6381           format: uuid
6382     ArrayOfVnfInstanceInfo:
6383       type: array
6384       items:
6385         $ref: '#/components/schemas/VnfInstanceInfo'
6386     NstInfo:
6387       description: |
6388         NetSlice Template Information
6389         Only generic fields (_id, id, name) are described
6390         For a full specification of the NetSlice Template see:
6391         http://osm-download.etsi.org/ftp/osm-doc/nst.html
6392       type: object
6393       properties:
6394         _id:
6395           description: NetSlice Template Identifier
6396           type: string
6397           format: uuid
6398         id:
6399           description: Human readable NetSlice Template Identifier
6400           type: string
6401         name:
6402           description: Human readable name of the NetSlice Template
6403           type: string
6404     ArrayOfNstInfo:
6405       type: array
6406       items:
6407         $ref: '#/components/schemas/NstInfo'
6408     CreateNstInfoRequest:
6409       # A free list of key:value pairs
6410       type: object
6411       additionalProperties: true
6412     NetSliceTemplate:
6413       type: string
6414       format: yaml|json
6415     NetSlicePackage:
6416       type: string
6417       format: binary
6418     NstInfoModifications:
6419       description: |
6420         NetSlice Template Information
6421         Only generic fields (id, name) are described
6422         For a full specification of the NetSlice Template see:
6423         http://osm-download.etsi.org/ftp/osm-doc/nst.html
6424       type: object
6425       properties:
6426         id:
6427           description: NST Identifier
6428           type: string
6429         name:
6430           description: NST Name
6431           type: string
6432     NetSliceInstance:
6433       description: |
6434         NetSlice Instance Information
6435         Only generic fields (_id, id, name, description) are described
6436         For a full specification of the NetSlice Instance see:
6437         http://osm-download.etsi.org/ftp/osm-doc/nsi.html
6438       type: object
6439       properties:
6440         _id:
6441           description: Identifier of the NetSlice instance.
6442           type: string
6443           format: uuid
6444         id:
6445           description: Identifier of the NetSlice instance.
6446           type: string
6447           format: uuid
6448         name:
6449           description: Human readable name of the NetSlice instance.
6450           type: string
6451         description:
6452           description: Human readable description of the NetSlice instance.
6453           type: string
6454       required:
6455         - _id
6456         - id
6457         - name
6458     ArrayOfNetSliceInstance:
6459       type: array
6460       items:
6461         $ref: '#/components/schemas/NetSliceInstance'
6462     # CreateNsiRequest:
6463       # Substituted by InstantiateNsiRequest
6464     InstantiateNsiRequest:
6465       type: object
6466       properties:
6467         nsiName:
6468           description: |
6469             Human-readable name of the NetSlice instance to be created.
6470           type: string
6471         nstId:
6472           description: |
6473             Identifier of the NST that defines the NetSlice instance to be created.
6474           type: string
6475           format: uuid
6476         vimAccountId:
6477           description: |
6478             Identifier of the VIM Account where the NetSlice instance shall be created.
6479           type: string
6480           format: uuid
6481         lcmOperationType:
6482           type: string
6483         netsliceInstanceId:
6484           type: string
6485           format: uuid
6486         nsiDescription:
6487           type: string
6488           nullable: true
6489         ssh_keys:
6490           type: string
6491         nsi_id:
6492           type: string
6493           format: uuid
6494         additionalParamsForNsi:
6495           type: object
6496           additionalProperties: true
6497         netslice-subnet:
6498           type: array
6499           items:
6500             type: object
6501             properties:
6502               id:
6503                 type: string
6504               nsName:
6505                 type: string
6506               nsdId:
6507                 type: string
6508                 format: uuid
6509               vimAccountId:
6510                 type: string
6511                 format: uuid
6512               lcmOperationType:
6513                 type: string
6514               nsInstanceId:
6515                 type: string
6516                 format: uuid
6517               netsliceInstanceId:
6518                 type: string
6519                 format: uuid
6520               nsDescription:
6521                 type: string
6522                 nullable: true
6523               wimAccountId:
6524                 oneOf:
6525                   - type: string
6526                   - type: boolean
6527                 nullable: true
6528               additionalParamsForNs:
6529                 type: object
6530                 additionalProperties: true
6531               additionalParamsForVnf:
6532                 type: array
6533                 items:
6534                   type: object
6535                   properties:
6536                     member-vnf-index:
6537                       type: string
6538                     additionalParams:
6539                       type: object
6540                       additionalProperties: true
6541                     additionalParamsForVdu:
6542                       type: array
6543                       items:
6544                         type: object
6545                         properties:
6546                           vdu_id:
6547                             type: string
6548                           additionalParams:
6549                             type: object
6550                             additionalProperties: true
6551                         required:
6552                           - vdu_id
6553                           - additionalParams
6554                         additionalProperties: false
6555                     additionalParamsForKdu:
6556                       type: array
6557                       items:
6558                         type: object
6559                         properties:
6560                           kdu_name:
6561                             type: string
6562                           additionalParams:
6563                             type: object
6564                             additionalProperties: true
6565                         required:
6566                           - kdu_name
6567                           - additionalParams
6568                         additionalProperties: false
6569                   required:
6570                     - member-vnf-index
6571                   minProperties: 2
6572                   additionalProperties: false
6573               ssh_keys:
6574                 type: array
6575                 items:
6576                   type: string
6577               nsr_id:
6578                 type: string
6579                 format: uuid
6580               vduImage:
6581                 type: string
6582               vnf:
6583                 type: array
6584                 items:
6585                   type: object
6586                   properties:
6587                     member-vnf-index:
6588                       type: string
6589                     vimAccountId:
6590                       type: string
6591                       format: uuid
6592                     vdu:
6593                       type: array
6594                       items:
6595                         type: object
6596                         properties:
6597                           id:
6598                             type: string
6599                           volume:
6600                             type: array
6601                             items:
6602                               type: object
6603                               properties:
6604                                 name:
6605                                   type: string
6606                                 vim-volume-id:
6607                                   type: string
6608                               required:
6609                                 - name
6610                                 - vim-volume-id
6611                               additionalProperties: false
6612                             minItems: 1
6613                           interface:
6614                             type: array
6615                             items:
6616                               type: object
6617                               properties:
6618                                 name:
6619                                   type: string
6620                                 ip-address:
6621                                   type: string
6622                                   format: ipv4
6623                                 mac-address:
6624                                   type: string
6625                                   format: mac_address
6626                                 floating-ip-required:
6627                                   type: boolean
6628                               required:
6629                                 - name
6630                               additionalProperties: false
6631                             minItems: 1
6632                         required:
6633                           - id
6634                         additionalProperties: false
6635                       minItems: 1
6636                     internal-vld:
6637                       type: array
6638                       items:
6639                         type: object
6640                         properties:
6641                           name:
6642                             type: string
6643                           vim-network-name:
6644                             type: string
6645                           vim-network-id:
6646                             type: string
6647                           ip-profile:
6648                             type: object
6649                             properties:
6650                               ip-version:
6651                                 type: string
6652                                 enum:
6653                                   - ipv4
6654                                   - ipv6
6655                               subnet-address:
6656                                 type: string
6657                                 format: ip_prefix
6658                                 nullable: true
6659                               gateway-address:
6660                                 type: string
6661                                 format: ipv4
6662                                 nullable: true
6663                               dns-server:
6664                                 type: array
6665                                 items:
6666                                   type: object
6667                                   properties:
6668                                     address:
6669                                       type: string
6670                                       format: ipv4
6671                                   required:
6672                                     - address
6673                                   additionalProperties: false
6674                                 minItems: 1
6675                                 nullable: true
6676                               dhcp-params:
6677                                 type: object
6678                                 properties:
6679                                   enabled:
6680                                     type: boolean
6681                                   count:
6682                                     type: integer
6683                                     minimum: 1
6684                                   start-address:
6685                                     type: string
6686                                     format: ipv4
6687                                 additionalProperties: false
6688                                 nullable: true
6689                             additionalProperties: false
6690                           provider-network:
6691                             type: object
6692                             properties:
6693                               physical-network:
6694                                 type: string
6695                               segmentation-id:
6696                                 type: string
6697                             additionalProperties: false
6698                           internal-connection-point:
6699                             type: array
6700                             items:
6701                               type: object
6702                               properties:
6703                                 id-ref:
6704                                   type: string
6705                                 ip-address:
6706                                   type: string
6707                                   format: ipv4
6708                               required:
6709                                 - id-ref
6710                               minProperties: 2
6711                               additionalProperties: False
6712                             minItems: 1
6713                         required:
6714                           - name
6715                         minProperties: 2
6716                         additionalProperties: false
6717                       minItems: 1
6718                   required:
6719                     - member-vnf-index
6720                   minProperties: 2
6721                   additionalProperties: false
6722                 minItems: 1
6723               vld:
6724                 type: array
6725                 items:
6726                   type: object
6727                   properties:
6728                     name:
6729                       type: string
6730                     vim-network-name:
6731                       oneOf:
6732                         - type: string
6733                         - type: object
6734                     vim-network-id:
6735                       oneOf:
6736                         - type: string
6737                         - type: object
6738                     ns-net:
6739                       type: object
6740                       additionalProperties: true
6741                     wimAccountId:
6742                       oneOf:
6743                         - type: string
6744                         - type: boolean
6745                       nullable: true
6746                     ip-profile:
6747                       type: object
6748                       additionalProperties: true
6749                     provider-network:
6750                       type: object
6751                       properties:
6752                         physical-network:
6753                           type: string
6754                         segmentation-id:
6755                           type: string
6756                       additionalProperties: false
6757                     vnfd-connection-point-ref:
6758                       type: array
6759                       items:
6760                         type: object
6761                         properties:
6762                           member-vnf-index-ref:
6763                             type: string
6764                           vnfd-connection-point-ref:
6765                             type: string
6766                           ip-address:
6767                             type: string
6768                             format: ipv4
6769                         required:
6770                           - member-vnf-index-ref
6771                           - vnfd-connection-point-ref
6772                         minProperties: 3
6773                         additionalProperties: false
6774                       minItems: 1
6775                   required:
6776                     - name
6777                   additionalProperties: false
6778                 minItems: 1
6779             additionalProperties: false
6780           minItems: 1
6781         netslice-vld:
6782           type: array
6783           items:
6784             type: object
6785             properties:
6786               name:
6787                 type: string
6788               vim-network-name:
6789                 oneOf:
6790                   - type: string
6791                   - type: object
6792               vim-network-id:
6793                 oneOf:
6794                   - type: string
6795                   - type: object
6796               ip-profile:
6797                 type: object
6798                 additionalProperties: true
6799             required:
6800               - name
6801             additionalProperties: false
6802           minItems: 1
6803       required:
6804         - nsiName
6805         - nstId
6806         - vimAccountId
6807       additionalProperties: false
6808     TerminateNsiRequest:
6809       type: object
6810       properties:
6811         terminationTime:
6812           description: |
6813             Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
6814             automatically at this timestamp. Cardinality "0" indicates the NSI termination
6815             takes place immediately.
6816           type: string
6817           format: date-time
6818     NsiActionRequest:
6819       type: object
6820       properties:
6821         primitive:
6822           type: string
6823         primitive_params:
6824           $ref: '#/components/schemas/KeyValuePairs'
6825         lcmOperationType:
6826           type: string
6827         netsliceInstanceId:
6828           type: string
6829           format: uuid
6830       required:
6831         - primitive
6832         - primitive_params
6833     # CreateNsiContentRequest:
6834       # Substituted by InstantiateNsiRequest
6835     CreateNsiContentResponse:
6836       type: object
6837       properties:
6838         id:
6839           type: string
6840           format: uuid
6841         nsilcmop_id:
6842           type: string
6843           format: uuid
6844     NsiLcmOpOcc:
6845       type: object
6846       properties:
6847         _id:
6848           type: string
6849           format: uuid
6850         id:
6851           type: string
6852           format: uuid
6853         lcmOperationType:
6854           type: string
6855         netsliceInstanceId:
6856           type: string
6857           format: uuid
6858         isAutomaticInvocation:
6859           type: boolean
6860         isCancelPending:
6861           type: boolean
6862         startTime:
6863           type: number
6864           format: float
6865         statusEnteredTime:
6866           type: number
6867           format: float
6868         operationParams:
6869           type: object
6870           properties:
6871             nsiName:
6872               type: string
6873             nstId:
6874               type: string
6875               format: uuid
6876             vimAccountId:
6877               type: string
6878               format: uuid
6879             netsliceInstanceId:
6880               type: string
6881               format: uuid
6882             lcmOperationType:
6883               type: string
6884             nslcmops_ids:
6885               type: array
6886               items:
6887                 type: string
6888                 format: uuid
6889         operationState:
6890           type: string
6891         detailed-status:
6892           type: string
6893         links:
6894           type: object
6895           properties:
6896             self:
6897               type: string
6898               format: path   # uri?
6899             netsliceInstanceId:
6900               type: string
6901               format: path   # uri?
6902     ArrayOfNsiLcmOpOcc:
6903       type: array
6904       items:
6905         $ref: '#/components/schemas/NsiLcmOpOcc'
6906     TokenInfo:
6907       type: object
6908       properties:
6909         _id:
6910           type: string
6911         id:
6912           type: string
6913         admin:
6914           type: boolean
6915         project_id:
6916           type: string
6917           format: uuid
6918         user_id:
6919           type: string
6920           format: uuid
6921         project_name:
6922           type: string
6923         username:
6924           type: string
6925         issued_at:
6926           type: number
6927           format: float
6928         expires:
6929           type: number
6930           format: float
6931         remote_host:
6932           type: string
6933           format: ipv4
6934         remote_port:
6935           type: integer
6936         roles:
6937           type: array
6938           items:
6939             type: object
6940             properties:
6941               id:
6942                 type: string
6943                 format: uuid
6944               name:
6945                 type: string
6946     ArrayOfTokenInfo:
6947       type: array
6948       items:
6949         $ref: '#/components/schemas/TokenInfo'
6950     CreateTokenRequest:
6951       type: object
6952       properties:
6953         username:
6954           type: string
6955         password:
6956           type: string
6957         project_id:
6958           type: string
6959       required:
6960         - username
6961         - password
6962     UserInfo:
6963       type: object
6964       properties:
6965         _id:
6966           type: string
6967           format: uuid
6968         username:
6969           type: string
6970         password:
6971           type: string
6972         project_role_mappings:
6973           type: array
6974           items:
6975             type: object
6976             properties:
6977               project:
6978                 type: string
6979                 format: uuid
6980               role:
6981                 type: string
6982                 format: uuid
6983               project_name:
6984                 type: string
6985               role_name:
6986                 type: string
6987         projects:
6988           type: array
6989           items:
6990             type: string
6991     ArrayOfUserInfo:
6992       type: array
6993       items:
6994         $ref: '#/components/schemas/UserInfo'
6995     ProjectRoleMappings:
6996       type: array
6997       items:
6998         type: object
6999         properties:
7000           project:
7001             type: string
7002           role:
7003             type: string
7004       required:
7005         - project
7006         - role
7007       additionalProperties: false
7008     ProjectRoleMappingsOpt:
7009       type: array
7010       items:
7011         type: object
7012         properties:
7013           project:
7014             type: string
7015           role:
7016             type: string
7017       required:
7018         - project
7019       additionalProperties: false
7020     CreateUserRequest:
7021       type: object
7022       properties:
7023         username:
7024           type: string
7025         password:
7026           type: string
7027         projects:
7028           type: array
7029           items:
7030             type: string
7031         project_role_mappings:
7032           $ref: '#/components/schemas/ProjectRoleMappings'
7033       required:
7034         - username
7035         - password
7036       additionalProperties: false
7037     ShortNameList:
7038       type: array
7039       items:
7040         type: string
7041     ArrayEditionSchema:
7042       type: object
7043       additionalProperties: true
7044       minProperties: 1
7045       description: |
7046         Array edition keys must start with '$'
7047         and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
7048     EditUserRequest:
7049       type: object
7050       properties:
7051         username:
7052           type: string
7053         password:
7054           type: string
7055         projects:
7056           oneOf:
7057             - $ref: '#/components/schemas/ShortNameList'
7058             - $ref: '#/components/schemas/ArrayEditionSchema'
7059         project_role_mappings:
7060           $ref: '#/components/schemas/ProjectRoleMappings'
7061         add_project_role_mappings:
7062           $ref: '#/components/schemas/ProjectRoleMappings'
7063         remove_project_role_mappings:
7064           $ref: '#/components/schemas/ProjectRoleMappingsOpt'
7065     QuotasInfo:
7066       type: object
7067       properties:
7068         vnfds:
7069           type: integer
7070           minimum: 0
7071           nullable: false
7072         nsds:
7073           type: integer
7074           minimum: 0
7075           nullable: false
7076         nsts:
7077           type: integer
7078           minimum: 0
7079           nullable: false
7080         pdus:
7081           type: integer
7082           minimum: 0
7083           nullable: false
7084         nsrs:
7085           type: integer
7086           minimum: 0
7087           nullable: false
7088         nsis:
7089           type: integer
7090           minimum: 0
7091           nullable: false
7092         vim_accounts:
7093           type: integer
7094           minimum: 0
7095           nullable: false
7096         wim_accounts:
7097           type: integer
7098           minimum: 0
7099           nullable: false
7100         sdns:
7101           type: integer
7102           minimum: 0
7103           nullable: false
7104       additionalProperties: false
7105     EditQuotasInfo:
7106       type: object
7107       properties:
7108         vnfds:
7109           type: integer
7110           minimum: 0
7111           nullable: true
7112         nsds:
7113           type: integer
7114           minimum: 0
7115           nullable: true
7116         nsts:
7117           type: integer
7118           minimum: 0
7119           nullable: true
7120         pdus:
7121           type: integer
7122           minimum: 0
7123           nullable: true
7124         nsrs:
7125           type: integer
7126           minimum: 0
7127           nullable: true
7128         nsis:
7129           type: integer
7130           minimum: 0
7131           nullable: true
7132         vim_accounts:
7133           type: integer
7134           minimum: 0
7135           nullable: true
7136         wim_accounts:
7137           type: integer
7138           minimum: 0
7139           nullable: true
7140         sdns:
7141           type: integer
7142           minimum: 0
7143           nullable: true
7144       additionalProperties: false
7145     ProjectInfo:
7146       type: object
7147       properties:
7148         _id:
7149           type: string
7150           format: uuid
7151         name:
7152           type: string
7153         quotas:
7154           $ref: '#/components/schemas/QuotasInfo'
7155     ArrayOfProjectInfo:
7156       type: array
7157       items:
7158         $ref: '#/components/schemas/ProjectInfo'
7159     CreateProjectRequest:
7160       type: object
7161       properties:
7162         name:
7163           type: string
7164         admin:
7165           type: boolean
7166         quotas:
7167           $ref: '#/components/schemas/QuotasInfo'
7168       required:
7169         - name
7170       additionalProperties: false
7171     EditProjectRequest:
7172       type: object
7173       properties:
7174         name:
7175           type: string
7176         admin:
7177           type: boolean
7178         quotas:
7179           $ref: '#/components/schemas/EditQuotasInfo'
7180       additionalProperties: false
7181     PermissionsInfo:
7182       type: object
7183       additionalProperties:
7184         type: boolean
7185         nullable: false
7186       description: |
7187         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7188         Permission values are either true or false
7189     EditPermissionsInfo:
7190       type: object
7191       additionalProperties:
7192         type: boolean
7193         nullable: true
7194       description: |
7195         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7196         Permission values are either true, false, or null
7197     RoleInfo:
7198       type: object
7199       properties:
7200         _id:
7201           type: string
7202           format: uuid
7203         name:
7204           type: string
7205         permissions:
7206           $ref: '#/components/schemas/PermissionsInfo'
7207     ArrayOfRoleInfo:
7208       type: array
7209       items:
7210         $ref: '#/components/schemas/RoleInfo'
7211     CreateRoleRequest:
7212       type: object
7213       properties:
7214         name:
7215           type: string
7216         permissions:
7217           $ref: '#/components/schemas/PermissionsInfo'
7218       required:
7219         - name
7220       additionalProperties: false
7221     EditRoleRequest:
7222       type: object
7223       properties:
7224         name:
7225           type: string
7226         permissions:
7227           $ref: '#/components/schemas/EditPermissionsInfo'
7228       additionalProperties: false
7229     VimType:
7230       type: string
7231       enum:
7232         - openvim
7233         - openstack
7234         - vmware
7235         - opennebula
7236         - aws
7237         - azure
7238         - fos
7239     VimInfo:
7240       type: object
7241       properties:
7242         _id:
7243           type: string
7244           format: uuid
7245         schema_version:
7246           type: string
7247           format: X.Y[.Z]
7248         schema_type:
7249           type: string
7250         name:
7251           type: string
7252         description:
7253           type: string
7254         vim:
7255           type: string
7256         datacenter:
7257           type: string
7258         vim_type:
7259           $ref: '#/components/schemas/VimType'
7260         vim_url:
7261           type: string
7262           format: uri
7263         vim_tenant_name:
7264           type: string
7265         vim_user:
7266           type: string
7267         vim_password:
7268           type: string
7269         config:
7270           type: object
7271           additionalProperties: true
7272     ArrayOfVimInfo:
7273       type: array
7274       items:
7275         $ref: '#/components/schemas/VimInfo'
7276     CreateVimRequest:
7277       type: object
7278       properties:
7279         schema_version:
7280           type: string
7281           format: X.Y[.Z]
7282         schema_type:
7283           type: string
7284         name:
7285           type: string
7286         description:
7287           type: string
7288         vim:
7289           type: string
7290         datacenter:
7291           type: string
7292         vim_type:
7293           $ref: '#/components/schemas/VimType'
7294         vim_url:
7295           type: string
7296           format: uri
7297         vim_tenant_name:
7298           type: string
7299         vim_user:
7300           type: string
7301         vim_password:
7302           type: string
7303         config:
7304           type: object
7305           additionalProperties: true
7306       required:
7307         - name
7308         - vim_url
7309         - vim_type
7310         - vim_user
7311         - vim_password
7312         - vim_tenant_name
7313       additionalProperties: false
7314     EditVimRequest:
7315       type: object
7316       properties:
7317         name:
7318           type: string
7319         description:
7320           type: string
7321         vim:
7322           type: string
7323         datacenter:
7324           type: string
7325         vim_type:
7326           $ref: '#/components/schemas/VimType'
7327         vim_url:
7328           type: string
7329           format: uri
7330         vim_tenant_name:
7331           type: string
7332         vim_user:
7333           type: string
7334         vim_password:
7335           type: string
7336         config:
7337           type: object
7338           additionalProperties: true
7339       additionalProperties: false
7340     ObjectId_plus_OpId:
7341       type: object
7342       properties:
7343         id:
7344           type: string
7345           format: uuid
7346         op_id:
7347           type: string
7348           format: uuid
7349     OpId:
7350       type: object
7351       properties:
7352         op_id:
7353           type: string
7354           format: uuid
7355     WimType:
7356       type: string
7357       enum:
7358         - onos
7359         - odl
7360         - tapi
7361         - dynpac
7362         - fake
7363     WimInfo:
7364       type: object
7365       properties:
7366         _id:
7367           type: string
7368           format: uuid
7369         schema_version:
7370           type: string
7371           format: X.Y[.Z]
7372         schema_type:
7373           type: string
7374         name:
7375           type: string
7376         description:
7377           type: string
7378         wim:
7379           type: string
7380         wim_type:
7381           $ref: '#/components/schemas/WimType'
7382         wim_url:
7383           type: string
7384           format: uri
7385         user:
7386           type: string
7387         password:
7388           type: string
7389         config:
7390           type: object
7391           additionalProperties: true
7392     ArrayOfWimInfo:
7393       type: array
7394       items:
7395         $ref: '#/components/schemas/WimInfo'
7396     CreateWimRequest:
7397       type: object
7398       properties:
7399         schema_version:
7400           type: string
7401           format: X.Y[.Z]
7402         schema_type:
7403           type: string
7404         name:
7405           type: string
7406         description:
7407           type: string
7408         wim:
7409           type: string
7410         wim_type:
7411           $ref: '#/components/schemas/WimType'
7412         wim_url:
7413           type: string
7414           format: uri
7415         user:
7416           type: string
7417         password:
7418           type: string
7419         config:
7420           type: object
7421           additionalProperties: true
7422       required:
7423         - name
7424         - wim_url
7425         - wim_type
7426       additionalProperties: false
7427     EditWimRequest:
7428       type: object
7429       properties:
7430         name:
7431           type: string
7432         description:
7433           type: string
7434         wim:
7435           type: string
7436         wim_type:
7437           type: string
7438         wim_url:
7439           type: string
7440           format: uri
7441         user:
7442           type: string
7443         password:
7444           type: string
7445         config:
7446           type: object
7447           additionalProperties: true
7448       additionalProperties: false
7449     SdnBasicProperties:
7450       type: object
7451       properties:
7452         name:
7453           type: string
7454         description:
7455           type: string
7456         dpid:
7457           type: string
7458           format: mac_address
7459         ip:
7460           type: string
7461           format: ipv4
7462         port:
7463           type: integer
7464         type:
7465           type: string
7466           enum:
7467             - floodlight
7468             - opendaylight
7469             - onos
7470         version:
7471           type: string
7472         user:
7473           type: string
7474         password:
7475           type: string
7476     SdnExtraProperties:
7477       type: object
7478       properties:
7479         _id:
7480           type: string
7481           format: uuid
7482         schema_version:
7483           type: string
7484           format: X.Y[.Z]
7485     SdnInfo:
7486       allOf:
7487         - $ref: '#/components/schemas/SdnExtraProperties'
7488         - $ref: '#/components/schemas/SdnBasicProperties'
7489     ArrayOfSdnInfo:
7490       type: array
7491       items:
7492         $ref: '#/components/schemas/SdnInfo'
7493     CreateSdnRequest:
7494       allOf:
7495         - $ref: '#/components/schemas/SdnBasicProperties'
7496       required:
7497         - name
7498         - type
7499         - ip
7500         - port
7501         - dpid
7502       additionalProperties: false
7503     EditSdnRequest:
7504       allOf:
7505         - $ref: '#/components/schemas/SdnBasicProperties'
7506       additionalProperties: false
7507     NsPmJobReportInfo:
7508       type: object
7509       properties:
7510         entries:
7511           type: array
7512           items:
7513             type: object
7514             properties:
7515               objectInstanceId:
7516                 type: string
7517                 format: uuid
7518               performanceMetric:
7519                 type: string
7520               performanceValue:
7521                 type: object
7522                 properties:
7523                   performanceValue:
7524                     type: object
7525                     properties:
7526                       performanceValue:
7527                         type: number
7528                       vnfMemberIndex:
7529                         type: string
7530                       vduName:
7531                         type: string
7532                   timestamp:
7533                     type: number
7534     PduInterfaces:
7535       type: array
7536       items:
7537         type: object
7538         properties:
7539           name:
7540             type: string
7541           mgmt:
7542             type: boolean
7543           type:
7544             type: string
7545             enum:
7546               - overlay
7547               - underlay
7548           ip-address:
7549             type: string
7550             format: ipv4
7551           mac-address:
7552             type: string
7553             format: mac_address
7554           vim-network-name:
7555             type: string
7556           vim-network-id:
7557             type: string
7558         required:
7559           - name
7560           - mgmt
7561           - ip-address
7562         additionalProperties: false
7563     PduInfo:
7564       type: object
7565       properties:
7566         _id:
7567           type: string
7568           format: uuid
7569         name:
7570           type: string
7571         type:
7572           type: string
7573         description:
7574           type: string
7575         shared:
7576           type: boolean
7577         vims:
7578           type: array
7579           items:
7580             type: string
7581         vim_accounts:
7582           type: array
7583           items:
7584             type: string
7585         interfaces:
7586           $ref: '#/components/schemas/PduInterfaces'
7587     ArrayOfPduInfo:
7588       type: array
7589       items:
7590         $ref: '#/components/schemas/PduInfo'
7591     CreatePduRequest:
7592       type: object
7593       properties:
7594         name:
7595           type: string
7596         type:
7597           type: string
7598         description:
7599           type: string
7600         shared:
7601           type: boolean
7602         vims:
7603           type: array
7604           items:
7605             type: string
7606         vim_accounts:
7607           type: array
7608           items:
7609             type: string
7610         interfaces:
7611           $ref: '#/components/schemas/PduInterfaces'
7612       required:
7613         - name
7614         - type
7615         - interfaces
7616       additionalProperties: false
7617     EditPduRequest:
7618       type: object
7619       properties:
7620         name:
7621           type: string
7622         type:
7623           type: string
7624         description:
7625           type: string
7626         shared:
7627           type: boolean
7628         vims:
7629           type: array
7630           items:
7631             type: string
7632         vim_accounts:
7633           type: array
7634           items:
7635             type: string
7636         interfaces:
7637           $ref: '#/components/schemas/PduInterfaces'
7638       additionalProperties: false
7639     K8sClusterNetList:
7640       type: array
7641       items:
7642         type: object
7643         additionalProperties: true
7644     K8sClusterInfo:
7645       type: object
7646       properties:
7647         _id:
7648           type: string
7649           format: uuid
7650         schema_version:
7651           type: string
7652           format: X.Y[.Z]
7653         schema_type:
7654           type: string
7655         name:
7656           type: string
7657         description:
7658           type: string
7659         credentials:
7660           type: object
7661           additionalProperties: true
7662         vim_account:
7663           type: string
7664           format: uuid
7665         k8s_version:
7666           type: string
7667         nets:
7668           $ref: '#/components/schemas/K8sClusterNetList'
7669         namespace:
7670           type: string
7671         cni:
7672           type: array
7673           items:
7674             type: string
7675     ArrayOfK8sClusterInfo:
7676       type: array
7677       items:
7678         $ref: '#/components/schemas/K8sClusterInfo'
7679     CreateK8sClusterRequest:
7680       type: object
7681       properties:
7682         schema_version:
7683           type: string
7684           format: X.Y[.Z]
7685         schema_type:
7686           type: string
7687         name:
7688           type: string
7689         description:
7690           type: string
7691         credentials:
7692           type: object
7693           additionalProperties: true
7694         vim_account:
7695           type: string
7696           format: uuid
7697         k8s_version:
7698           type: string
7699         nets:
7700           $ref: '#/components/schemas/K8sClusterNetList'
7701         namespace:
7702           type: string
7703         cni:
7704           type: array
7705           items:
7706             type: string
7707       required:
7708         - name
7709         - credentials
7710         - vim_account
7711         - k8s_version
7712         - nets
7713       additionalProperties: false
7714     EditK8sClusterRequest:
7715       type: object
7716       properties:
7717         name:
7718           type: string
7719         description:
7720           type: string
7721         credentials:
7722           type: object
7723           additionalProperties: true
7724         vim_account:
7725           type: string
7726           format: uuid
7727         k8s_version:
7728           type: string
7729         nets:
7730           $ref: '#/components/schemas/K8sClusterNetList'
7731         namespace:
7732           type: string
7733         cni:
7734           type: array
7735           items:
7736             type: string
7737       additionalProperties: false
7738     K8sRepoType:
7739       type: string
7740       enum:
7741         - chart
7742         - bundle
7743     K8sRepoInfo:
7744       type: object
7745       properties:
7746         _id:
7747           type: string
7748           format: uuid
7749         name:
7750           type: string
7751         description:
7752           type: string
7753         type:
7754           $ref: '#/components/schemas/K8sRepoType'
7755         url:
7756           type: string
7757           format: uri
7758     ArrayOfK8sRepoInfo:
7759       type: array
7760       items:
7761         $ref: '#/components/schemas/K8sRepoInfo'
7762     CreateK8sRepoRequest:
7763       type: object
7764       properties:
7765         name:
7766           type: string
7767         description:
7768           type: string
7769         type:
7770           $ref: '#/components/schemas/K8sRepoType'
7771         url:
7772           type: string
7773           format: uri
7774       required:
7775         - name
7776         - type
7777         - url
7778       additionalProperties: false
7779   # END SCHEMAS
7780
7781   requestBodies:
7782     CreateNsdInfoRequest:
7783       content:
7784         application/json:
7785           schema:
7786             $ref: '#/components/schemas/CreateNsdInfoRequest'
7787         application/yaml:
7788           schema:
7789             $ref: '#/components/schemas/CreateNsdInfoRequest'
7790     NsdInfoModifications:
7791       content:
7792         application/json:
7793           schema:
7794             $ref: '#/components/schemas/NsdInfoModifications'
7795         application/yaml:
7796           schema:
7797             $ref: '#/components/schemas/NsdInfoModifications'
7798     NsDescriptor:
7799       content:
7800         text/plain:
7801           schema:
7802             $ref: '#/components/schemas/NsDescriptor'
7803     NsPackage:
7804       content:
7805         application/zip:
7806           schema:
7807             $ref: '#/components/schemas/NsPackage'
7808     CreateVnfPkgInfoRequest:
7809       content:
7810         application/json:
7811           schema:
7812             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
7813         application/yaml:
7814           schema:
7815             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
7816     VnfPkgInfoModifications:
7817       content:
7818         application/json:
7819           schema:
7820             $ref: '#/components/schemas/VnfPkgInfoModifications'
7821         application/yaml:
7822           schema:
7823             $ref: '#/components/schemas/VnfPkgInfoModifications'
7824     VnfPackage:
7825       content:
7826         application/zip:
7827           schema:
7828             $ref: '#/components/schemas/VnfPackage'
7829     VnfDescriptor:
7830       content:
7831         text/plain:
7832           schema:
7833             $ref: '#/components/schemas/VnfDescriptor'
7834     # CreateNsRequest:
7835       # Substituted by InstantiateNsRequest
7836     InstantiateNsRequest:
7837       content:
7838         application/json:
7839           schema:
7840             $ref: '#/components/schemas/InstantiateNsRequest'
7841         application/yaml:
7842           schema:
7843             $ref: '#/components/schemas/InstantiateNsRequest'
7844     ScaleNsRequest:
7845       content:
7846         application/json:
7847           schema:
7848             $ref: '#/components/schemas/ScaleNsRequest'
7849         application/yaml:
7850           schema:
7851             $ref: '#/components/schemas/ScaleNsRequest'
7852     TerminateNsRequest:
7853       content:
7854         application/json:
7855           schema:
7856             $ref: '#/components/schemas/TerminateNsRequest'
7857         application/yaml:
7858           schema:
7859             $ref: '#/components/schemas/TerminateNsRequest'
7860     # CreateNSinstanceContentRequest:
7861       # Substituted by InstantiateNsRequest
7862     CreateNstInfoRequest:
7863       content:
7864         application/json:
7865           schema:
7866             $ref: '#/components/schemas/CreateNstInfoRequest'
7867         application/yaml:
7868           schema:
7869             $ref: '#/components/schemas/CreateNstInfoRequest'
7870     NetSliceTemplate:
7871       content:
7872         text/plain:
7873           schema:
7874             $ref: '#/components/schemas/NetSliceTemplate'
7875     NetSlicePackage:
7876       content:
7877         application/zip:
7878           schema:
7879             $ref: '#/components/schemas/NetSlicePackage'
7880     NstInfoModifications:
7881       content:
7882         application/json:
7883           schema:
7884             $ref: '#/components/schemas/NstInfoModifications'
7885         application/yaml:
7886           schema:
7887             $ref: '#/components/schemas/NstInfoModifications'
7888     # CreateNsiRequest:
7889       # Substituted by InstantiateNsiRequest
7890     InstantiateNsiRequest:
7891       content:
7892         application/json:
7893           schema:
7894             $ref: '#/components/schemas/InstantiateNsiRequest'
7895         application/yaml:
7896           schema:
7897             $ref: '#/components/schemas/InstantiateNsiRequest'
7898     TerminateNsiRequest:
7899       content:
7900         application/json:
7901           schema:
7902             $ref: '#/components/schemas/TerminateNsiRequest'
7903         application/yaml:
7904           schema:
7905             $ref: '#/components/schemas/TerminateNsiRequest'
7906     NsiActionRequest:
7907       content:
7908         application/json:
7909           schema:
7910             $ref: '#/components/schemas/NsiActionRequest'
7911         application/yaml:
7912           schema:
7913             $ref: '#/components/schemas/NsiActionRequest'
7914     # CreateNsiContentRequest:
7915       # Substituted by InstantiateNsiRequest
7916     CreateTokenRequest:
7917       content:
7918         application/json:
7919           schema:
7920             $ref: '#/components/schemas/CreateTokenRequest'
7921         application/yaml:
7922           schema:
7923             $ref: '#/components/schemas/CreateTokenRequest'
7924     CreateUserRequest:
7925       content:
7926         application/json:
7927           schema:
7928             $ref: '#/components/schemas/CreateUserRequest'
7929         application/yaml:
7930           schema:
7931             $ref: '#/components/schemas/CreateUserRequest'
7932     EditUserRequest:
7933       content:
7934         application/json:
7935           schema:
7936             $ref: '#/components/schemas/EditUserRequest'
7937         application/yaml:
7938           schema:
7939             $ref: '#/components/schemas/EditUserRequest'
7940     CreateProjectRequest:
7941       content:
7942         application/json:
7943           schema:
7944             $ref: '#/components/schemas/CreateProjectRequest'
7945         application/yaml:
7946           schema:
7947             $ref: '#/components/schemas/CreateProjectRequest'
7948     EditProjectRequest:
7949       content:
7950         application/json:
7951           schema:
7952             $ref: '#/components/schemas/EditProjectRequest'
7953         application/yaml:
7954           schema:
7955             $ref: '#/components/schemas/EditProjectRequest'
7956     CreateRoleRequest:
7957       content:
7958         application/json:
7959           schema:
7960             $ref: '#/components/schemas/CreateRoleRequest'
7961         application/yaml:
7962           schema:
7963             $ref: '#/components/schemas/CreateRoleRequest'
7964     EditRoleRequest:
7965       content:
7966         application/json:
7967           schema:
7968             $ref: '#/components/schemas/EditRoleRequest'
7969         application/yaml:
7970           schema:
7971             $ref: '#/components/schemas/EditRoleRequest'
7972     CreateVimRequest:
7973       content:
7974         application/json:
7975           schema:
7976             $ref: '#/components/schemas/CreateVimRequest'
7977         application/yaml:
7978           schema:
7979             $ref: '#/components/schemas/CreateVimRequest'
7980     EditVimRequest:
7981       content:
7982         application/json:
7983           schema:
7984             $ref: '#/components/schemas/EditVimRequest'
7985         application/yaml:
7986           schema:
7987             $ref: '#/components/schemas/EditVimRequest'
7988     CreateWimRequest:
7989       content:
7990         application/json:
7991           schema:
7992             $ref: '#/components/schemas/CreateWimRequest'
7993         application/yaml:
7994           schema:
7995             $ref: '#/components/schemas/CreateWimRequest'
7996     EditWimRequest:
7997       content:
7998         application/json:
7999           schema:
8000             $ref: '#/components/schemas/EditWimRequest'
8001         application/yaml:
8002           schema:
8003             $ref: '#/components/schemas/EditWimRequest'
8004     CreateSdnRequest:
8005       content:
8006         application/json:
8007           schema:
8008             $ref: '#/components/schemas/CreateSdnRequest'
8009         application/yaml:
8010           schema:
8011             $ref: '#/components/schemas/CreateSdnRequest'
8012     EditSdnRequest:
8013       content:
8014         application/json:
8015           schema:
8016             $ref: '#/components/schemas/EditSdnRequest'
8017         application/yaml:
8018           schema:
8019             $ref: '#/components/schemas/EditSdnRequest'
8020     CreatePduRequest:
8021       content:
8022         application/json:
8023           schema:
8024             $ref: '#/components/schemas/CreatePduRequest'
8025         application/yaml:
8026           schema:
8027             $ref: '#/components/schemas/CreatePduRequest'
8028     EditPduRequest:
8029       content:
8030         application/json:
8031           schema:
8032             $ref: '#/components/schemas/EditPduRequest'
8033         application/yaml:
8034           schema:
8035             $ref: '#/components/schemas/EditPduRequest'
8036     CreateK8sClusterRequest:
8037       content:
8038         application/json:
8039           schema:
8040             $ref: '#/components/schemas/CreateK8sClusterRequest'
8041         application/yaml:
8042           schema:
8043             $ref: '#/components/schemas/CreateK8sClusterRequest'
8044     EditK8sClusterRequest:
8045       content:
8046         application/json:
8047           schema:
8048             $ref: '#/components/schemas/EditK8sClusterRequest'
8049         application/yaml:
8050           schema:
8051             $ref: '#/components/schemas/EditK8sClusterRequest'
8052     CreateK8sRepoRequest:
8053       content:
8054         application/json:
8055           schema:
8056             $ref: '#/components/schemas/CreateK8sRepoRequest'
8057         application/yaml:
8058           schema:
8059             $ref: '#/components/schemas/CreateK8sRepoRequest'
8060   # END REQUEST BODIES
8061
8062   securitySchemes:
8063     bearerAuth:
8064       type: http
8065       scheme: bearer