Feature 10239: Distributed VCA
[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   /nslcm/v1/subscriptions:
2089     get:
2090       tags:
2091         - NS instances
2092       summary: Query information about multiple NS instance subscription
2093       description: Query information about multiple NS instance subscription
2094       operationId: getNsSubcriptions
2095       responses:
2096         '200':
2097           description: OK
2098           content:
2099             application/json:
2100               schema:
2101                 $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
2102             application/yaml:
2103               schema:
2104                 $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
2105         '400':
2106           $ref: '#/components/responses/BadRequest'
2107         '401':
2108           $ref: '#/components/responses/Unauthorized'
2109         '403':
2110           $ref: '#/components/responses/Forbidden'
2111         '404':
2112           $ref: '#/components/responses/NotFound'
2113         '405':
2114           $ref: '#/components/responses/MethodNotAllowed'
2115         '406':
2116           $ref: '#/components/responses/NotAcceptable'
2117         '409':
2118           $ref: '#/components/responses/Conflict'
2119         '422':
2120           $ref: '#/components/responses/UnprocessableEntity'
2121         '500':
2122           $ref: '#/components/responses/InternalServerError'
2123         '503':
2124           $ref: '#/components/responses/ServiceUnavailable'
2125         5XX:
2126           $ref: '#/components/responses/UnexpectedError'
2127         default:
2128           $ref: '#/components/responses/UnexpectedError'
2129     post:
2130       tags:
2131         - NS instances
2132       summary: Create a new subscription for the Network service
2133       description: Create a new subscription for the Network service
2134       operationId: addNsSubcriptions
2135       requestBody:
2136         $ref: '#/components/requestBodies/NslcmSubscriptionRequest'
2137       responses:
2138         '201':
2139           description: Created
2140           headers:
2141             Location:
2142               schema:
2143                 type: object
2144           content:
2145             application/json:
2146               schema:
2147                 $ref: '#/components/schemas/NslcmSubscriptionResponse'
2148             application/yaml:
2149               schema:
2150                 $ref: '#/components/schemas/NslcmSubscriptionResponse'
2151         '400':
2152           $ref: '#/components/responses/BadRequest'
2153         '401':
2154           $ref: '#/components/responses/Unauthorized'
2155         '403':
2156           $ref: '#/components/responses/Forbidden'
2157         '404':
2158           $ref: '#/components/responses/NotFound'
2159         '405':
2160           $ref: '#/components/responses/MethodNotAllowed'
2161         '406':
2162           $ref: '#/components/responses/NotAcceptable'
2163         '409':
2164           $ref: '#/components/responses/Conflict'
2165         '422':
2166           $ref: '#/components/responses/UnprocessableEntity'
2167         '500':
2168           $ref: '#/components/responses/InternalServerError'
2169         '503':
2170           $ref: '#/components/responses/ServiceUnavailable'
2171         5XX:
2172           $ref: '#/components/responses/UnexpectedError'
2173         default:
2174           $ref: '#/components/responses/UnexpectedError'
2175   '/nslcm/v1/subscriptions/{nsSubscriptionsId}':
2176     parameters:
2177       - name: nsSubscriptionsId
2178         in: path
2179         required: true
2180         description: Network Service Subscription ID
2181         schema:
2182           type: string
2183     get:
2184       tags:
2185         - NS instances
2186       summary: Read information about an individual Network Service Subscription
2187       description: Read information about an individual Network Service Subscription
2188       operationId: getNsSubcriptionId
2189       responses:
2190         '200':
2191           description: OK
2192           content:
2193             application/json:
2194               schema:
2195                 $ref: '#/components/schemas/NslcmSubscriptionInfo'
2196             application/yaml:
2197               schema:
2198                 $ref: '#/components/schemas/NslcmSubscriptionInfo'
2199         '400':
2200           $ref: '#/components/responses/BadRequest'
2201         '401':
2202           $ref: '#/components/responses/Unauthorized'
2203         '403':
2204           $ref: '#/components/responses/Forbidden'
2205         '404':
2206           $ref: '#/components/responses/NotFound'
2207         '405':
2208           $ref: '#/components/responses/MethodNotAllowed'
2209         '406':
2210           $ref: '#/components/responses/NotAcceptable'
2211         '409':
2212           $ref: '#/components/responses/Conflict'
2213         '422':
2214           $ref: '#/components/responses/UnprocessableEntity'
2215         '500':
2216           $ref: '#/components/responses/InternalServerError'
2217         '503':
2218           $ref: '#/components/responses/ServiceUnavailable'
2219         5XX:
2220           $ref: '#/components/responses/UnexpectedError'
2221         default:
2222           $ref: '#/components/responses/UnexpectedError'
2223     delete:
2224       tags:
2225         - NS instances
2226       summary: Delete an individual Network Service Subscription
2227       description: Delete an individual Network Service Subscription
2228       operationId: deleteNsSubcriptionId
2229       responses:
2230         '204':
2231           description: No Content
2232         '400':
2233           $ref: '#/components/responses/BadRequest'
2234         '401':
2235           $ref: '#/components/responses/Unauthorized'
2236         '403':
2237           $ref: '#/components/responses/Forbidden'
2238         '404':
2239           $ref: '#/components/responses/NotFound'
2240         '405':
2241           $ref: '#/components/responses/MethodNotAllowed'
2242         '406':
2243           $ref: '#/components/responses/NotAcceptable'
2244         '409':
2245           $ref: '#/components/responses/Conflict'
2246         '422':
2247           $ref: '#/components/responses/UnprocessableEntity'
2248         '500':
2249           $ref: '#/components/responses/InternalServerError'
2250         '503':
2251           $ref: '#/components/responses/ServiceUnavailable'
2252         5XX:
2253           $ref: '#/components/responses/UnexpectedError'
2254         default:
2255           $ref: '#/components/responses/UnexpectedError'
2256 # END NS Instances
2257
2258 # BEGIN NetSlice Templates
2259   '/nst/v1/netslice_templates':
2260     get:
2261       tags:
2262         - "NetSlice templates"
2263       summary: Query information about multiple NetSlice template resources
2264       description: Query information about multiple NetSlice template resources
2265       operationId: getNSTs
2266       responses:
2267         '200':
2268           description: OK
2269           content:
2270             application/json:
2271               schema:
2272                 $ref: '#/components/schemas/ArrayOfNstInfo'
2273             application/yaml:
2274               schema:
2275                 $ref: '#/components/schemas/ArrayOfNstInfo'
2276         '400':
2277           $ref: '#/components/responses/BadRequest'
2278         '401':
2279           $ref: '#/components/responses/Unauthorized'
2280         '403':
2281           $ref: '#/components/responses/Forbidden'
2282         '404':
2283           $ref: '#/components/responses/NotFound'
2284         '405':
2285           $ref: '#/components/responses/MethodNotAllowed'
2286         '406':
2287           $ref: '#/components/responses/NotAcceptable'
2288         '409':
2289           $ref: '#/components/responses/Conflict'
2290         '422':
2291           $ref: '#/components/responses/UnprocessableEntity'
2292         '500':
2293           $ref: '#/components/responses/InternalServerError'
2294         '503':
2295           $ref: '#/components/responses/ServiceUnavailable'
2296         '5XX':
2297           $ref: '#/components/responses/UnexpectedError'
2298         default:
2299           $ref: '#/components/responses/UnexpectedError'
2300     post:
2301       tags:
2302         - "NetSlice templates"
2303       summary: Create a new NetSlice template resource
2304       description: Create a new NetSlice template resource
2305       operationId: addNST
2306       requestBody:
2307         $ref: '#/components/requestBodies/CreateNstInfoRequest'
2308       responses:
2309         '201':
2310           description: Created
2311           headers:
2312             Location:
2313               schema:
2314                 type: string
2315                 format: uri
2316           content:
2317             application/json:
2318               schema:
2319                 $ref: '#/components/schemas/ObjectId'
2320             application/yaml:
2321               schema:
2322                 $ref: '#/components/schemas/ObjectId'
2323         '400':
2324           $ref: '#/components/responses/BadRequest'
2325         '401':
2326           $ref: '#/components/responses/Unauthorized'
2327         '403':
2328           $ref: '#/components/responses/Forbidden'
2329         '404':
2330           $ref: '#/components/responses/NotFound'
2331         '405':
2332           $ref: '#/components/responses/MethodNotAllowed'
2333         '406':
2334           $ref: '#/components/responses/NotAcceptable'
2335         '409':
2336           $ref: '#/components/responses/Conflict'
2337         '422':
2338           $ref: '#/components/responses/UnprocessableEntity'
2339         '500':
2340           $ref: '#/components/responses/InternalServerError'
2341         '503':
2342           $ref: '#/components/responses/ServiceUnavailable'
2343         '5XX':
2344           $ref: '#/components/responses/UnexpectedError'
2345         default:
2346           $ref: '#/components/responses/UnexpectedError'
2347   '/nst/v1/netslice_templates/{netsliceTemplateId}':
2348     parameters:
2349       - name: netsliceTemplateId
2350         in: path
2351         required: true
2352         description: NetSlice Template ID
2353         schema:
2354           type: string
2355     get:
2356       tags:
2357         - "NetSlice templates"
2358       summary: Read information about an individual NetSlice template resource
2359       description: Read information about an individual NetSlice template resource
2360       operationId: getNST
2361       responses:
2362         '200':
2363           description: OK
2364           content:
2365             application/json:
2366               schema:
2367                 $ref: '#/components/schemas/NstInfo'
2368             application/yaml:
2369               schema:
2370                 $ref: '#/components/schemas/NstInfo'
2371         '400':
2372           $ref: '#/components/responses/BadRequest'
2373         '401':
2374           $ref: '#/components/responses/Unauthorized'
2375         '403':
2376           $ref: '#/components/responses/Forbidden'
2377         '404':
2378           $ref: '#/components/responses/NotFound'
2379         '405':
2380           $ref: '#/components/responses/MethodNotAllowed'
2381         '406':
2382           $ref: '#/components/responses/NotAcceptable'
2383         '409':
2384           $ref: '#/components/responses/Conflict'
2385         '422':
2386           $ref: '#/components/responses/UnprocessableEntity'
2387         '500':
2388           $ref: '#/components/responses/InternalServerError'
2389         '503':
2390           $ref: '#/components/responses/ServiceUnavailable'
2391         '5XX':
2392           $ref: '#/components/responses/UnexpectedError'
2393         default:
2394           $ref: '#/components/responses/UnexpectedError'
2395     delete:
2396       tags:
2397         - "NetSlice templates"
2398       summary: Delete an individual NetSlice template resource
2399       description: Delete an individual NetSlice template resource
2400       operationId: deleteNST
2401       responses:
2402         '204':
2403           description: No Content
2404         '400':
2405           $ref: '#/components/responses/BadRequest'
2406         '401':
2407           $ref: '#/components/responses/Unauthorized'
2408         '403':
2409           $ref: '#/components/responses/Forbidden'
2410         '404':
2411           $ref: '#/components/responses/NotFound'
2412         '405':
2413           $ref: '#/components/responses/MethodNotAllowed'
2414         '406':
2415           $ref: '#/components/responses/NotAcceptable'
2416         '409':
2417           $ref: '#/components/responses/Conflict'
2418         '422':
2419           $ref: '#/components/responses/UnprocessableEntity'
2420         '500':
2421           $ref: '#/components/responses/InternalServerError'
2422         '503':
2423           $ref: '#/components/responses/ServiceUnavailable'
2424         '5XX':
2425           $ref: '#/components/responses/UnexpectedError'
2426         default:
2427           $ref: '#/components/responses/UnexpectedError'
2428   '/nst/v1/netslice_templates/{netsliceTemplateId}/artifacts/{artifactPath}':
2429     parameters:
2430       - name: netsliceTemplateId
2431         in: path
2432         required: true
2433         description: NetSlice Template ID
2434         schema:
2435           type: string
2436       - name: artifactPath
2437         in: path
2438         required: true
2439         description: Artifact Path
2440         schema:
2441           type: string
2442     get:
2443       tags:
2444         - "NetSlice templates"
2445       summary: Fetch individual NetSlice Template artifact
2446       description: Fetch individual NetSlice Template artifact
2447       operationId: getNstArtifact
2448       responses:
2449         '200':
2450           description: OK
2451           content:
2452             application/octet-stream:
2453               schema:
2454                 type: string
2455                 format: binary
2456         '206':
2457           description: Partial Content
2458           headers:
2459             Content-Range:
2460               schema:
2461                 type: string
2462           content:
2463             application/octet-stream:
2464               schema:
2465                 type: string
2466                 format: binary
2467         '400':
2468           $ref: '#/components/responses/BadRequest'
2469         '401':
2470           $ref: '#/components/responses/Unauthorized'
2471         '403':
2472           $ref: '#/components/responses/Forbidden'
2473         '404':
2474           $ref: '#/components/responses/NotFound'
2475         '405':
2476           $ref: '#/components/responses/MethodNotAllowed'
2477         '406':
2478           $ref: '#/components/responses/NotAcceptable'
2479         '409':
2480           $ref: '#/components/responses/Conflict'
2481         '422':
2482           $ref: '#/components/responses/UnprocessableEntity'
2483         '500':
2484           $ref: '#/components/responses/InternalServerError'
2485         '503':
2486           $ref: '#/components/responses/ServiceUnavailable'
2487         '5XX':
2488           $ref: '#/components/responses/UnexpectedError'
2489         default:
2490           $ref: '#/components/responses/UnexpectedError'
2491   '/nst/v1/netslice_templates/{netsliceTemplateId}/nst':
2492     parameters:
2493       - name: netsliceTemplateId
2494         in: path
2495         required: true
2496         description: NetSlice Template ID
2497         schema:
2498           type: string
2499     get:
2500       tags:
2501         - "NetSlice templates"
2502       summary: Read NST of an on-boarded NetSlice Template
2503       description: Read NST of an on-boarded NetSlice Template
2504       operationId: getNstNst
2505       responses:
2506         '200':
2507           description: OK
2508           content:
2509             text/plain:
2510               schema:
2511                 $ref: '#/components/schemas/NetSliceTemplate'
2512         '400':
2513           $ref: '#/components/responses/BadRequest'
2514         '401':
2515           $ref: '#/components/responses/Unauthorized'
2516         '403':
2517           $ref: '#/components/responses/Forbidden'
2518         '404':
2519           $ref: '#/components/responses/NotFound'
2520         '405':
2521           $ref: '#/components/responses/MethodNotAllowed'
2522         '406':
2523           $ref: '#/components/responses/NotAcceptable'
2524         '409':
2525           $ref: '#/components/responses/Conflict'
2526         '422':
2527           $ref: '#/components/responses/UnprocessableEntity'
2528         '500':
2529           $ref: '#/components/responses/InternalServerError'
2530         '503':
2531           $ref: '#/components/responses/ServiceUnavailable'
2532         '5XX':
2533           $ref: '#/components/responses/UnexpectedError'
2534         default:
2535           $ref: '#/components/responses/UnexpectedError'
2536   '/nst/v1/netslice_templates/{netsliceTemplateId}/nst_content':
2537     parameters:
2538       - name: netsliceTemplateId
2539         in: path
2540         required: true
2541         description: NetSlice Template ID
2542         schema:
2543           type: string
2544     get:
2545       tags:
2546         - "NetSlice templates"
2547       summary: Fetch the content of a NST
2548       description: Fetch the content of a NST
2549       operationId: getNSTcontent
2550       responses:
2551         '200':
2552           description: OK
2553           content:
2554             application/zip:
2555               schema:
2556                 $ref: '#/components/schemas/NetSlicePackage'
2557         '206':
2558           description: Partial Content
2559           headers:
2560             Content-Range:
2561               schema:
2562                 type: string
2563           content:
2564             application/zip:
2565               schema:
2566                 $ref: '#/components/schemas/NetSlicePackage'
2567         '400':
2568           $ref: '#/components/responses/BadRequest'
2569         '401':
2570           $ref: '#/components/responses/Unauthorized'
2571         '403':
2572           $ref: '#/components/responses/Forbidden'
2573         '404':
2574           $ref: '#/components/responses/NotFound'
2575         '405':
2576           $ref: '#/components/responses/MethodNotAllowed'
2577         '406':
2578           $ref: '#/components/responses/NotAcceptable'
2579         '409':
2580           $ref: '#/components/responses/Conflict'
2581         '422':
2582           $ref: '#/components/responses/UnprocessableEntity'
2583         '500':
2584           $ref: '#/components/responses/InternalServerError'
2585         '503':
2586           $ref: '#/components/responses/ServiceUnavailable'
2587         '5XX':
2588           $ref: '#/components/responses/UnexpectedError'
2589         default:
2590           $ref: '#/components/responses/UnexpectedError'
2591     put:
2592       tags:
2593         - "NetSlice templates"
2594       summary: Upload the content of a NST
2595       description: Upload the content of a NST
2596       operationId: updateNSTcontent
2597       requestBody:
2598         $ref: '#/components/requestBodies/NetSlicePackage'
2599       responses:
2600         '202':
2601           description: Accepted
2602         '204':
2603           description: No Content
2604         '400':
2605           $ref: '#/components/responses/BadRequest'
2606         '401':
2607           $ref: '#/components/responses/Unauthorized'
2608         '403':
2609           $ref: '#/components/responses/Forbidden'
2610         '404':
2611           $ref: '#/components/responses/NotFound'
2612         '405':
2613           $ref: '#/components/responses/MethodNotAllowed'
2614         '406':
2615           $ref: '#/components/responses/NotAcceptable'
2616         '409':
2617           $ref: '#/components/responses/Conflict'
2618         '422':
2619           $ref: '#/components/responses/UnprocessableEntity'
2620         '500':
2621           $ref: '#/components/responses/InternalServerError'
2622         '503':
2623           $ref: '#/components/responses/ServiceUnavailable'
2624         '5XX':
2625           $ref: '#/components/responses/UnexpectedError'
2626         default:
2627           $ref: '#/components/responses/UnexpectedError'
2628   '/nst/v1/netslice_templates_content':
2629     post:
2630       tags:
2631         - "NetSlice templates"
2632       summary: Upload a NetSlice package by providing the content of the NetSlice package
2633       description: Upload a NetSlice package by providing the content of the NetSlice package
2634       operationId: uploadNstContent
2635       requestBody:
2636         content:
2637           application/zip:
2638             schema:
2639               $ref: '#/components/schemas/NetSlicePackage'
2640       responses:
2641         '201':
2642           description: Created
2643           headers:
2644             Location:
2645               schema:
2646                 type: string
2647                 format: uri
2648           content:
2649             application/json:
2650               schema:
2651                 $ref: '#/components/schemas/ObjectId'
2652             application/yaml:
2653               schema:
2654                 $ref: '#/components/schemas/ObjectId'
2655         '202':
2656           description: Accepted
2657         '204':
2658           description: No Content
2659         '400':
2660           $ref: '#/components/responses/BadRequest'
2661         '401':
2662           $ref: '#/components/responses/Unauthorized'
2663         '403':
2664           $ref: '#/components/responses/Forbidden'
2665         '404':
2666           $ref: '#/components/responses/NotFound'
2667         '405':
2668           $ref: '#/components/responses/MethodNotAllowed'
2669         '406':
2670           $ref: '#/components/responses/NotAcceptable'
2671         '409':
2672           $ref: '#/components/responses/Conflict'
2673         '422':
2674           $ref: '#/components/responses/UnprocessableEntity'
2675         '500':
2676           $ref: '#/components/responses/InternalServerError'
2677         '503':
2678           $ref: '#/components/responses/ServiceUnavailable'
2679         '5XX':
2680           $ref: '#/components/responses/UnexpectedError'
2681         default:
2682           $ref: '#/components/responses/UnexpectedError'
2683     get:
2684       tags:
2685         - "NetSlice templates"
2686       summary: Query information about multiple NetSlice Template resources
2687       description: Query information about multiple NetSlice Template resources
2688       operationId: getNstContent
2689       responses:
2690         '200':
2691           description: OK
2692           content:
2693             application/json:
2694               schema:
2695                 $ref: '#/components/schemas/ArrayOfNstInfo'
2696             application/yaml:
2697               schema:
2698                 $ref: '#/components/schemas/ArrayOfNstInfo'
2699         '206':
2700           description: Partial Content
2701           headers:
2702             Content-Range:
2703               schema:
2704                 type: string
2705           content:
2706             application/octet-stream:
2707               schema:
2708                 type: string
2709                 format: binary
2710         '400':
2711           $ref: '#/components/responses/BadRequest'
2712         '401':
2713           $ref: '#/components/responses/Unauthorized'
2714         '403':
2715           $ref: '#/components/responses/Forbidden'
2716         '404':
2717           $ref: '#/components/responses/NotFound'
2718         '405':
2719           $ref: '#/components/responses/MethodNotAllowed'
2720         '406':
2721           $ref: '#/components/responses/NotAcceptable'
2722         '409':
2723           $ref: '#/components/responses/Conflict'
2724         '422':
2725           $ref: '#/components/responses/UnprocessableEntity'
2726         '500':
2727           $ref: '#/components/responses/InternalServerError'
2728         '503':
2729           $ref: '#/components/responses/ServiceUnavailable'
2730         '5XX':
2731           $ref: '#/components/responses/UnexpectedError'
2732         default:
2733           $ref: '#/components/responses/UnexpectedError'
2734   '/nst/v1/netslice_templates_content/{netsliceTemplateContentId}':
2735     parameters:
2736       - name: netsliceTemplateContentId
2737         in: path
2738         required: true
2739         description: NetSlice Template ID
2740         schema:
2741           type: string
2742     get:
2743       tags:
2744         - "NetSlice templates"
2745       summary: Read information about an individual NetSlice Template resource
2746       description: Read information about an individual NetSlice Template resource
2747       operationId: getNstIdContent
2748       responses:
2749         '200':
2750           description: OK
2751           content:
2752             application/json:
2753               schema:
2754                 $ref: '#/components/schemas/NstInfo'
2755             application/yaml:
2756               schema:
2757                 $ref: '#/components/schemas/NstInfo'
2758         '400':
2759           $ref: '#/components/responses/BadRequest'
2760         '401':
2761           $ref: '#/components/responses/Unauthorized'
2762         '403':
2763           $ref: '#/components/responses/Forbidden'
2764         '404':
2765           $ref: '#/components/responses/NotFound'
2766         '405':
2767           $ref: '#/components/responses/MethodNotAllowed'
2768         '406':
2769           $ref: '#/components/responses/NotAcceptable'
2770         '409':
2771           $ref: '#/components/responses/Conflict'
2772         '422':
2773           $ref: '#/components/responses/UnprocessableEntity'
2774         '500':
2775           $ref: '#/components/responses/InternalServerError'
2776         '503':
2777           $ref: '#/components/responses/ServiceUnavailable'
2778         '5XX':
2779           $ref: '#/components/responses/UnexpectedError'
2780         default:
2781           $ref: '#/components/responses/UnexpectedError'
2782     put:
2783       tags:
2784         - "NetSlice templates"
2785       summary: Modify an individual NetSlice Template resource
2786       description: Modify an individual NetSlice Template resource
2787       operationId: updateNstIdContent
2788       requestBody:
2789         $ref: '#/components/requestBodies/NstInfoModifications'
2790       responses:
2791         '204':
2792           description: No Content
2793         '400':
2794           $ref: '#/components/responses/BadRequest'
2795         '401':
2796           $ref: '#/components/responses/Unauthorized'
2797         '403':
2798           $ref: '#/components/responses/Forbidden'
2799         '404':
2800           $ref: '#/components/responses/NotFound'
2801         '405':
2802           $ref: '#/components/responses/MethodNotAllowed'
2803         '406':
2804           $ref: '#/components/responses/NotAcceptable'
2805         '409':
2806           $ref: '#/components/responses/Conflict'
2807         '422':
2808           $ref: '#/components/responses/UnprocessableEntity'
2809         '500':
2810           $ref: '#/components/responses/InternalServerError'
2811         '503':
2812           $ref: '#/components/responses/ServiceUnavailable'
2813         '5XX':
2814           $ref: '#/components/responses/UnexpectedError'
2815         default:
2816           $ref: '#/components/responses/UnexpectedError'
2817     delete:
2818       tags:
2819         - "NetSlice templates"
2820       summary: Delete an individual NetSlice Template resource
2821       description: Delete an individual NetSlice Template resource
2822       operationId: deleteNstIdContent
2823       responses:
2824         '204':
2825           description: No Content
2826         '400':
2827           $ref: '#/components/responses/BadRequest'
2828         '401':
2829           $ref: '#/components/responses/Unauthorized'
2830         '403':
2831           $ref: '#/components/responses/Forbidden'
2832         '404':
2833           $ref: '#/components/responses/NotFound'
2834         '405':
2835           $ref: '#/components/responses/MethodNotAllowed'
2836         '406':
2837           $ref: '#/components/responses/NotAcceptable'
2838         '409':
2839           $ref: '#/components/responses/Conflict'
2840         '422':
2841           $ref: '#/components/responses/UnprocessableEntity'
2842         '500':
2843           $ref: '#/components/responses/InternalServerError'
2844         '503':
2845           $ref: '#/components/responses/ServiceUnavailable'
2846         '5XX':
2847           $ref: '#/components/responses/UnexpectedError'
2848         default:
2849           $ref: '#/components/responses/UnexpectedError'
2850 # END NetSlice Templates
2851
2852 # BEGIN NetSlice Instances
2853   '/nsilcm/v1/netslice_instances':
2854     get:
2855       tags:
2856         - "NetSlice instances"
2857       summary: Query information about multiple NetSlice instances
2858       description: Query information about multiple NetSlice isntances
2859       operationId: getNSIs
2860       responses:
2861         '200':
2862           description: OK
2863           content:
2864             application/json:
2865               schema:
2866                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
2867             application/yaml:
2868               schema:
2869                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
2870         '400':
2871           $ref: '#/components/responses/BadRequest'
2872         '401':
2873           $ref: '#/components/responses/Unauthorized'
2874         '403':
2875           $ref: '#/components/responses/Forbidden'
2876         '404':
2877           $ref: '#/components/responses/NotFound'
2878         '405':
2879           $ref: '#/components/responses/MethodNotAllowed'
2880         '406':
2881           $ref: '#/components/responses/NotAcceptable'
2882         '409':
2883           $ref: '#/components/responses/Conflict'
2884         '422':
2885           $ref: '#/components/responses/UnprocessableEntity'
2886         '500':
2887           $ref: '#/components/responses/InternalServerError'
2888         '503':
2889           $ref: '#/components/responses/ServiceUnavailable'
2890         '5XX':
2891           $ref: '#/components/responses/UnexpectedError'
2892         default:
2893           $ref: '#/components/responses/UnexpectedError'
2894     post:
2895       tags:
2896         - "NetSlice instances"
2897       summary: Create a new NetSlice instance resource
2898       description: Create a new NetSlice instance resource
2899       operationId: addNSI
2900       requestBody:
2901         $ref: '#/components/requestBodies/InstantiateNsiRequest'
2902       responses:
2903         '201':
2904           description: Created
2905           headers:
2906             Location:
2907               schema:
2908                 type: string
2909                 format: uri
2910           content:
2911             application/json:
2912               schema:
2913                 $ref: '#/components/schemas/ObjectId'
2914             application/yaml:
2915               schema:
2916                 $ref: '#/components/schemas/ObjectId'
2917         '400':
2918           $ref: '#/components/responses/BadRequest'
2919         '401':
2920           $ref: '#/components/responses/Unauthorized'
2921         '403':
2922           $ref: '#/components/responses/Forbidden'
2923         '404':
2924           $ref: '#/components/responses/NotFound'
2925         '405':
2926           $ref: '#/components/responses/MethodNotAllowed'
2927         '406':
2928           $ref: '#/components/responses/NotAcceptable'
2929         '409':
2930           $ref: '#/components/responses/Conflict'
2931         '422':
2932           $ref: '#/components/responses/UnprocessableEntity'
2933         '500':
2934           $ref: '#/components/responses/InternalServerError'
2935         '503':
2936           $ref: '#/components/responses/ServiceUnavailable'
2937         '5XX':
2938           $ref: '#/components/responses/UnexpectedError'
2939         default:
2940           $ref: '#/components/responses/UnexpectedError'
2941   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}':
2942     parameters:
2943       - name: netsliceInstanceId
2944         in: path
2945         required: true
2946         description: NetSlice Instance ID
2947         schema:
2948           type: string
2949     get:
2950       tags:
2951         - "NetSlice instances"
2952       summary: Read an individual NetSlice instance resource
2953       description: Read an individual NetSlice instance resource
2954       operationId: getNSI
2955       responses:
2956         '200':
2957           description: OK
2958           content:
2959             application/json:
2960               schema:
2961                 $ref: '#/components/schemas/NetSliceInstance'
2962             application/yaml:
2963               schema:
2964                 $ref: '#/components/schemas/NetSliceInstance'
2965         '400':
2966           $ref: '#/components/responses/BadRequest'
2967         '401':
2968           $ref: '#/components/responses/Unauthorized'
2969         '403':
2970           $ref: '#/components/responses/Forbidden'
2971         '404':
2972           $ref: '#/components/responses/NotFound'
2973         '405':
2974           $ref: '#/components/responses/MethodNotAllowed'
2975         '406':
2976           $ref: '#/components/responses/NotAcceptable'
2977         '409':
2978           $ref: '#/components/responses/Conflict'
2979         '422':
2980           $ref: '#/components/responses/UnprocessableEntity'
2981         '500':
2982           $ref: '#/components/responses/InternalServerError'
2983         '503':
2984           $ref: '#/components/responses/ServiceUnavailable'
2985         '5XX':
2986           $ref: '#/components/responses/UnexpectedError'
2987         default:
2988           $ref: '#/components/responses/UnexpectedError'
2989     delete:
2990       tags:
2991         - "NetSlice instances"
2992       summary: Delete an individual NetSlice instance resource
2993       description: Delete an individual NetSlice instance resource
2994       operationId: deleteNSI
2995       responses:
2996         '204':
2997           description: No Content
2998         '400':
2999           $ref: '#/components/responses/BadRequest'
3000         '401':
3001           $ref: '#/components/responses/Unauthorized'
3002         '403':
3003           $ref: '#/components/responses/Forbidden'
3004         '404':
3005           $ref: '#/components/responses/NotFound'
3006         '405':
3007           $ref: '#/components/responses/MethodNotAllowed'
3008         '406':
3009           $ref: '#/components/responses/NotAcceptable'
3010         '409':
3011           $ref: '#/components/responses/Conflict'
3012         '422':
3013           $ref: '#/components/responses/UnprocessableEntity'
3014         '500':
3015           $ref: '#/components/responses/InternalServerError'
3016         '503':
3017           $ref: '#/components/responses/ServiceUnavailable'
3018         '5XX':
3019           $ref: '#/components/responses/UnexpectedError'
3020         default:
3021           $ref: '#/components/responses/UnexpectedError'
3022   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/instantiate':
3023     parameters:
3024       - name: netsliceInstanceId
3025         in: path
3026         required: true
3027         description: NetSlice Instance ID
3028         schema:
3029           type: string
3030     post:
3031       tags:
3032         - "NetSlice instances"
3033       summary: Instantiate a NetSlice
3034       description: |
3035         Instantiate a NetSlice. The precondition is that the NetSlice instance
3036         must have been created and must be in NOT_INSTANTIATED state. As a result
3037         of the success of this operation, the NFVO creates a "NetSlice Lifecycle
3038         Operation Occurrence" resource for the request, and the NS instance state
3039         becomes INSTANTIATED.
3040       operationId: instantiateNSI
3041       requestBody:
3042         $ref: '#/components/requestBodies/InstantiateNsiRequest'
3043       responses:
3044         '202':
3045           description: Accepted
3046           headers:
3047             Location:
3048               description: |
3049                 It must point to the new "NetSlice Lifecycle Operation Occurrence"
3050                 resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
3051               schema:
3052                 type: string
3053                 format: uri
3054           content:
3055             application/json:
3056               schema:
3057                 $ref: '#/components/schemas/ObjectId'
3058             application/yaml:
3059               schema:
3060                 $ref: '#/components/schemas/ObjectId'
3061         '400':
3062           $ref: '#/components/responses/BadRequest'
3063         '401':
3064           $ref: '#/components/responses/Unauthorized'
3065         '403':
3066           $ref: '#/components/responses/Forbidden'
3067         '404':
3068           $ref: '#/components/responses/NotFound'
3069         '405':
3070           $ref: '#/components/responses/MethodNotAllowed'
3071         '406':
3072           $ref: '#/components/responses/NotAcceptable'
3073         '409':
3074           $ref: '#/components/responses/Conflict'
3075         '422':
3076           $ref: '#/components/responses/UnprocessableEntity'
3077         '500':
3078           $ref: '#/components/responses/InternalServerError'
3079         '503':
3080           $ref: '#/components/responses/ServiceUnavailable'
3081         '5XX':
3082           $ref: '#/components/responses/UnexpectedError'
3083         default:
3084           $ref: '#/components/responses/UnexpectedError'
3085   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/terminate':
3086     parameters:
3087       - name: netsliceInstanceId
3088         in: path
3089         required: true
3090         description: NetSlice Instance ID
3091         schema:
3092           type: string
3093     post:
3094       tags:
3095         - "NetSlice instances"
3096       summary: Terminate a NetSlice instance
3097       description: |
3098         Terminate a NetSlice instance. The precondition is that the NetSlice instance
3099         must have been created and must be in INSTANTIATED state. As a result of the
3100         success of this operation, the NFVO creates a "NetSlice Lifecycle Operation
3101         Occurrence" resource for the request, and the NetSlice instance state becomes
3102         NOT_INSTANTIATED.
3103       operationId: terminateNSI
3104       requestBody:
3105         # Request data is not required
3106         $ref: '#/components/requestBodies/TerminateNsiRequest'
3107       responses:
3108         '202':
3109           description: Accepted
3110           headers:
3111             Location:
3112               description: |
3113                 It must point to the new "NetSlice Lifecycle Operation Occurrence"
3114                 resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
3115               schema:
3116                 type: string
3117                 format: uri
3118           content:
3119             application/json:
3120               schema:
3121                 $ref: '#/components/schemas/ObjectId'
3122             application/yaml:
3123               schema:
3124                 $ref: '#/components/schemas/ObjectId'
3125         '400':
3126           $ref: '#/components/responses/BadRequest'
3127         '401':
3128           $ref: '#/components/responses/Unauthorized'
3129         '403':
3130           $ref: '#/components/responses/Forbidden'
3131         '404':
3132           $ref: '#/components/responses/NotFound'
3133         '405':
3134           $ref: '#/components/responses/MethodNotAllowed'
3135         '406':
3136           $ref: '#/components/responses/NotAcceptable'
3137         '409':
3138           $ref: '#/components/responses/Conflict'
3139         '422':
3140           $ref: '#/components/responses/UnprocessableEntity'
3141         '500':
3142           $ref: '#/components/responses/InternalServerError'
3143         '503':
3144           $ref: '#/components/responses/ServiceUnavailable'
3145         '5XX':
3146           $ref: '#/components/responses/UnexpectedError'
3147         default:
3148           $ref: '#/components/responses/UnexpectedError'
3149   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/action':
3150     parameters:
3151       - name: netsliceInstanceId
3152         in: path
3153         required: true
3154         description: NetSlice Instance ID
3155         schema:
3156           type: string
3157     post:
3158       tags:
3159         - "NetSlice instances"
3160       summary: Execute an action on a NetSlice instance
3161       description: |
3162         Execute an action on a NetSlice instance.
3163         The NetSlice instance must have been created and must be in INSTANTIATED state.
3164       operationId: actionOnNSI
3165       requestBody:
3166         content:
3167           application/json:
3168             schema:
3169               $ref: '#/components/schemas/NsiActionRequest'
3170           application/yaml:
3171             schema:
3172               $ref: '#/components/schemas/NsiActionRequest'
3173       responses:
3174         '202':
3175           description: Accepted
3176           headers:
3177             Location:
3178               description: |
3179                 It must point to the new "NS Lifecycle Operation Occurrence"
3180                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
3181               schema:
3182                 type: string
3183                 format: uri
3184           content:
3185             application/json:
3186               schema:
3187                 $ref: '#/components/schemas/ObjectId'
3188             application/yaml:
3189               schema:
3190                 $ref: '#/components/schemas/ObjectId'
3191         '400':
3192           $ref: '#/components/responses/BadRequest'
3193         '401':
3194           $ref: '#/components/responses/Unauthorized'
3195         '403':
3196           $ref: '#/components/responses/Forbidden'
3197         '404':
3198           $ref: '#/components/responses/NotFound'
3199         '405':
3200           $ref: '#/components/responses/MethodNotAllowed'
3201         '406':
3202           $ref: '#/components/responses/NotAcceptable'
3203         '409':
3204           $ref: '#/components/responses/Conflict'
3205         '422':
3206           $ref: '#/components/responses/UnprocessableEntity'
3207         '500':
3208           $ref: '#/components/responses/InternalServerError'
3209         '503':
3210           $ref: '#/components/responses/ServiceUnavailable'
3211         '5XX':
3212           $ref: '#/components/responses/UnexpectedError'
3213         default:
3214           $ref: '#/components/responses/UnexpectedError'
3215   '/nsilcm/v1/netslice_instances_content':
3216     get:
3217       tags:
3218         - "NetSlice instances"
3219       summary: Query information about multiple NetSlice instances
3220       description: Query information about multiple NetSlice isntances
3221       operationId: getNSIsContent
3222       responses:
3223         '200':
3224           description: OK
3225           content:
3226             application/json:
3227               schema:
3228                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3229             application/yaml:
3230               schema:
3231                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3232         '400':
3233           $ref: '#/components/responses/BadRequest'
3234         '401':
3235           $ref: '#/components/responses/Unauthorized'
3236         '403':
3237           $ref: '#/components/responses/Forbidden'
3238         '404':
3239           $ref: '#/components/responses/NotFound'
3240         '405':
3241           $ref: '#/components/responses/MethodNotAllowed'
3242         '406':
3243           $ref: '#/components/responses/NotAcceptable'
3244         '409':
3245           $ref: '#/components/responses/Conflict'
3246         '422':
3247           $ref: '#/components/responses/UnprocessableEntity'
3248         '500':
3249           $ref: '#/components/responses/InternalServerError'
3250         '503':
3251           $ref: '#/components/responses/ServiceUnavailable'
3252         '5XX':
3253           $ref: '#/components/responses/UnexpectedError'
3254         default:
3255           $ref: '#/components/responses/UnexpectedError'
3256     post:
3257       tags:
3258         - "NetSlice instances"
3259       summary: Create a new NetSlice instance
3260       description: Create a new NetSlice instance
3261       operationId: createNSIContent
3262       requestBody:
3263         $ref: '#/components/requestBodies/InstantiateNsiRequest'
3264       responses:
3265         '201':
3266           description: Created
3267           headers:
3268             Location:
3269               schema:
3270                 type: string
3271                 format: uri
3272           content:
3273             application/json:
3274               schema:
3275                 $ref: '#/components/schemas/CreateNsiContentResponse'
3276             application/yaml:
3277               schema:
3278                 $ref: '#/components/schemas/CreateNsiContentResponse'
3279         '400':
3280           $ref: '#/components/responses/BadRequest'
3281         '401':
3282           $ref: '#/components/responses/Unauthorized'
3283         '403':
3284           $ref: '#/components/responses/Forbidden'
3285         '404':
3286           $ref: '#/components/responses/NotFound'
3287         '405':
3288           $ref: '#/components/responses/MethodNotAllowed'
3289         '406':
3290           $ref: '#/components/responses/NotAcceptable'
3291         '409':
3292           $ref: '#/components/responses/Conflict'
3293         '422':
3294           $ref: '#/components/responses/UnprocessableEntity'
3295         '500':
3296           $ref: '#/components/responses/InternalServerError'
3297         '503':
3298           $ref: '#/components/responses/ServiceUnavailable'
3299         '5XX':
3300           $ref: '#/components/responses/UnexpectedError'
3301         default:
3302           $ref: '#/components/responses/UnexpectedError'
3303   '/nsilcm/v1/netslice_instances_content/{netsliceInstanceContentId}':
3304     parameters:
3305       - name: netsliceInstanceContentId
3306         in: path
3307         required: true
3308         description: NetSlice Instance Content ID
3309         schema:
3310           type: string
3311     get:
3312       tags:
3313         - "NetSlice instances"
3314       summary: Read an individual NetSlice instance resource
3315       description: Read an individual NetSlice instance resource
3316       operationId: getNSIContent
3317       responses:
3318         '200':
3319           description: OK
3320           content:
3321             application/json:
3322               schema:
3323                 $ref: '#/components/schemas/NetSliceInstance'
3324             application/yaml:
3325               schema:
3326                 $ref: '#/components/schemas/NetSliceInstance'
3327         '400':
3328           $ref: '#/components/responses/BadRequest'
3329         '401':
3330           $ref: '#/components/responses/Unauthorized'
3331         '403':
3332           $ref: '#/components/responses/Forbidden'
3333         '404':
3334           $ref: '#/components/responses/NotFound'
3335         '405':
3336           $ref: '#/components/responses/MethodNotAllowed'
3337         '406':
3338           $ref: '#/components/responses/NotAcceptable'
3339         '409':
3340           $ref: '#/components/responses/Conflict'
3341         '422':
3342           $ref: '#/components/responses/UnprocessableEntity'
3343         '500':
3344           $ref: '#/components/responses/InternalServerError'
3345         '503':
3346           $ref: '#/components/responses/ServiceUnavailable'
3347         '5XX':
3348           $ref: '#/components/responses/UnexpectedError'
3349         default:
3350           $ref: '#/components/responses/UnexpectedError'
3351     delete:
3352       tags:
3353         - "NetSlice instances"
3354       summary: Delete an individual NS instance resource
3355       description: Delete an individual NS instance resource
3356       operationId: deleteNSIContent
3357       responses:
3358         '202':
3359           description: Accepted
3360           content:
3361             application/json:
3362               schema:
3363                 $ref: '#/components/schemas/ObjectId'
3364             application/yaml:
3365               schema:
3366                 $ref: '#/components/schemas/ObjectId'
3367         '204':
3368           description: No Content
3369         '400':
3370           $ref: '#/components/responses/BadRequest'
3371         '401':
3372           $ref: '#/components/responses/Unauthorized'
3373         '403':
3374           $ref: '#/components/responses/Forbidden'
3375         '404':
3376           $ref: '#/components/responses/NotFound'
3377         '405':
3378           $ref: '#/components/responses/MethodNotAllowed'
3379         '406':
3380           $ref: '#/components/responses/NotAcceptable'
3381         '409':
3382           $ref: '#/components/responses/Conflict'
3383         '422':
3384           $ref: '#/components/responses/UnprocessableEntity'
3385         '500':
3386           $ref: '#/components/responses/InternalServerError'
3387         '503':
3388           $ref: '#/components/responses/ServiceUnavailable'
3389         '5XX':
3390           $ref: '#/components/responses/UnexpectedError'
3391         default:
3392           $ref: '#/components/responses/UnexpectedError'
3393   '/nsilcm/v1/nsi_lcm_op_occs':
3394     get:
3395       tags:
3396         - "NetSlice instances"
3397       summary: Query information about multiple NetSlice LCM Operation Occurrences
3398       description: Query information about multiple NetSlice LCM Operation Occurrences
3399       operationId: getNsiLcmOpOccs
3400       responses:
3401         '200':
3402           description: OK
3403           content:
3404             application/json:
3405               schema:
3406                 $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
3407             application/yaml:
3408               schema:
3409                 $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
3410         '400':
3411           $ref: '#/components/responses/BadRequest'
3412         '401':
3413           $ref: '#/components/responses/Unauthorized'
3414         '403':
3415           $ref: '#/components/responses/Forbidden'
3416         '404':
3417           $ref: '#/components/responses/NotFound'
3418         '405':
3419           $ref: '#/components/responses/MethodNotAllowed'
3420         '406':
3421           $ref: '#/components/responses/NotAcceptable'
3422         '409':
3423           $ref: '#/components/responses/Conflict'
3424         '422':
3425           $ref: '#/components/responses/UnprocessableEntity'
3426         '500':
3427           $ref: '#/components/responses/InternalServerError'
3428         '503':
3429           $ref: '#/components/responses/ServiceUnavailable'
3430         '5XX':
3431           $ref: '#/components/responses/UnexpectedError'
3432         default:
3433           $ref: '#/components/responses/UnexpectedError'
3434   '/nsilcm/v1/nsi_lcm_op_occs/{nsiLcmOpOccId}':
3435     parameters:
3436       - name: nsiLcmOpOccId
3437         in: path
3438         required: true
3439         description: NetSlice LCM Operation Occurrence ID
3440         schema:
3441           type: string
3442     get:
3443       tags:
3444         - "NetSlice instances"
3445       summary: Query information about an individual NetSlice LCM Operation Occurrence
3446       description: Query information about an individual NetSlice LCM Operation Occurrence
3447       operationId: getNsiLcmOpOcc
3448       responses:
3449         '200':
3450           description: OK
3451           content:
3452             application/json:
3453               schema:
3454                 $ref: '#/components/schemas/NsiLcmOpOcc'
3455             application/yaml:
3456               schema:
3457                 $ref: '#/components/schemas/NsiLcmOpOcc'
3458         '400':
3459           $ref: '#/components/responses/BadRequest'
3460         '401':
3461           $ref: '#/components/responses/Unauthorized'
3462         '403':
3463           $ref: '#/components/responses/Forbidden'
3464         '404':
3465           $ref: '#/components/responses/NotFound'
3466         '405':
3467           $ref: '#/components/responses/MethodNotAllowed'
3468         '406':
3469           $ref: '#/components/responses/NotAcceptable'
3470         '409':
3471           $ref: '#/components/responses/Conflict'
3472         '422':
3473           $ref: '#/components/responses/UnprocessableEntity'
3474         '500':
3475           $ref: '#/components/responses/InternalServerError'
3476         '503':
3477           $ref: '#/components/responses/ServiceUnavailable'
3478         '5XX':
3479           $ref: '#/components/responses/UnexpectedError'
3480         default:
3481           $ref: '#/components/responses/UnexpectedError'
3482 # END NetSlice Instances
3483
3484 # BEGIN NSPM
3485   '/nspm/v1/pm_jobs/{pmJobId}/reports/{nsId}':
3486     parameters:
3487       - name: pmJobId
3488         in: path
3489         required: true
3490         description: NS PM Job ID
3491         schema:
3492           type: string
3493       - name: nsId
3494         in: path
3495         required: true
3496         description: NS ID
3497         schema:
3498           type: string
3499     get:
3500       tags:
3501         - "NS Performance Management"
3502       summary: Query information about an individual NS PM Job Report
3503       description: Query information about an individual NS PM Job Report
3504       operationId: getNsPmJobReport
3505       responses:
3506         '200':
3507           description: OK
3508           content:
3509             application/json:
3510               schema:
3511                 $ref: '#/components/schemas/NsPmJobReportInfo'
3512             application/yaml:
3513               schema:
3514                 $ref: '#/components/schemas/NsPmJobReportInfo'
3515         '400':
3516           $ref: '#/components/responses/BadRequest'
3517         '401':
3518           $ref: '#/components/responses/Unauthorized'
3519         '403':
3520           $ref: '#/components/responses/Forbidden'
3521         '404':
3522           $ref: '#/components/responses/NotFound'
3523         '405':
3524           $ref: '#/components/responses/MethodNotAllowed'
3525         '406':
3526           $ref: '#/components/responses/NotAcceptable'
3527         '409':
3528           $ref: '#/components/responses/Conflict'
3529         '422':
3530           $ref: '#/components/responses/UnprocessableEntity'
3531         '500':
3532           $ref: '#/components/responses/InternalServerError'
3533         '503':
3534           $ref: '#/components/responses/ServiceUnavailable'
3535         '5XX':
3536           $ref: '#/components/responses/UnexpectedError'
3537         default:
3538           $ref: '#/components/responses/UnexpectedError'
3539 # END NSPM
3540
3541 # BEGIN PDU
3542   '/pdu/v1/pdu_descriptors':
3543     get:
3544       tags:
3545         - "Physical Data Units (PDU)"
3546       summary: Query information about multiple PDU Descriptors
3547       description: Query information about multiple PDU Descriptors
3548       operationId: getPDUs
3549       responses:
3550         '200':
3551           description: OK
3552           content:
3553             application/json:
3554               schema:
3555                 $ref: '#/components/schemas/ArrayOfPduInfo'
3556             application/yaml:
3557               schema:
3558                 $ref: '#/components/schemas/ArrayOfPduInfo'
3559         '400':
3560           $ref: '#/components/responses/BadRequest'
3561         '401':
3562           $ref: '#/components/responses/Unauthorized'
3563         '403':
3564           $ref: '#/components/responses/Forbidden'
3565         '404':
3566           $ref: '#/components/responses/NotFound'
3567         '405':
3568           $ref: '#/components/responses/MethodNotAllowed'
3569         '406':
3570           $ref: '#/components/responses/NotAcceptable'
3571         '409':
3572           $ref: '#/components/responses/Conflict'
3573         '422':
3574           $ref: '#/components/responses/UnprocessableEntity'
3575         '500':
3576           $ref: '#/components/responses/InternalServerError'
3577         '503':
3578           $ref: '#/components/responses/ServiceUnavailable'
3579         '5XX':
3580           $ref: '#/components/responses/UnexpectedError'
3581         default:
3582           $ref: '#/components/responses/UnexpectedError'
3583     post:
3584       tags:
3585         - "Physical Data Units (PDU)"
3586       summary: Create a new PDU
3587       description: Create a new PDU Descriptor
3588       operationId: createPDU
3589       requestBody:
3590         $ref: '#/components/requestBodies/CreatePduRequest'
3591       responses:
3592         '200':
3593           description: OK
3594           headers:
3595             Location:
3596               schema:
3597                 type: string
3598                 format: uri
3599           content:
3600             application/json:
3601               schema:
3602                 $ref: '#/components/schemas/ObjectId'
3603             application/yaml:
3604               schema:
3605                 $ref: '#/components/schemas/ObjectId'
3606         '400':
3607           $ref: '#/components/responses/BadRequest'
3608         '401':
3609           $ref: '#/components/responses/Unauthorized'
3610         '403':
3611           $ref: '#/components/responses/Forbidden'
3612         '404':
3613           $ref: '#/components/responses/NotFound'
3614         '405':
3615           $ref: '#/components/responses/MethodNotAllowed'
3616         '406':
3617           $ref: '#/components/responses/NotAcceptable'
3618         '409':
3619           $ref: '#/components/responses/Conflict'
3620         '422':
3621           $ref: '#/components/responses/UnprocessableEntity'
3622         '500':
3623           $ref: '#/components/responses/InternalServerError'
3624         '503':
3625           $ref: '#/components/responses/ServiceUnavailable'
3626         '5XX':
3627           $ref: '#/components/responses/UnexpectedError'
3628         default:
3629           $ref: '#/components/responses/UnexpectedError'
3630   '/pdu/v1/pdu_descriptors/{pduDescriptorId}':
3631     parameters:
3632       - name: pduDescriptorId
3633         in: path
3634         required: true
3635         description: PDU Descriptor ID
3636         schema:
3637           type: string
3638     get:
3639       tags:
3640         - "Physical Data Units (PDU)"
3641       summary: Query information about an individual PDU Descriptor
3642       description: Query information about an individual PDU Descriptor
3643       operationId: getPDU
3644       responses:
3645         '200':
3646           description: OK
3647           content:
3648             application/json:
3649               schema:
3650                 $ref: '#/components/schemas/PduInfo'
3651             application/yaml:
3652               schema:
3653                 $ref: '#/components/schemas/PduInfo'
3654         '400':
3655           $ref: '#/components/responses/BadRequest'
3656         '401':
3657           $ref: '#/components/responses/Unauthorized'
3658         '403':
3659           $ref: '#/components/responses/Forbidden'
3660         '404':
3661           $ref: '#/components/responses/NotFound'
3662         '405':
3663           $ref: '#/components/responses/MethodNotAllowed'
3664         '406':
3665           $ref: '#/components/responses/NotAcceptable'
3666         '409':
3667           $ref: '#/components/responses/Conflict'
3668         '422':
3669           $ref: '#/components/responses/UnprocessableEntity'
3670         '500':
3671           $ref: '#/components/responses/InternalServerError'
3672         '503':
3673           $ref: '#/components/responses/ServiceUnavailable'
3674         '5XX':
3675           $ref: '#/components/responses/UnexpectedError'
3676         default:
3677           $ref: '#/components/responses/UnexpectedError'
3678     patch:
3679       tags:
3680         - "Physical Data Units (PDU)"
3681       summary: Modify an individual PDU Descriptor
3682       description: Modify an individual PDU Descriptor
3683       operationId: editPDU
3684       requestBody:
3685         $ref: '#/components/requestBodies/EditPduRequest'
3686       responses:
3687         '204':
3688           description: No Content
3689         '400':
3690           $ref: '#/components/responses/BadRequest'
3691         '401':
3692           $ref: '#/components/responses/Unauthorized'
3693         '403':
3694           $ref: '#/components/responses/Forbidden'
3695         '404':
3696           $ref: '#/components/responses/NotFound'
3697         '405':
3698           $ref: '#/components/responses/MethodNotAllowed'
3699         '406':
3700           $ref: '#/components/responses/NotAcceptable'
3701         '409':
3702           $ref: '#/components/responses/Conflict'
3703         '422':
3704           $ref: '#/components/responses/UnprocessableEntity'
3705         '500':
3706           $ref: '#/components/responses/InternalServerError'
3707         '503':
3708           $ref: '#/components/responses/ServiceUnavailable'
3709         '5XX':
3710           $ref: '#/components/responses/UnexpectedError'
3711         default:
3712           $ref: '#/components/responses/UnexpectedError'
3713     delete:
3714       tags:
3715         - "Physical Data Units (PDU)"
3716       summary: Delete an individual PDU Descriptor
3717       description: Delete an individual PDU Descriptor
3718       operationId: deletePDU
3719       responses:
3720         '204':
3721           description: No Content
3722         '400':
3723           $ref: '#/components/responses/BadRequest'
3724         '401':
3725           $ref: '#/components/responses/Unauthorized'
3726         '403':
3727           $ref: '#/components/responses/Forbidden'
3728         '404':
3729           $ref: '#/components/responses/NotFound'
3730         '405':
3731           $ref: '#/components/responses/MethodNotAllowed'
3732         '406':
3733           $ref: '#/components/responses/NotAcceptable'
3734         '409':
3735           $ref: '#/components/responses/Conflict'
3736         '422':
3737           $ref: '#/components/responses/UnprocessableEntity'
3738         '500':
3739           $ref: '#/components/responses/InternalServerError'
3740         '503':
3741           $ref: '#/components/responses/ServiceUnavailable'
3742         '5XX':
3743           $ref: '#/components/responses/UnexpectedError'
3744         default:
3745           $ref: '#/components/responses/UnexpectedError'
3746 # END PDU
3747
3748 # BEGIN Admin
3749   '/admin/v1/tokens':
3750     get:
3751       tags:
3752         - "Authentication"
3753         - "Admin"
3754       summary: Query information about multiple Tokens
3755       description: Query information about multiple Tokens
3756       operationId: getTokens
3757       responses:
3758         '200':
3759           description: OK
3760           content:
3761             application/json:
3762               schema:
3763                 $ref: '#/components/schemas/ArrayOfTokenInfo'
3764             application/yaml:
3765               schema:
3766                 $ref: '#/components/schemas/ArrayOfTokenInfo'
3767         '400':
3768           $ref: '#/components/responses/BadRequest'
3769         '401':
3770           $ref: '#/components/responses/Unauthorized'
3771         '403':
3772           $ref: '#/components/responses/Forbidden'
3773         '404':
3774           $ref: '#/components/responses/NotFound'
3775         '405':
3776           $ref: '#/components/responses/MethodNotAllowed'
3777         '406':
3778           $ref: '#/components/responses/NotAcceptable'
3779         '409':
3780           $ref: '#/components/responses/Conflict'
3781         '422':
3782           $ref: '#/components/responses/UnprocessableEntity'
3783         '500':
3784           $ref: '#/components/responses/InternalServerError'
3785         '503':
3786           $ref: '#/components/responses/ServiceUnavailable'
3787         '5XX':
3788           $ref: '#/components/responses/UnexpectedError'
3789         default:
3790           $ref: '#/components/responses/UnexpectedError'
3791     post:
3792       tags:
3793         - "Authentication"
3794         - "Admin"
3795       summary: Request a new Token
3796       description: Request a new Token
3797       operationId: createToken
3798       requestBody:
3799         $ref: '#/components/requestBodies/CreateTokenRequest'
3800       responses:
3801         '200':
3802           description: OK
3803           headers:
3804             Location:
3805               schema:
3806                 type: string
3807                 format: uri
3808           content:
3809             application/json:
3810               schema:
3811                 $ref: '#/components/schemas/TokenInfo'
3812             application/yaml:
3813               schema:
3814                 $ref: '#/components/schemas/TokenInfo'
3815         '400':
3816           $ref: '#/components/responses/BadRequest'
3817         '401':
3818           $ref: '#/components/responses/Unauthorized'
3819         '403':
3820           $ref: '#/components/responses/Forbidden'
3821         '404':
3822           $ref: '#/components/responses/NotFound'
3823         '405':
3824           $ref: '#/components/responses/MethodNotAllowed'
3825         '406':
3826           $ref: '#/components/responses/NotAcceptable'
3827         '409':
3828           $ref: '#/components/responses/Conflict'
3829         '422':
3830           $ref: '#/components/responses/UnprocessableEntity'
3831         '500':
3832           $ref: '#/components/responses/InternalServerError'
3833         '503':
3834           $ref: '#/components/responses/ServiceUnavailable'
3835         '5XX':
3836           $ref: '#/components/responses/UnexpectedError'
3837         default:
3838           $ref: '#/components/responses/UnexpectedError'
3839     delete:
3840       tags:
3841         - "Authentication"
3842         - "Admin"
3843       summary: Delete the Token indicated in the Authorization Header
3844       description: Delete the Token indicated in the Authorization Header
3845       operationId: deleteAuthToken
3846       responses:
3847         '200':
3848           description: OK
3849           content:
3850             application/json:
3851               schema:
3852                 type: string
3853             application/yaml:
3854               schema:
3855                 type: string
3856         '400':
3857           $ref: '#/components/responses/BadRequest'
3858         '401':
3859           $ref: '#/components/responses/Unauthorized'
3860         '403':
3861           $ref: '#/components/responses/Forbidden'
3862         '404':
3863           $ref: '#/components/responses/NotFound'
3864         '405':
3865           $ref: '#/components/responses/MethodNotAllowed'
3866         '406':
3867           $ref: '#/components/responses/NotAcceptable'
3868         '409':
3869           $ref: '#/components/responses/Conflict'
3870         '422':
3871           $ref: '#/components/responses/UnprocessableEntity'
3872         '500':
3873           $ref: '#/components/responses/InternalServerError'
3874         '503':
3875           $ref: '#/components/responses/ServiceUnavailable'
3876         '5XX':
3877           $ref: '#/components/responses/UnexpectedError'
3878         default:
3879           $ref: '#/components/responses/UnexpectedError'
3880   '/admin/v1/tokens/{tokenId}':
3881     parameters:
3882       - name: tokenId
3883         in: path
3884         required: true
3885         description: Token ID
3886         schema:
3887           type: string
3888     get:
3889       tags:
3890         - "Authentication"
3891         - "Admin"
3892       summary: Query information about an individual Token
3893       description: Query information about an individual Token
3894       operationId: getToken
3895       responses:
3896         '200':
3897           description: OK
3898           content:
3899             application/json:
3900               schema:
3901                 $ref: '#/components/schemas/TokenInfo'
3902             application/yaml:
3903               schema:
3904                 $ref: '#/components/schemas/TokenInfo'
3905         '400':
3906           $ref: '#/components/responses/BadRequest'
3907         '401':
3908           $ref: '#/components/responses/Unauthorized'
3909         '403':
3910           $ref: '#/components/responses/Forbidden'
3911         '404':
3912           $ref: '#/components/responses/NotFound'
3913         '405':
3914           $ref: '#/components/responses/MethodNotAllowed'
3915         '406':
3916           $ref: '#/components/responses/NotAcceptable'
3917         '409':
3918           $ref: '#/components/responses/Conflict'
3919         '422':
3920           $ref: '#/components/responses/UnprocessableEntity'
3921         '500':
3922           $ref: '#/components/responses/InternalServerError'
3923         '503':
3924           $ref: '#/components/responses/ServiceUnavailable'
3925         '5XX':
3926           $ref: '#/components/responses/UnexpectedError'
3927         default:
3928           $ref: '#/components/responses/UnexpectedError'
3929     delete:
3930       tags:
3931         - "Authentication"
3932         - "Admin"
3933       summary: Delete the Token indicated as parameter
3934       description: Delete the Token indicated as parameter
3935       operationId: deleteToken
3936       responses:
3937         '200':
3938           description: OK
3939           content:
3940             application/json:
3941               schema:
3942                 type: string
3943             application/yaml:
3944               schema:
3945                 type: string
3946         '400':
3947           $ref: '#/components/responses/BadRequest'
3948         '401':
3949           $ref: '#/components/responses/Unauthorized'
3950         '403':
3951           $ref: '#/components/responses/Forbidden'
3952         '404':
3953           $ref: '#/components/responses/NotFound'
3954         '405':
3955           $ref: '#/components/responses/MethodNotAllowed'
3956         '406':
3957           $ref: '#/components/responses/NotAcceptable'
3958         '409':
3959           $ref: '#/components/responses/Conflict'
3960         '422':
3961           $ref: '#/components/responses/UnprocessableEntity'
3962         '500':
3963           $ref: '#/components/responses/InternalServerError'
3964         '503':
3965           $ref: '#/components/responses/ServiceUnavailable'
3966         '5XX':
3967           $ref: '#/components/responses/UnexpectedError'
3968         default:
3969           $ref: '#/components/responses/UnexpectedError'
3970   '/admin/v1/users':
3971     get:
3972       tags:
3973         - "Identity"
3974         - "Admin"
3975       summary: Query information about multiple Users
3976       description: Query information about multiple Users
3977       operationId: getUsers
3978       responses:
3979         '200':
3980           description: OK
3981           content:
3982             application/json:
3983               schema:
3984                 $ref: '#/components/schemas/ArrayOfUserInfo'
3985             application/yaml:
3986               schema:
3987                 $ref: '#/components/schemas/ArrayOfUserInfo'
3988         '400':
3989           $ref: '#/components/responses/BadRequest'
3990         '401':
3991           $ref: '#/components/responses/Unauthorized'
3992         '403':
3993           $ref: '#/components/responses/Forbidden'
3994         '404':
3995           $ref: '#/components/responses/NotFound'
3996         '405':
3997           $ref: '#/components/responses/MethodNotAllowed'
3998         '406':
3999           $ref: '#/components/responses/NotAcceptable'
4000         '409':
4001           $ref: '#/components/responses/Conflict'
4002         '422':
4003           $ref: '#/components/responses/UnprocessableEntity'
4004         '500':
4005           $ref: '#/components/responses/InternalServerError'
4006         '503':
4007           $ref: '#/components/responses/ServiceUnavailable'
4008         '5XX':
4009           $ref: '#/components/responses/UnexpectedError'
4010         default:
4011           $ref: '#/components/responses/UnexpectedError'
4012     post:
4013       tags:
4014         - "Identity"
4015         - "Admin"
4016       summary: Create a new User
4017       description: Create a new User
4018       operationId: createUser
4019       requestBody:
4020         $ref: '#/components/requestBodies/CreateUserRequest'
4021       responses:
4022         '201':
4023           description: Created
4024           headers:
4025             Location:
4026               schema:
4027                 type: string
4028                 format: uri
4029           content:
4030             application/json:
4031               schema:
4032                 $ref: '#/components/schemas/ObjectId'
4033             application/yaml:
4034               schema:
4035                 $ref: '#/components/schemas/ObjectId'
4036         '400':
4037           $ref: '#/components/responses/BadRequest'
4038         '401':
4039           $ref: '#/components/responses/Unauthorized'
4040         '403':
4041           $ref: '#/components/responses/Forbidden'
4042         '404':
4043           $ref: '#/components/responses/NotFound'
4044         '405':
4045           $ref: '#/components/responses/MethodNotAllowed'
4046         '406':
4047           $ref: '#/components/responses/NotAcceptable'
4048         '409':
4049           $ref: '#/components/responses/Conflict'
4050         '422':
4051           $ref: '#/components/responses/UnprocessableEntity'
4052         '500':
4053           $ref: '#/components/responses/InternalServerError'
4054         '503':
4055           $ref: '#/components/responses/ServiceUnavailable'
4056         '5XX':
4057           $ref: '#/components/responses/UnexpectedError'
4058         default:
4059           $ref: '#/components/responses/UnexpectedError'
4060   '/admin/v1/users/{userId}':
4061     parameters:
4062       - name: userId
4063         in: path
4064         required: true
4065         description: User ID/Name
4066         schema:
4067           type: string
4068     get:
4069       tags:
4070         - "Identity"
4071         - "Admin"
4072       summary: Query information about an individual User
4073       description: Query information about an individual User
4074       operationId: getUser
4075       responses:
4076         '200':
4077           description: OK
4078           content:
4079             application/json:
4080               schema:
4081                 $ref: '#/components/schemas/UserInfo'
4082             application/yaml:
4083               schema:
4084                 $ref: '#/components/schemas/UserInfo'
4085         '400':
4086           $ref: '#/components/responses/BadRequest'
4087         '401':
4088           $ref: '#/components/responses/Unauthorized'
4089         '403':
4090           $ref: '#/components/responses/Forbidden'
4091         '404':
4092           $ref: '#/components/responses/NotFound'
4093         '405':
4094           $ref: '#/components/responses/MethodNotAllowed'
4095         '406':
4096           $ref: '#/components/responses/NotAcceptable'
4097         '409':
4098           $ref: '#/components/responses/Conflict'
4099         '422':
4100           $ref: '#/components/responses/UnprocessableEntity'
4101         '500':
4102           $ref: '#/components/responses/InternalServerError'
4103         '503':
4104           $ref: '#/components/responses/ServiceUnavailable'
4105         '5XX':
4106           $ref: '#/components/responses/UnexpectedError'
4107         default:
4108           $ref: '#/components/responses/UnexpectedError'
4109     patch:
4110       tags:
4111         - "Identity"
4112         - "Admin"
4113       summary: Modify a User
4114       description: Modify a User
4115       operationId: editUser
4116       requestBody:
4117         $ref: '#/components/requestBodies/EditUserRequest'
4118       responses:
4119         '204':
4120           description: No Content
4121         '400':
4122           $ref: '#/components/responses/BadRequest'
4123         '401':
4124           $ref: '#/components/responses/Unauthorized'
4125         '403':
4126           $ref: '#/components/responses/Forbidden'
4127         '404':
4128           $ref: '#/components/responses/NotFound'
4129         '405':
4130           $ref: '#/components/responses/MethodNotAllowed'
4131         '406':
4132           $ref: '#/components/responses/NotAcceptable'
4133         '409':
4134           $ref: '#/components/responses/Conflict'
4135         '422':
4136           $ref: '#/components/responses/UnprocessableEntity'
4137         '500':
4138           $ref: '#/components/responses/InternalServerError'
4139         '503':
4140           $ref: '#/components/responses/ServiceUnavailable'
4141         '5XX':
4142           $ref: '#/components/responses/UnexpectedError'
4143         default:
4144           $ref: '#/components/responses/UnexpectedError'
4145     delete:
4146       tags:
4147         - "Identity"
4148         - "Admin"
4149       summary: Delete a User
4150       description: Delete a User
4151       operationId: deleteUser
4152       responses:
4153         '204':
4154           description: No Content
4155         '400':
4156           $ref: '#/components/responses/BadRequest'
4157         '401':
4158           $ref: '#/components/responses/Unauthorized'
4159         '403':
4160           $ref: '#/components/responses/Forbidden'
4161         '404':
4162           $ref: '#/components/responses/NotFound'
4163         '405':
4164           $ref: '#/components/responses/MethodNotAllowed'
4165         '406':
4166           $ref: '#/components/responses/NotAcceptable'
4167         '409':
4168           $ref: '#/components/responses/Conflict'
4169         '422':
4170           $ref: '#/components/responses/UnprocessableEntity'
4171         '500':
4172           $ref: '#/components/responses/InternalServerError'
4173         '503':
4174           $ref: '#/components/responses/ServiceUnavailable'
4175         '5XX':
4176           $ref: '#/components/responses/UnexpectedError'
4177         default:
4178           $ref: '#/components/responses/UnexpectedError'
4179   '/admin/v1/projects':
4180     get:
4181       tags:
4182         - "Identity"
4183         - "Admin"
4184       summary: Query information about multiple Projects
4185       description: Query information about multiple Projects
4186       operationId: getProjects
4187       responses:
4188         '200':
4189           description: OK
4190           content:
4191             application/json:
4192               schema:
4193                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4194             application/yaml:
4195               schema:
4196                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4197         '400':
4198           $ref: '#/components/responses/BadRequest'
4199         '401':
4200           $ref: '#/components/responses/Unauthorized'
4201         '403':
4202           $ref: '#/components/responses/Forbidden'
4203         '404':
4204           $ref: '#/components/responses/NotFound'
4205         '405':
4206           $ref: '#/components/responses/MethodNotAllowed'
4207         '406':
4208           $ref: '#/components/responses/NotAcceptable'
4209         '409':
4210           $ref: '#/components/responses/Conflict'
4211         '422':
4212           $ref: '#/components/responses/UnprocessableEntity'
4213         '500':
4214           $ref: '#/components/responses/InternalServerError'
4215         '503':
4216           $ref: '#/components/responses/ServiceUnavailable'
4217         '5XX':
4218           $ref: '#/components/responses/UnexpectedError'
4219         default:
4220           $ref: '#/components/responses/UnexpectedError'
4221     post:
4222       tags:
4223         - "Identity"
4224         - "Admin"
4225       summary: Create a new Project
4226       description: Create a new Project
4227       operationId: createProject
4228       requestBody:
4229         $ref: '#/components/requestBodies/CreateProjectRequest'
4230       responses:
4231         '201':
4232           description: Created
4233           headers:
4234             Location:
4235               schema:
4236                 type: string
4237                 format: uri
4238           content:
4239             application/json:
4240               schema:
4241                 $ref: '#/components/schemas/ObjectId'
4242             application/yaml:
4243               schema:
4244                 $ref: '#/components/schemas/ObjectId'
4245         '400':
4246           $ref: '#/components/responses/BadRequest'
4247         '401':
4248           $ref: '#/components/responses/Unauthorized'
4249         '403':
4250           $ref: '#/components/responses/Forbidden'
4251         '404':
4252           $ref: '#/components/responses/NotFound'
4253         '405':
4254           $ref: '#/components/responses/MethodNotAllowed'
4255         '406':
4256           $ref: '#/components/responses/NotAcceptable'
4257         '409':
4258           $ref: '#/components/responses/Conflict'
4259         '422':
4260           $ref: '#/components/responses/UnprocessableEntity'
4261         '500':
4262           $ref: '#/components/responses/InternalServerError'
4263         '503':
4264           $ref: '#/components/responses/ServiceUnavailable'
4265         '5XX':
4266           $ref: '#/components/responses/UnexpectedError'
4267         default:
4268           $ref: '#/components/responses/UnexpectedError'
4269   '/admin/v1/projects/{projectId}':
4270     parameters:
4271       - name: projectId
4272         in: path
4273         required: true
4274         description: Project ID/Name
4275         schema:
4276           type: string
4277     get:
4278       tags:
4279         - "Identity"
4280         - "Admin"
4281       summary: Query information about an individual Project
4282       description: Query information about an individual Project
4283       operationId: getProject
4284       responses:
4285         '200':
4286           description: OK
4287           content:
4288             application/json:
4289               schema:
4290                 $ref: '#/components/schemas/ProjectInfo'
4291             application/yaml:
4292               schema:
4293                 $ref: '#/components/schemas/ProjectInfo'
4294         '400':
4295           $ref: '#/components/responses/BadRequest'
4296         '401':
4297           $ref: '#/components/responses/Unauthorized'
4298         '403':
4299           $ref: '#/components/responses/Forbidden'
4300         '404':
4301           $ref: '#/components/responses/NotFound'
4302         '405':
4303           $ref: '#/components/responses/MethodNotAllowed'
4304         '406':
4305           $ref: '#/components/responses/NotAcceptable'
4306         '409':
4307           $ref: '#/components/responses/Conflict'
4308         '422':
4309           $ref: '#/components/responses/UnprocessableEntity'
4310         '500':
4311           $ref: '#/components/responses/InternalServerError'
4312         '503':
4313           $ref: '#/components/responses/ServiceUnavailable'
4314         '5XX':
4315           $ref: '#/components/responses/UnexpectedError'
4316         default:
4317           $ref: '#/components/responses/UnexpectedError'
4318     patch:
4319       tags:
4320         - "Identity"
4321         - "Admin"
4322       summary: Modify a Project
4323       description: Modify a Project
4324       operationId: editProject
4325       requestBody:
4326         $ref: '#/components/requestBodies/EditProjectRequest'
4327       responses:
4328         '204':
4329           description: No Content
4330         '400':
4331           $ref: '#/components/responses/BadRequest'
4332         '401':
4333           $ref: '#/components/responses/Unauthorized'
4334         '403':
4335           $ref: '#/components/responses/Forbidden'
4336         '404':
4337           $ref: '#/components/responses/NotFound'
4338         '405':
4339           $ref: '#/components/responses/MethodNotAllowed'
4340         '406':
4341           $ref: '#/components/responses/NotAcceptable'
4342         '409':
4343           $ref: '#/components/responses/Conflict'
4344         '422':
4345           $ref: '#/components/responses/UnprocessableEntity'
4346         '500':
4347           $ref: '#/components/responses/InternalServerError'
4348         '503':
4349           $ref: '#/components/responses/ServiceUnavailable'
4350         '5XX':
4351           $ref: '#/components/responses/UnexpectedError'
4352         default:
4353           $ref: '#/components/responses/UnexpectedError'
4354     delete:
4355       tags:
4356         - "Identity"
4357         - "Admin"
4358       summary: Delete a Project
4359       description: Delete a Project
4360       operationId: deleteProject
4361       responses:
4362         '204':
4363           description: No Content
4364         '400':
4365           $ref: '#/components/responses/BadRequest'
4366         '401':
4367           $ref: '#/components/responses/Unauthorized'
4368         '403':
4369           $ref: '#/components/responses/Forbidden'
4370         '404':
4371           $ref: '#/components/responses/NotFound'
4372         '405':
4373           $ref: '#/components/responses/MethodNotAllowed'
4374         '406':
4375           $ref: '#/components/responses/NotAcceptable'
4376         '409':
4377           $ref: '#/components/responses/Conflict'
4378         '422':
4379           $ref: '#/components/responses/UnprocessableEntity'
4380         '500':
4381           $ref: '#/components/responses/InternalServerError'
4382         '503':
4383           $ref: '#/components/responses/ServiceUnavailable'
4384         '5XX':
4385           $ref: '#/components/responses/UnexpectedError'
4386         default:
4387           $ref: '#/components/responses/UnexpectedError'
4388   '/admin/v1/roles':
4389     get:
4390       tags:
4391         - "Identity"
4392         - "Admin"
4393       summary: Query information about multiple Roles
4394       description: Query information about multiple Roles
4395       operationId: getRoles
4396       responses:
4397         '200':
4398           description: OK
4399           content:
4400             application/json:
4401               schema:
4402                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4403             application/yaml:
4404               schema:
4405                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4406         '400':
4407           $ref: '#/components/responses/BadRequest'
4408         '401':
4409           $ref: '#/components/responses/Unauthorized'
4410         '403':
4411           $ref: '#/components/responses/Forbidden'
4412         '404':
4413           $ref: '#/components/responses/NotFound'
4414         '405':
4415           $ref: '#/components/responses/MethodNotAllowed'
4416         '406':
4417           $ref: '#/components/responses/NotAcceptable'
4418         '409':
4419           $ref: '#/components/responses/Conflict'
4420         '422':
4421           $ref: '#/components/responses/UnprocessableEntity'
4422         '500':
4423           $ref: '#/components/responses/InternalServerError'
4424         '503':
4425           $ref: '#/components/responses/ServiceUnavailable'
4426         '5XX':
4427           $ref: '#/components/responses/UnexpectedError'
4428         default:
4429           $ref: '#/components/responses/UnexpectedError'
4430     post:
4431       tags:
4432         - "Identity"
4433         - "Admin"
4434       summary: Create a new Role
4435       description: Create a new Role
4436       operationId: createRole
4437       requestBody:
4438         $ref: '#/components/requestBodies/CreateRoleRequest'
4439       responses:
4440         '201':
4441           description: Created
4442           headers:
4443             Location:
4444               schema:
4445                 type: string
4446                 format: uri
4447           content:
4448             application/json:
4449               schema:
4450                 $ref: '#/components/schemas/ObjectId'
4451             application/yaml:
4452               schema:
4453                 $ref: '#/components/schemas/ObjectId'
4454         '400':
4455           $ref: '#/components/responses/BadRequest'
4456         '401':
4457           $ref: '#/components/responses/Unauthorized'
4458         '403':
4459           $ref: '#/components/responses/Forbidden'
4460         '404':
4461           $ref: '#/components/responses/NotFound'
4462         '405':
4463           $ref: '#/components/responses/MethodNotAllowed'
4464         '406':
4465           $ref: '#/components/responses/NotAcceptable'
4466         '409':
4467           $ref: '#/components/responses/Conflict'
4468         '422':
4469           $ref: '#/components/responses/UnprocessableEntity'
4470         '500':
4471           $ref: '#/components/responses/InternalServerError'
4472         '503':
4473           $ref: '#/components/responses/ServiceUnavailable'
4474         '5XX':
4475           $ref: '#/components/responses/UnexpectedError'
4476         default:
4477           $ref: '#/components/responses/UnexpectedError'
4478   '/admin/v1/roles/{roleId}':
4479     parameters:
4480       - name: roleId
4481         in: path
4482         required: true
4483         description: Role ID/Name
4484         schema:
4485           type: string
4486     get:
4487       tags:
4488         - "Identity"
4489         - "Admin"
4490       summary: Query information about an individual Role
4491       description: Query information about an individual Role
4492       operationId: getRole
4493       responses:
4494         '200':
4495           description: OK
4496           content:
4497             application/json:
4498               schema:
4499                 $ref: '#/components/schemas/RoleInfo'
4500             application/yaml:
4501               schema:
4502                 $ref: '#/components/schemas/RoleInfo'
4503         '400':
4504           $ref: '#/components/responses/BadRequest'
4505         '401':
4506           $ref: '#/components/responses/Unauthorized'
4507         '403':
4508           $ref: '#/components/responses/Forbidden'
4509         '404':
4510           $ref: '#/components/responses/NotFound'
4511         '405':
4512           $ref: '#/components/responses/MethodNotAllowed'
4513         '406':
4514           $ref: '#/components/responses/NotAcceptable'
4515         '409':
4516           $ref: '#/components/responses/Conflict'
4517         '422':
4518           $ref: '#/components/responses/UnprocessableEntity'
4519         '500':
4520           $ref: '#/components/responses/InternalServerError'
4521         '503':
4522           $ref: '#/components/responses/ServiceUnavailable'
4523         '5XX':
4524           $ref: '#/components/responses/UnexpectedError'
4525         default:
4526           $ref: '#/components/responses/UnexpectedError'
4527     patch:
4528       tags:
4529         - "Identity"
4530         - "Admin"
4531       summary: Modify a Role
4532       description: Modify a Role
4533       operationId: editRole
4534       requestBody:
4535         $ref: '#/components/requestBodies/EditRoleRequest'
4536       responses:
4537         '204':
4538           description: No Content
4539         '400':
4540           $ref: '#/components/responses/BadRequest'
4541         '401':
4542           $ref: '#/components/responses/Unauthorized'
4543         '403':
4544           $ref: '#/components/responses/Forbidden'
4545         '404':
4546           $ref: '#/components/responses/NotFound'
4547         '405':
4548           $ref: '#/components/responses/MethodNotAllowed'
4549         '406':
4550           $ref: '#/components/responses/NotAcceptable'
4551         '409':
4552           $ref: '#/components/responses/Conflict'
4553         '422':
4554           $ref: '#/components/responses/UnprocessableEntity'
4555         '500':
4556           $ref: '#/components/responses/InternalServerError'
4557         '503':
4558           $ref: '#/components/responses/ServiceUnavailable'
4559         '5XX':
4560           $ref: '#/components/responses/UnexpectedError'
4561         default:
4562           $ref: '#/components/responses/UnexpectedError'
4563     delete:
4564       tags:
4565         - "Identity"
4566         - "Admin"
4567       summary: Delete a Role
4568       description: Delete a Role
4569       operationId: deleteRole
4570       responses:
4571         '204':
4572           description: No Content
4573         '400':
4574           $ref: '#/components/responses/BadRequest'
4575         '401':
4576           $ref: '#/components/responses/Unauthorized'
4577         '403':
4578           $ref: '#/components/responses/Forbidden'
4579         '404':
4580           $ref: '#/components/responses/NotFound'
4581         '405':
4582           $ref: '#/components/responses/MethodNotAllowed'
4583         '406':
4584           $ref: '#/components/responses/NotAcceptable'
4585         '409':
4586           $ref: '#/components/responses/Conflict'
4587         '422':
4588           $ref: '#/components/responses/UnprocessableEntity'
4589         '500':
4590           $ref: '#/components/responses/InternalServerError'
4591         '503':
4592           $ref: '#/components/responses/ServiceUnavailable'
4593         '5XX':
4594           $ref: '#/components/responses/UnexpectedError'
4595         default:
4596           $ref: '#/components/responses/UnexpectedError'
4597   '/admin/v1/vims':
4598     get:
4599       tags:
4600         - "Infrastructure"
4601         - "Admin"
4602       summary: Query information about multiple VIMs
4603       description: Query information about multiple VIMs
4604       operationId: getVIMs
4605       responses:
4606         '200':
4607           description: OK
4608           content:
4609             application/json:
4610               schema:
4611                 $ref: '#/components/schemas/ArrayOfVimInfo'
4612             application/yaml:
4613               schema:
4614                 $ref: '#/components/schemas/ArrayOfVimInfo'
4615         '400':
4616           $ref: '#/components/responses/BadRequest'
4617         '401':
4618           $ref: '#/components/responses/Unauthorized'
4619         '403':
4620           $ref: '#/components/responses/Forbidden'
4621         '404':
4622           $ref: '#/components/responses/NotFound'
4623         '405':
4624           $ref: '#/components/responses/MethodNotAllowed'
4625         '406':
4626           $ref: '#/components/responses/NotAcceptable'
4627         '409':
4628           $ref: '#/components/responses/Conflict'
4629         '422':
4630           $ref: '#/components/responses/UnprocessableEntity'
4631         '500':
4632           $ref: '#/components/responses/InternalServerError'
4633         '503':
4634           $ref: '#/components/responses/ServiceUnavailable'
4635         '5XX':
4636           $ref: '#/components/responses/UnexpectedError'
4637         default:
4638           $ref: '#/components/responses/UnexpectedError'
4639     post:
4640       tags:
4641         - "Infrastructure"
4642         - "Admin"
4643       summary: Create a new VIM
4644       description: Create a new VIM
4645       operationId: createVIM
4646       requestBody:
4647         $ref: '#/components/requestBodies/CreateVimRequest'
4648       responses:
4649         '202':
4650           description: Accepted
4651           content:
4652             application/json:
4653               schema:
4654                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4655             application/yaml:
4656               schema:
4657                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4658         '400':
4659           $ref: '#/components/responses/BadRequest'
4660         '401':
4661           $ref: '#/components/responses/Unauthorized'
4662         '403':
4663           $ref: '#/components/responses/Forbidden'
4664         '404':
4665           $ref: '#/components/responses/NotFound'
4666         '405':
4667           $ref: '#/components/responses/MethodNotAllowed'
4668         '406':
4669           $ref: '#/components/responses/NotAcceptable'
4670         '409':
4671           $ref: '#/components/responses/Conflict'
4672         '422':
4673           $ref: '#/components/responses/UnprocessableEntity'
4674         '500':
4675           $ref: '#/components/responses/InternalServerError'
4676         '503':
4677           $ref: '#/components/responses/ServiceUnavailable'
4678         '5XX':
4679           $ref: '#/components/responses/UnexpectedError'
4680         default:
4681           $ref: '#/components/responses/UnexpectedError'
4682   '/admin/v1/vims/{vimId}':
4683     parameters:
4684       - name: vimId
4685         in: path
4686         required: true
4687         description: VIM ID
4688         schema:
4689           type: string
4690           format: uuid
4691     get:
4692       tags:
4693         - "Infrastructure"
4694         - "Admin"
4695       summary: Query information about an individual VIM
4696       description: Query information about an individual VIM
4697       operationId: getVIM
4698       responses:
4699         '200':
4700           description: OK
4701           content:
4702             application/json:
4703               schema:
4704                 $ref: '#/components/schemas/VimInfo'
4705             application/yaml:
4706               schema:
4707                 $ref: '#/components/schemas/VimInfo'
4708         '400':
4709           $ref: '#/components/responses/BadRequest'
4710         '401':
4711           $ref: '#/components/responses/Unauthorized'
4712         '403':
4713           $ref: '#/components/responses/Forbidden'
4714         '404':
4715           $ref: '#/components/responses/NotFound'
4716         '405':
4717           $ref: '#/components/responses/MethodNotAllowed'
4718         '406':
4719           $ref: '#/components/responses/NotAcceptable'
4720         '409':
4721           $ref: '#/components/responses/Conflict'
4722         '422':
4723           $ref: '#/components/responses/UnprocessableEntity'
4724         '500':
4725           $ref: '#/components/responses/InternalServerError'
4726         '503':
4727           $ref: '#/components/responses/ServiceUnavailable'
4728         '5XX':
4729           $ref: '#/components/responses/UnexpectedError'
4730         default:
4731           $ref: '#/components/responses/UnexpectedError'
4732     patch:
4733       tags:
4734         - "Infrastructure"
4735         - "Admin"
4736       summary: Modify a VIM
4737       description: Modify a VIM
4738       operationId: editVIM
4739       requestBody:
4740         $ref: '#/components/requestBodies/EditVimRequest'
4741       responses:
4742         '202':
4743           description: Accepted
4744           content:
4745             application/json:
4746               schema:
4747                 $ref: '#/components/schemas/OpId'
4748             application/yaml:
4749               schema:
4750                 $ref: '#/components/schemas/OpId'
4751         '400':
4752           $ref: '#/components/responses/BadRequest'
4753         '401':
4754           $ref: '#/components/responses/Unauthorized'
4755         '403':
4756           $ref: '#/components/responses/Forbidden'
4757         '404':
4758           $ref: '#/components/responses/NotFound'
4759         '405':
4760           $ref: '#/components/responses/MethodNotAllowed'
4761         '406':
4762           $ref: '#/components/responses/NotAcceptable'
4763         '409':
4764           $ref: '#/components/responses/Conflict'
4765         '422':
4766           $ref: '#/components/responses/UnprocessableEntity'
4767         '500':
4768           $ref: '#/components/responses/InternalServerError'
4769         '503':
4770           $ref: '#/components/responses/ServiceUnavailable'
4771         '5XX':
4772           $ref: '#/components/responses/UnexpectedError'
4773         default:
4774           $ref: '#/components/responses/UnexpectedError'
4775     delete:
4776       tags:
4777         - "Infrastructure"
4778         - "Admin"
4779       summary: Delete a VIM
4780       description: Delete a VIM
4781       operationId: deleteVIM
4782       responses:
4783         '202':
4784           description: Accepted
4785         '400':
4786           $ref: '#/components/responses/BadRequest'
4787         '401':
4788           $ref: '#/components/responses/Unauthorized'
4789         '403':
4790           $ref: '#/components/responses/Forbidden'
4791         '404':
4792           $ref: '#/components/responses/NotFound'
4793         '405':
4794           $ref: '#/components/responses/MethodNotAllowed'
4795         '406':
4796           $ref: '#/components/responses/NotAcceptable'
4797         '409':
4798           $ref: '#/components/responses/Conflict'
4799         '422':
4800           $ref: '#/components/responses/UnprocessableEntity'
4801         '500':
4802           $ref: '#/components/responses/InternalServerError'
4803         '503':
4804           $ref: '#/components/responses/ServiceUnavailable'
4805         '5XX':
4806           $ref: '#/components/responses/UnexpectedError'
4807         default:
4808           $ref: '#/components/responses/UnexpectedError'
4809   '/admin/v1/vim_accounts':
4810     get:
4811       tags:
4812         - "Infrastructure"
4813         - "Admin"
4814       summary: Query information about multiple VIM Accounts
4815       description: Query information about multiple VIM Accounts
4816       operationId: getVimAccounts
4817       responses:
4818         '200':
4819           description: OK
4820           content:
4821             application/json:
4822               schema:
4823                 $ref: '#/components/schemas/ArrayOfVimInfo'
4824             application/yaml:
4825               schema:
4826                 $ref: '#/components/schemas/ArrayOfVimInfo'
4827         '400':
4828           $ref: '#/components/responses/BadRequest'
4829         '401':
4830           $ref: '#/components/responses/Unauthorized'
4831         '403':
4832           $ref: '#/components/responses/Forbidden'
4833         '404':
4834           $ref: '#/components/responses/NotFound'
4835         '405':
4836           $ref: '#/components/responses/MethodNotAllowed'
4837         '406':
4838           $ref: '#/components/responses/NotAcceptable'
4839         '409':
4840           $ref: '#/components/responses/Conflict'
4841         '422':
4842           $ref: '#/components/responses/UnprocessableEntity'
4843         '500':
4844           $ref: '#/components/responses/InternalServerError'
4845         '503':
4846           $ref: '#/components/responses/ServiceUnavailable'
4847         '5XX':
4848           $ref: '#/components/responses/UnexpectedError'
4849         default:
4850           $ref: '#/components/responses/UnexpectedError'
4851     post:
4852       tags:
4853         - "Infrastructure"
4854         - "Admin"
4855       summary: Create a new VIM Account
4856       description: Create a new VIM Account
4857       operationId: createVimAccount
4858       requestBody:
4859         $ref: '#/components/requestBodies/CreateVimRequest'
4860       responses:
4861         '202':
4862           description: Accepted
4863           content:
4864             application/json:
4865               schema:
4866                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4867             application/yaml:
4868               schema:
4869                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4870         '400':
4871           $ref: '#/components/responses/BadRequest'
4872         '401':
4873           $ref: '#/components/responses/Unauthorized'
4874         '403':
4875           $ref: '#/components/responses/Forbidden'
4876         '404':
4877           $ref: '#/components/responses/NotFound'
4878         '405':
4879           $ref: '#/components/responses/MethodNotAllowed'
4880         '406':
4881           $ref: '#/components/responses/NotAcceptable'
4882         '409':
4883           $ref: '#/components/responses/Conflict'
4884         '422':
4885           $ref: '#/components/responses/UnprocessableEntity'
4886         '500':
4887           $ref: '#/components/responses/InternalServerError'
4888         '503':
4889           $ref: '#/components/responses/ServiceUnavailable'
4890         '5XX':
4891           $ref: '#/components/responses/UnexpectedError'
4892         default:
4893           $ref: '#/components/responses/UnexpectedError'
4894   '/admin/v1/vim_accounts/{vimAccountId}':
4895     parameters:
4896       - name: vimAccountId
4897         in: path
4898         required: true
4899         description: VIM Account ID
4900         schema:
4901           type: string
4902           format: uuid
4903     get:
4904       tags:
4905         - "Infrastructure"
4906         - "Admin"
4907       summary: Query information about an individual VIM Account
4908       description: Query information about an individual VIM Account
4909       operationId: getVimAccount
4910       responses:
4911         '200':
4912           description: OK
4913           content:
4914             application/json:
4915               schema:
4916                 $ref: '#/components/schemas/VimInfo'
4917             application/yaml:
4918               schema:
4919                 $ref: '#/components/schemas/VimInfo'
4920         '400':
4921           $ref: '#/components/responses/BadRequest'
4922         '401':
4923           $ref: '#/components/responses/Unauthorized'
4924         '403':
4925           $ref: '#/components/responses/Forbidden'
4926         '404':
4927           $ref: '#/components/responses/NotFound'
4928         '405':
4929           $ref: '#/components/responses/MethodNotAllowed'
4930         '406':
4931           $ref: '#/components/responses/NotAcceptable'
4932         '409':
4933           $ref: '#/components/responses/Conflict'
4934         '422':
4935           $ref: '#/components/responses/UnprocessableEntity'
4936         '500':
4937           $ref: '#/components/responses/InternalServerError'
4938         '503':
4939           $ref: '#/components/responses/ServiceUnavailable'
4940         '5XX':
4941           $ref: '#/components/responses/UnexpectedError'
4942         default:
4943           $ref: '#/components/responses/UnexpectedError'
4944     patch:
4945       tags:
4946         - "Infrastructure"
4947         - "Admin"
4948       summary: Modify a VIM Account
4949       description: Modify a VIM Account
4950       operationId: editVimAccount
4951       requestBody:
4952         $ref: '#/components/requestBodies/EditVimRequest'
4953       responses:
4954         '202':
4955           description: Accepted
4956           content:
4957             application/json:
4958               schema:
4959                 $ref: '#/components/schemas/OpId'
4960             application/yaml:
4961               schema:
4962                 $ref: '#/components/schemas/OpId'
4963         '400':
4964           $ref: '#/components/responses/BadRequest'
4965         '401':
4966           $ref: '#/components/responses/Unauthorized'
4967         '403':
4968           $ref: '#/components/responses/Forbidden'
4969         '404':
4970           $ref: '#/components/responses/NotFound'
4971         '405':
4972           $ref: '#/components/responses/MethodNotAllowed'
4973         '406':
4974           $ref: '#/components/responses/NotAcceptable'
4975         '409':
4976           $ref: '#/components/responses/Conflict'
4977         '422':
4978           $ref: '#/components/responses/UnprocessableEntity'
4979         '500':
4980           $ref: '#/components/responses/InternalServerError'
4981         '503':
4982           $ref: '#/components/responses/ServiceUnavailable'
4983         '5XX':
4984           $ref: '#/components/responses/UnexpectedError'
4985         default:
4986           $ref: '#/components/responses/UnexpectedError'
4987     delete:
4988       tags:
4989         - "Infrastructure"
4990         - "Admin"
4991       summary: Delete a VIM Account
4992       description: Delete a VIM Account
4993       operationId: deleteVimAccount
4994       responses:
4995         '202':
4996           description: Accepted
4997         '400':
4998           $ref: '#/components/responses/BadRequest'
4999         '401':
5000           $ref: '#/components/responses/Unauthorized'
5001         '403':
5002           $ref: '#/components/responses/Forbidden'
5003         '404':
5004           $ref: '#/components/responses/NotFound'
5005         '405':
5006           $ref: '#/components/responses/MethodNotAllowed'
5007         '406':
5008           $ref: '#/components/responses/NotAcceptable'
5009         '409':
5010           $ref: '#/components/responses/Conflict'
5011         '422':
5012           $ref: '#/components/responses/UnprocessableEntity'
5013         '500':
5014           $ref: '#/components/responses/InternalServerError'
5015         '503':
5016           $ref: '#/components/responses/ServiceUnavailable'
5017         '5XX':
5018           $ref: '#/components/responses/UnexpectedError'
5019         default:
5020           $ref: '#/components/responses/UnexpectedError'
5021   '/admin/v1/wim_accounts':
5022     get:
5023       tags:
5024         - "Infrastructure"
5025         - "Admin"
5026       summary: Query information about multiple WIM Accounts
5027       description: Query information about multiple WIM Accounts
5028       operationId: getWimAccounts
5029       responses:
5030         '200':
5031           description: OK
5032           content:
5033             application/json:
5034               schema:
5035                 $ref: '#/components/schemas/ArrayOfWimInfo'
5036             application/yaml:
5037               schema:
5038                 $ref: '#/components/schemas/ArrayOfWimInfo'
5039         '400':
5040           $ref: '#/components/responses/BadRequest'
5041         '401':
5042           $ref: '#/components/responses/Unauthorized'
5043         '403':
5044           $ref: '#/components/responses/Forbidden'
5045         '404':
5046           $ref: '#/components/responses/NotFound'
5047         '405':
5048           $ref: '#/components/responses/MethodNotAllowed'
5049         '406':
5050           $ref: '#/components/responses/NotAcceptable'
5051         '409':
5052           $ref: '#/components/responses/Conflict'
5053         '422':
5054           $ref: '#/components/responses/UnprocessableEntity'
5055         '500':
5056           $ref: '#/components/responses/InternalServerError'
5057         '503':
5058           $ref: '#/components/responses/ServiceUnavailable'
5059         '5XX':
5060           $ref: '#/components/responses/UnexpectedError'
5061         default:
5062           $ref: '#/components/responses/UnexpectedError'
5063     post:
5064       tags:
5065         - "Infrastructure"
5066         - "Admin"
5067       summary: Create a new WIM Account
5068       description: Create a new WIM Account
5069       operationId: createWimAccount
5070       requestBody:
5071         $ref: '#/components/requestBodies/CreateWimRequest'
5072       responses:
5073         '202':
5074           description: Accepted
5075           content:
5076             application/json:
5077               schema:
5078                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5079             application/yaml:
5080               schema:
5081                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5082         '400':
5083           $ref: '#/components/responses/BadRequest'
5084         '401':
5085           $ref: '#/components/responses/Unauthorized'
5086         '403':
5087           $ref: '#/components/responses/Forbidden'
5088         '404':
5089           $ref: '#/components/responses/NotFound'
5090         '405':
5091           $ref: '#/components/responses/MethodNotAllowed'
5092         '406':
5093           $ref: '#/components/responses/NotAcceptable'
5094         '409':
5095           $ref: '#/components/responses/Conflict'
5096         '422':
5097           $ref: '#/components/responses/UnprocessableEntity'
5098         '500':
5099           $ref: '#/components/responses/InternalServerError'
5100         '503':
5101           $ref: '#/components/responses/ServiceUnavailable'
5102         '5XX':
5103           $ref: '#/components/responses/UnexpectedError'
5104         default:
5105           $ref: '#/components/responses/UnexpectedError'
5106   '/admin/v1/wim_accounts/{wimAccountId}':
5107     parameters:
5108       - name: wimAccountId
5109         in: path
5110         required: true
5111         description: WIM Account ID
5112         schema:
5113           type: string
5114           format: uuid
5115     get:
5116       tags:
5117         - "Infrastructure"
5118         - "Admin"
5119       summary: Query information about an individual WIM Account
5120       description: Query information about an individual WIM Account
5121       operationId: getWimAccount
5122       responses:
5123         '200':
5124           description: OK
5125           content:
5126             application/json:
5127               schema:
5128                 $ref: '#/components/schemas/WimInfo'
5129             application/yaml:
5130               schema:
5131                 $ref: '#/components/schemas/WimInfo'
5132         '400':
5133           $ref: '#/components/responses/BadRequest'
5134         '401':
5135           $ref: '#/components/responses/Unauthorized'
5136         '403':
5137           $ref: '#/components/responses/Forbidden'
5138         '404':
5139           $ref: '#/components/responses/NotFound'
5140         '405':
5141           $ref: '#/components/responses/MethodNotAllowed'
5142         '406':
5143           $ref: '#/components/responses/NotAcceptable'
5144         '409':
5145           $ref: '#/components/responses/Conflict'
5146         '422':
5147           $ref: '#/components/responses/UnprocessableEntity'
5148         '500':
5149           $ref: '#/components/responses/InternalServerError'
5150         '503':
5151           $ref: '#/components/responses/ServiceUnavailable'
5152         '5XX':
5153           $ref: '#/components/responses/UnexpectedError'
5154         default:
5155           $ref: '#/components/responses/UnexpectedError'
5156     patch:
5157       tags:
5158         - "Infrastructure"
5159         - "Admin"
5160       summary: Modify a WIM Account
5161       description: Modify a WIM Account
5162       operationId: editWimAccount
5163       requestBody:
5164         $ref: '#/components/requestBodies/EditWimRequest'
5165       responses:
5166         '202':
5167           description: Accepted
5168           content:
5169             application/json:
5170               schema:
5171                 $ref: '#/components/schemas/OpId'
5172             application/yaml:
5173               schema:
5174                 $ref: '#/components/schemas/OpId'
5175         '400':
5176           $ref: '#/components/responses/BadRequest'
5177         '401':
5178           $ref: '#/components/responses/Unauthorized'
5179         '403':
5180           $ref: '#/components/responses/Forbidden'
5181         '404':
5182           $ref: '#/components/responses/NotFound'
5183         '405':
5184           $ref: '#/components/responses/MethodNotAllowed'
5185         '406':
5186           $ref: '#/components/responses/NotAcceptable'
5187         '409':
5188           $ref: '#/components/responses/Conflict'
5189         '422':
5190           $ref: '#/components/responses/UnprocessableEntity'
5191         '500':
5192           $ref: '#/components/responses/InternalServerError'
5193         '503':
5194           $ref: '#/components/responses/ServiceUnavailable'
5195         '5XX':
5196           $ref: '#/components/responses/UnexpectedError'
5197         default:
5198           $ref: '#/components/responses/UnexpectedError'
5199     delete:
5200       tags:
5201         - "Infrastructure"
5202         - "Admin"
5203       summary: Delete a WIM Account
5204       description: Delete a WIM Account
5205       operationId: deleteWimAccount
5206       responses:
5207         '202':
5208           description: Accepted
5209         '400':
5210           $ref: '#/components/responses/BadRequest'
5211         '401':
5212           $ref: '#/components/responses/Unauthorized'
5213         '403':
5214           $ref: '#/components/responses/Forbidden'
5215         '404':
5216           $ref: '#/components/responses/NotFound'
5217         '405':
5218           $ref: '#/components/responses/MethodNotAllowed'
5219         '406':
5220           $ref: '#/components/responses/NotAcceptable'
5221         '409':
5222           $ref: '#/components/responses/Conflict'
5223         '422':
5224           $ref: '#/components/responses/UnprocessableEntity'
5225         '500':
5226           $ref: '#/components/responses/InternalServerError'
5227         '503':
5228           $ref: '#/components/responses/ServiceUnavailable'
5229         '5XX':
5230           $ref: '#/components/responses/UnexpectedError'
5231         default:
5232           $ref: '#/components/responses/UnexpectedError'
5233   '/admin/v1/sdns':
5234     get:
5235       tags:
5236         - "Infrastructure"
5237         - "Admin"
5238       summary: Query information about multiple SDNs
5239       description: Query information about multiple SDNs
5240       operationId: getSDNs
5241       responses:
5242         '200':
5243           description: OK
5244           content:
5245             application/json:
5246               schema:
5247                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5248             application/yaml:
5249               schema:
5250                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5251         '400':
5252           $ref: '#/components/responses/BadRequest'
5253         '401':
5254           $ref: '#/components/responses/Unauthorized'
5255         '403':
5256           $ref: '#/components/responses/Forbidden'
5257         '404':
5258           $ref: '#/components/responses/NotFound'
5259         '405':
5260           $ref: '#/components/responses/MethodNotAllowed'
5261         '406':
5262           $ref: '#/components/responses/NotAcceptable'
5263         '409':
5264           $ref: '#/components/responses/Conflict'
5265         '422':
5266           $ref: '#/components/responses/UnprocessableEntity'
5267         '500':
5268           $ref: '#/components/responses/InternalServerError'
5269         '503':
5270           $ref: '#/components/responses/ServiceUnavailable'
5271         '5XX':
5272           $ref: '#/components/responses/UnexpectedError'
5273         default:
5274           $ref: '#/components/responses/UnexpectedError'
5275     post:
5276       tags:
5277         - "Infrastructure"
5278         - "Admin"
5279       summary: Create a new SDN
5280       description: Create a new SDN
5281       operationId: createSDN
5282       requestBody:
5283         $ref: '#/components/requestBodies/CreateSdnRequest'
5284       responses:
5285         '202':
5286           description: Accepted
5287           content:
5288             application/json:
5289               schema:
5290                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5291             application/yaml:
5292               schema:
5293                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5294         '400':
5295           $ref: '#/components/responses/BadRequest'
5296         '401':
5297           $ref: '#/components/responses/Unauthorized'
5298         '403':
5299           $ref: '#/components/responses/Forbidden'
5300         '404':
5301           $ref: '#/components/responses/NotFound'
5302         '405':
5303           $ref: '#/components/responses/MethodNotAllowed'
5304         '406':
5305           $ref: '#/components/responses/NotAcceptable'
5306         '409':
5307           $ref: '#/components/responses/Conflict'
5308         '422':
5309           $ref: '#/components/responses/UnprocessableEntity'
5310         '500':
5311           $ref: '#/components/responses/InternalServerError'
5312         '503':
5313           $ref: '#/components/responses/ServiceUnavailable'
5314         '5XX':
5315           $ref: '#/components/responses/UnexpectedError'
5316         default:
5317           $ref: '#/components/responses/UnexpectedError'
5318   '/admin/v1/sdns/{sdnId}':
5319     parameters:
5320       - name: sdnId
5321         in: path
5322         required: true
5323         description: SDN ID
5324         schema:
5325           type: string
5326           format: uuid
5327     get:
5328       tags:
5329         - "Infrastructure"
5330         - "Admin"
5331       summary: Query information about an individual SDN
5332       description: Query information about an individual SDN
5333       operationId: getSDN
5334       responses:
5335         '200':
5336           description: OK
5337           content:
5338             application/json:
5339               schema:
5340                 $ref: '#/components/schemas/SdnInfo'
5341             application/yaml:
5342               schema:
5343                 $ref: '#/components/schemas/SdnInfo'
5344         '400':
5345           $ref: '#/components/responses/BadRequest'
5346         '401':
5347           $ref: '#/components/responses/Unauthorized'
5348         '403':
5349           $ref: '#/components/responses/Forbidden'
5350         '404':
5351           $ref: '#/components/responses/NotFound'
5352         '405':
5353           $ref: '#/components/responses/MethodNotAllowed'
5354         '406':
5355           $ref: '#/components/responses/NotAcceptable'
5356         '409':
5357           $ref: '#/components/responses/Conflict'
5358         '422':
5359           $ref: '#/components/responses/UnprocessableEntity'
5360         '500':
5361           $ref: '#/components/responses/InternalServerError'
5362         '503':
5363           $ref: '#/components/responses/ServiceUnavailable'
5364         '5XX':
5365           $ref: '#/components/responses/UnexpectedError'
5366         default:
5367           $ref: '#/components/responses/UnexpectedError'
5368     patch:
5369       tags:
5370         - "Infrastructure"
5371         - "Admin"
5372       summary: Modify a SDN
5373       description: Modify a SDN
5374       operationId: editSDN
5375       requestBody:
5376         $ref: '#/components/requestBodies/EditSdnRequest'
5377       responses:
5378         '202':
5379           description: Accepted
5380           content:
5381             application/json:
5382               schema:
5383                 $ref: '#/components/schemas/OpId'
5384             application/yaml:
5385               schema:
5386                 $ref: '#/components/schemas/OpId'
5387         '400':
5388           $ref: '#/components/responses/BadRequest'
5389         '401':
5390           $ref: '#/components/responses/Unauthorized'
5391         '403':
5392           $ref: '#/components/responses/Forbidden'
5393         '404':
5394           $ref: '#/components/responses/NotFound'
5395         '405':
5396           $ref: '#/components/responses/MethodNotAllowed'
5397         '406':
5398           $ref: '#/components/responses/NotAcceptable'
5399         '409':
5400           $ref: '#/components/responses/Conflict'
5401         '422':
5402           $ref: '#/components/responses/UnprocessableEntity'
5403         '500':
5404           $ref: '#/components/responses/InternalServerError'
5405         '503':
5406           $ref: '#/components/responses/ServiceUnavailable'
5407         '5XX':
5408           $ref: '#/components/responses/UnexpectedError'
5409         default:
5410           $ref: '#/components/responses/UnexpectedError'
5411     delete:
5412       tags:
5413         - "Infrastructure"
5414         - "Admin"
5415       summary: Delete a SDN
5416       description: Delete a SDN
5417       operationId: deleteSDN
5418       responses:
5419         '202':
5420           description: Accepted
5421         '400':
5422           $ref: '#/components/responses/BadRequest'
5423         '401':
5424           $ref: '#/components/responses/Unauthorized'
5425         '403':
5426           $ref: '#/components/responses/Forbidden'
5427         '404':
5428           $ref: '#/components/responses/NotFound'
5429         '405':
5430           $ref: '#/components/responses/MethodNotAllowed'
5431         '406':
5432           $ref: '#/components/responses/NotAcceptable'
5433         '409':
5434           $ref: '#/components/responses/Conflict'
5435         '422':
5436           $ref: '#/components/responses/UnprocessableEntity'
5437         '500':
5438           $ref: '#/components/responses/InternalServerError'
5439         '503':
5440           $ref: '#/components/responses/ServiceUnavailable'
5441         '5XX':
5442           $ref: '#/components/responses/UnexpectedError'
5443         default:
5444           $ref: '#/components/responses/UnexpectedError'
5445   '/admin/v1/k8sclusters':
5446     get:
5447       tags:
5448         - "Infrastructure"
5449         - "Admin"
5450       summary: Query information about multiple K8s Clusters
5451       description: Query information about multiple K8s Clusters
5452       operationId: getK8sClusters
5453       responses:
5454         '200':
5455           description: OK
5456           content:
5457             application/json:
5458               schema:
5459                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5460             application/yaml:
5461               schema:
5462                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5463         '400':
5464           $ref: '#/components/responses/BadRequest'
5465         '401':
5466           $ref: '#/components/responses/Unauthorized'
5467         '403':
5468           $ref: '#/components/responses/Forbidden'
5469         '404':
5470           $ref: '#/components/responses/NotFound'
5471         '405':
5472           $ref: '#/components/responses/MethodNotAllowed'
5473         '406':
5474           $ref: '#/components/responses/NotAcceptable'
5475         '409':
5476           $ref: '#/components/responses/Conflict'
5477         '422':
5478           $ref: '#/components/responses/UnprocessableEntity'
5479         '500':
5480           $ref: '#/components/responses/InternalServerError'
5481         '503':
5482           $ref: '#/components/responses/ServiceUnavailable'
5483         '5XX':
5484           $ref: '#/components/responses/UnexpectedError'
5485         default:
5486           $ref: '#/components/responses/UnexpectedError'
5487     post:
5488       tags:
5489         - "Infrastructure"
5490         - "Admin"
5491       summary: Create a new K8s Cluster
5492       description: Create a new K8s Cluster
5493       operationId: createK8sCluster
5494       requestBody:
5495         $ref: '#/components/requestBodies/CreateK8sClusterRequest'
5496       responses:
5497         '202':
5498           description: Accepted
5499           content:
5500             application/json:
5501               schema:
5502                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5503             application/yaml:
5504               schema:
5505                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5506         '400':
5507           $ref: '#/components/responses/BadRequest'
5508         '401':
5509           $ref: '#/components/responses/Unauthorized'
5510         '403':
5511           $ref: '#/components/responses/Forbidden'
5512         '404':
5513           $ref: '#/components/responses/NotFound'
5514         '405':
5515           $ref: '#/components/responses/MethodNotAllowed'
5516         '406':
5517           $ref: '#/components/responses/NotAcceptable'
5518         '409':
5519           $ref: '#/components/responses/Conflict'
5520         '422':
5521           $ref: '#/components/responses/UnprocessableEntity'
5522         '500':
5523           $ref: '#/components/responses/InternalServerError'
5524         '503':
5525           $ref: '#/components/responses/ServiceUnavailable'
5526         '5XX':
5527           $ref: '#/components/responses/UnexpectedError'
5528         default:
5529           $ref: '#/components/responses/UnexpectedError'
5530   '/admin/v1/k8sclusters/{k8sClusterId}':
5531     parameters:
5532       - name: k8sClusterId
5533         in: path
5534         required: true
5535         description: K8s Cluster ID
5536         schema:
5537           type: string
5538           format: uuid
5539     get:
5540       tags:
5541         - "Infrastructure"
5542         - "Admin"
5543       summary: Query information about an individual K8s Cluster
5544       description: Query information about an individual K8s Cluster
5545       operationId: getK8sCluster
5546       responses:
5547         '200':
5548           description: OK
5549           content:
5550             application/json:
5551               schema:
5552                 $ref: '#/components/schemas/K8sClusterInfo'
5553             application/yaml:
5554               schema:
5555                 $ref: '#/components/schemas/K8sClusterInfo'
5556         '400':
5557           $ref: '#/components/responses/BadRequest'
5558         '401':
5559           $ref: '#/components/responses/Unauthorized'
5560         '403':
5561           $ref: '#/components/responses/Forbidden'
5562         '404':
5563           $ref: '#/components/responses/NotFound'
5564         '405':
5565           $ref: '#/components/responses/MethodNotAllowed'
5566         '406':
5567           $ref: '#/components/responses/NotAcceptable'
5568         '409':
5569           $ref: '#/components/responses/Conflict'
5570         '422':
5571           $ref: '#/components/responses/UnprocessableEntity'
5572         '500':
5573           $ref: '#/components/responses/InternalServerError'
5574         '503':
5575           $ref: '#/components/responses/ServiceUnavailable'
5576         '5XX':
5577           $ref: '#/components/responses/UnexpectedError'
5578         default:
5579           $ref: '#/components/responses/UnexpectedError'
5580     patch:
5581       tags:
5582         - "Infrastructure"
5583         - "Admin"
5584       summary: Modify a K8s Cluster
5585       description: Modify a K8s Cluster
5586       operationId: editK8sCluster
5587       requestBody:
5588         $ref: '#/components/requestBodies/EditK8sClusterRequest'
5589       responses:
5590         '202':
5591           description: Accepted
5592           content:
5593             application/json:
5594               schema:
5595                 $ref: '#/components/schemas/OpId'
5596             application/yaml:
5597               schema:
5598                 $ref: '#/components/schemas/OpId'
5599         '400':
5600           $ref: '#/components/responses/BadRequest'
5601         '401':
5602           $ref: '#/components/responses/Unauthorized'
5603         '403':
5604           $ref: '#/components/responses/Forbidden'
5605         '404':
5606           $ref: '#/components/responses/NotFound'
5607         '405':
5608           $ref: '#/components/responses/MethodNotAllowed'
5609         '406':
5610           $ref: '#/components/responses/NotAcceptable'
5611         '409':
5612           $ref: '#/components/responses/Conflict'
5613         '422':
5614           $ref: '#/components/responses/UnprocessableEntity'
5615         '500':
5616           $ref: '#/components/responses/InternalServerError'
5617         '503':
5618           $ref: '#/components/responses/ServiceUnavailable'
5619         '5XX':
5620           $ref: '#/components/responses/UnexpectedError'
5621         default:
5622           $ref: '#/components/responses/UnexpectedError'
5623     delete:
5624       tags:
5625         - "Infrastructure"
5626         - "Admin"
5627       summary: Delete a K8s Cluster
5628       description: Delete a K8s Cluster
5629       operationId: deleteK8sCluster
5630       responses:
5631         '202':
5632           description: Accepted
5633         '400':
5634           $ref: '#/components/responses/BadRequest'
5635         '401':
5636           $ref: '#/components/responses/Unauthorized'
5637         '403':
5638           $ref: '#/components/responses/Forbidden'
5639         '404':
5640           $ref: '#/components/responses/NotFound'
5641         '405':
5642           $ref: '#/components/responses/MethodNotAllowed'
5643         '406':
5644           $ref: '#/components/responses/NotAcceptable'
5645         '409':
5646           $ref: '#/components/responses/Conflict'
5647         '422':
5648           $ref: '#/components/responses/UnprocessableEntity'
5649         '500':
5650           $ref: '#/components/responses/InternalServerError'
5651         '503':
5652           $ref: '#/components/responses/ServiceUnavailable'
5653         '5XX':
5654           $ref: '#/components/responses/UnexpectedError'
5655         default:
5656           $ref: '#/components/responses/UnexpectedError'
5657   '/admin/v1/vca':
5658     get:
5659       tags:
5660         - "Infrastructure"
5661         - "Admin"
5662       summary: Query information about multiple VCAs
5663       description: Query information about multiple VCAs
5664       operationId: getVcas
5665       responses:
5666         '200':
5667           description: OK
5668           content:
5669             application/json:
5670               schema:
5671                 $ref: '#/components/schemas/ArrayOfVcaInfo'
5672             application/yaml:
5673               schema:
5674                 $ref: '#/components/schemas/ArrayOfVcaInfo'
5675         '400':
5676           $ref: '#/components/responses/BadRequest'
5677         '401':
5678           $ref: '#/components/responses/Unauthorized'
5679         '403':
5680           $ref: '#/components/responses/Forbidden'
5681         '404':
5682           $ref: '#/components/responses/NotFound'
5683         '405':
5684           $ref: '#/components/responses/MethodNotAllowed'
5685         '406':
5686           $ref: '#/components/responses/NotAcceptable'
5687         '409':
5688           $ref: '#/components/responses/Conflict'
5689         '422':
5690           $ref: '#/components/responses/UnprocessableEntity'
5691         '500':
5692           $ref: '#/components/responses/InternalServerError'
5693         '503':
5694           $ref: '#/components/responses/ServiceUnavailable'
5695         '5XX':
5696           $ref: '#/components/responses/UnexpectedError'
5697         default:
5698           $ref: '#/components/responses/UnexpectedError'
5699     post:
5700       tags:
5701         - "Infrastructure"
5702         - "Admin"
5703       summary: Create a new VCA
5704       description: Create a new VCA
5705       operationId: createVca
5706       requestBody:
5707         $ref: '#/components/requestBodies/CreateVcaRequest'
5708       responses:
5709         '202':
5710           description: Accepted
5711           content:
5712             application/json:
5713               schema:
5714                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5715             application/yaml:
5716               schema:
5717                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5718         '400':
5719           $ref: '#/components/responses/BadRequest'
5720         '401':
5721           $ref: '#/components/responses/Unauthorized'
5722         '403':
5723           $ref: '#/components/responses/Forbidden'
5724         '404':
5725           $ref: '#/components/responses/NotFound'
5726         '405':
5727           $ref: '#/components/responses/MethodNotAllowed'
5728         '406':
5729           $ref: '#/components/responses/NotAcceptable'
5730         '409':
5731           $ref: '#/components/responses/Conflict'
5732         '422':
5733           $ref: '#/components/responses/UnprocessableEntity'
5734         '500':
5735           $ref: '#/components/responses/InternalServerError'
5736         '503':
5737           $ref: '#/components/responses/ServiceUnavailable'
5738         '5XX':
5739           $ref: '#/components/responses/UnexpectedError'
5740         default:
5741           $ref: '#/components/responses/UnexpectedError'
5742   '/admin/v1/vca/{vcaId}':
5743     parameters:
5744       - name: vcaId
5745         in: path
5746         required: true
5747         description: VCA ID
5748         schema:
5749           type: string
5750           format: uuid
5751     get:
5752       tags:
5753         - "Infrastructure"
5754         - "Admin"
5755       summary: Query information about an individual VCA
5756       description: Query information about an individual VCA
5757       operationId: getVca
5758       responses:
5759         '200':
5760           description: OK
5761           content:
5762             application/json:
5763               schema:
5764                 $ref: '#/components/schemas/VcaInfo'
5765             application/yaml:
5766               schema:
5767                 $ref: '#/components/schemas/VcaInfo'
5768         '400':
5769           $ref: '#/components/responses/BadRequest'
5770         '401':
5771           $ref: '#/components/responses/Unauthorized'
5772         '403':
5773           $ref: '#/components/responses/Forbidden'
5774         '404':
5775           $ref: '#/components/responses/NotFound'
5776         '405':
5777           $ref: '#/components/responses/MethodNotAllowed'
5778         '406':
5779           $ref: '#/components/responses/NotAcceptable'
5780         '409':
5781           $ref: '#/components/responses/Conflict'
5782         '422':
5783           $ref: '#/components/responses/UnprocessableEntity'
5784         '500':
5785           $ref: '#/components/responses/InternalServerError'
5786         '503':
5787           $ref: '#/components/responses/ServiceUnavailable'
5788         '5XX':
5789           $ref: '#/components/responses/UnexpectedError'
5790         default:
5791           $ref: '#/components/responses/UnexpectedError'
5792     patch:
5793       tags:
5794         - "Infrastructure"
5795         - "Admin"
5796       summary: Modify a VCA
5797       description: Modify a VCA
5798       operationId: editVca
5799       requestBody:
5800         $ref: '#/components/requestBodies/EditVcaRequest'
5801       responses:
5802         '202':
5803           description: Accepted
5804           content:
5805             application/json:
5806               schema:
5807                 $ref: '#/components/schemas/OpId'
5808             application/yaml:
5809               schema:
5810                 $ref: '#/components/schemas/OpId'
5811         '400':
5812           $ref: '#/components/responses/BadRequest'
5813         '401':
5814           $ref: '#/components/responses/Unauthorized'
5815         '403':
5816           $ref: '#/components/responses/Forbidden'
5817         '404':
5818           $ref: '#/components/responses/NotFound'
5819         '405':
5820           $ref: '#/components/responses/MethodNotAllowed'
5821         '406':
5822           $ref: '#/components/responses/NotAcceptable'
5823         '409':
5824           $ref: '#/components/responses/Conflict'
5825         '422':
5826           $ref: '#/components/responses/UnprocessableEntity'
5827         '500':
5828           $ref: '#/components/responses/InternalServerError'
5829         '503':
5830           $ref: '#/components/responses/ServiceUnavailable'
5831         '5XX':
5832           $ref: '#/components/responses/UnexpectedError'
5833         default:
5834           $ref: '#/components/responses/UnexpectedError'
5835     delete:
5836       tags:
5837         - "Infrastructure"
5838         - "Admin"
5839       summary: Delete a VCA
5840       description: Delete a VCA
5841       operationId: deleteVca
5842       responses:
5843         '202':
5844           description: Accepted
5845         '400':
5846           $ref: '#/components/responses/BadRequest'
5847         '401':
5848           $ref: '#/components/responses/Unauthorized'
5849         '403':
5850           $ref: '#/components/responses/Forbidden'
5851         '404':
5852           $ref: '#/components/responses/NotFound'
5853         '405':
5854           $ref: '#/components/responses/MethodNotAllowed'
5855         '406':
5856           $ref: '#/components/responses/NotAcceptable'
5857         '409':
5858           $ref: '#/components/responses/Conflict'
5859         '422':
5860           $ref: '#/components/responses/UnprocessableEntity'
5861         '500':
5862           $ref: '#/components/responses/InternalServerError'
5863         '503':
5864           $ref: '#/components/responses/ServiceUnavailable'
5865         '5XX':
5866           $ref: '#/components/responses/UnexpectedError'
5867         default:
5868           $ref: '#/components/responses/UnexpectedError'
5869   '/admin/v1/k8srepos':
5870     get:
5871       tags:
5872         - "Repositories"
5873         - "Admin"
5874       summary: Query information about multiple K8s Repos
5875       description: Query information about multiple K8s Repos
5876       operationId: getK8sRepos
5877       responses:
5878         '200':
5879           description: OK
5880           content:
5881             application/json:
5882               schema:
5883                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
5884             application/yaml:
5885               schema:
5886                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
5887         '400':
5888           $ref: '#/components/responses/BadRequest'
5889         '401':
5890           $ref: '#/components/responses/Unauthorized'
5891         '403':
5892           $ref: '#/components/responses/Forbidden'
5893         '404':
5894           $ref: '#/components/responses/NotFound'
5895         '405':
5896           $ref: '#/components/responses/MethodNotAllowed'
5897         '406':
5898           $ref: '#/components/responses/NotAcceptable'
5899         '409':
5900           $ref: '#/components/responses/Conflict'
5901         '422':
5902           $ref: '#/components/responses/UnprocessableEntity'
5903         '500':
5904           $ref: '#/components/responses/InternalServerError'
5905         '503':
5906           $ref: '#/components/responses/ServiceUnavailable'
5907         '5XX':
5908           $ref: '#/components/responses/UnexpectedError'
5909         default:
5910           $ref: '#/components/responses/UnexpectedError'
5911     post:
5912       tags:
5913         - "Repositories"
5914         - "Admin"
5915       summary: Create a new K8s Repo
5916       description: Create a new K8s Repo
5917       operationId: createK8sRepo
5918       requestBody:
5919         $ref: '#/components/requestBodies/CreateK8sRepoRequest'
5920       responses:
5921         '202':
5922           description: Accepted
5923           content:
5924             application/json:
5925               schema:
5926                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5927             application/yaml:
5928               schema:
5929                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5930         '400':
5931           $ref: '#/components/responses/BadRequest'
5932         '401':
5933           $ref: '#/components/responses/Unauthorized'
5934         '403':
5935           $ref: '#/components/responses/Forbidden'
5936         '404':
5937           $ref: '#/components/responses/NotFound'
5938         '405':
5939           $ref: '#/components/responses/MethodNotAllowed'
5940         '406':
5941           $ref: '#/components/responses/NotAcceptable'
5942         '409':
5943           $ref: '#/components/responses/Conflict'
5944         '422':
5945           $ref: '#/components/responses/UnprocessableEntity'
5946         '500':
5947           $ref: '#/components/responses/InternalServerError'
5948         '503':
5949           $ref: '#/components/responses/ServiceUnavailable'
5950         '5XX':
5951           $ref: '#/components/responses/UnexpectedError'
5952         default:
5953           $ref: '#/components/responses/UnexpectedError'
5954   '/admin/v1/k8srepos/{k8sRepoId}':
5955     parameters:
5956       - name: k8sRepoId
5957         in: path
5958         required: true
5959         description: K8s Repo ID
5960         schema:
5961           type: string
5962           format: uuid
5963     get:
5964       tags:
5965         - "Repositories"
5966         - "Admin"
5967       summary: Query information about an individual K8s Repo
5968       description: Query information about an individual K8s Repo
5969       operationId: getK8sRepo
5970       responses:
5971         '200':
5972           description: OK
5973           content:
5974             application/json:
5975               schema:
5976                 $ref: '#/components/schemas/K8sRepoInfo'
5977             application/yaml:
5978               schema:
5979                 $ref: '#/components/schemas/K8sRepoInfo'
5980         '400':
5981           $ref: '#/components/responses/BadRequest'
5982         '401':
5983           $ref: '#/components/responses/Unauthorized'
5984         '403':
5985           $ref: '#/components/responses/Forbidden'
5986         '404':
5987           $ref: '#/components/responses/NotFound'
5988         '405':
5989           $ref: '#/components/responses/MethodNotAllowed'
5990         '406':
5991           $ref: '#/components/responses/NotAcceptable'
5992         '409':
5993           $ref: '#/components/responses/Conflict'
5994         '422':
5995           $ref: '#/components/responses/UnprocessableEntity'
5996         '500':
5997           $ref: '#/components/responses/InternalServerError'
5998         '503':
5999           $ref: '#/components/responses/ServiceUnavailable'
6000         '5XX':
6001           $ref: '#/components/responses/UnexpectedError'
6002         default:
6003           $ref: '#/components/responses/UnexpectedError'
6004     delete:
6005       tags:
6006         - "Repositories"
6007         - "Admin"
6008       summary: Delete a K8s Repo
6009       description: Delete a K8s Repo
6010       operationId: deleteK8sRepo
6011       responses:
6012         '202':
6013           description: Accepted
6014         '400':
6015           $ref: '#/components/responses/BadRequest'
6016         '401':
6017           $ref: '#/components/responses/Unauthorized'
6018         '403':
6019           $ref: '#/components/responses/Forbidden'
6020         '404':
6021           $ref: '#/components/responses/NotFound'
6022         '405':
6023           $ref: '#/components/responses/MethodNotAllowed'
6024         '406':
6025           $ref: '#/components/responses/NotAcceptable'
6026         '409':
6027           $ref: '#/components/responses/Conflict'
6028         '422':
6029           $ref: '#/components/responses/UnprocessableEntity'
6030         '500':
6031           $ref: '#/components/responses/InternalServerError'
6032         '503':
6033           $ref: '#/components/responses/ServiceUnavailable'
6034         '5XX':
6035           $ref: '#/components/responses/UnexpectedError'
6036         default:
6037           $ref: '#/components/responses/UnexpectedError'
6038 # END Admin
6039
6040 externalDocs:
6041   description: Find out more about OSM
6042   url: 'https://osm.etsi.org/docs/user-guide/'
6043
6044 components:
6045   responses:
6046     BadRequest:
6047       description: Bad request. The server cannot process the request due to a client error.
6048       content:
6049         application/json:
6050           schema:
6051             $ref: '#/components/schemas/ProblemDetails'
6052     Unauthorized:
6053       description: Authorization information is missing or invalid.
6054       content:
6055         application/json:
6056           schema:
6057             $ref: '#/components/schemas/ProblemDetails'
6058     Forbidden:
6059       description: Not enough permissions to do this operation.
6060       content:
6061         application/json:
6062           schema:
6063             $ref: '#/components/schemas/ProblemDetails'
6064     NotFound:
6065       description: The specified resource was not found.
6066       content:
6067         application/json:
6068           schema:
6069             $ref: '#/components/schemas/ProblemDetails'
6070     MethodNotAllowed:
6071       description: This method is not supported for the requested resource.
6072       content:
6073         application/json:
6074           schema:
6075             $ref: '#/components/schemas/ProblemDetails'
6076     NotAcceptable:
6077       description: The requested resource content cannot match the Accept headers sent in the request.
6078       content:
6079         application/json:
6080           schema:
6081             $ref: '#/components/schemas/ProblemDetails'
6082     Conflict:
6083       description: The operation cannot be executed currently, due to a conflict with the state of the resource.
6084       content:
6085         application/json:
6086           schema:
6087             $ref: '#/components/schemas/ProblemDetails'
6088     UnprocessableEntity:
6089       description: The request was well-formed but was unable to be followed due to semantic errors.
6090       content:
6091         application/json:
6092           schema:
6093             $ref: '#/components/schemas/ProblemDetails'
6094     InternalServerError:
6095       description: Internal server error.
6096       content:
6097         application/json:
6098           schema:
6099             $ref: '#/components/schemas/ProblemDetails'
6100     ServiceUnavailable:
6101       description: Service temporarily unavailable.
6102       content:
6103         application/json:
6104           schema:
6105             $ref: '#/components/schemas/ProblemDetails'
6106     UnexpectedError:
6107       description: Unexpected error.
6108       content:
6109         application/json:
6110           schema:
6111             $ref: '#/components/schemas/ProblemDetails'
6112     VnfDescriptor:
6113       description: VNF Descriptor (plaintext)
6114       content:
6115         text/plain:
6116           schema:
6117             $ref: '#/components/schemas/VnfDescriptor'
6118     VnfPackage:
6119       description: VNF Package (compressed)
6120       content:
6121         application/zip:
6122           schema:
6123             $ref: '#/components/schemas/VnfPackage'
6124     NsDescriptor:
6125       description: NS Descriptor (plaintext)
6126       content:
6127         text/plain:
6128           schema:
6129             $ref: '#/components/schemas/NsDescriptor'
6130     NsPackage:
6131       description: NS Package (compressed)
6132       content:
6133         application/zip:
6134           schema:
6135             $ref: '#/components/schemas/NsPackage'
6136     NetSliceTemplate:
6137       description: NetSlice Template (plaintext)
6138       content:
6139         text/plain:
6140           schema:
6141             $ref: '#/components/schemas/NetSliceTemplate'
6142     NetSlicePackage:
6143       description: NetSlice Package (compressed)
6144       content:
6145         application/zip:
6146           schema:
6147             $ref: '#/components/schemas/NetSlicePackage'
6148     NslcmSubscriptionResponse:
6149       description: NslcmSubscriptionResponse
6150       content:
6151         application/json:
6152           schema:
6153             $ref: '#/components/schemas/NslcmSubscriptionResponse'
6154         application/yaml:
6155           schema:
6156             $ref: '#/components/schemas/NslcmSubscriptionResponse'
6157   # END RESPONSES
6158
6159   schemas:
6160     ObjectId:
6161       type: object
6162       properties:
6163         id:
6164           type: string
6165           format: uuid
6166     KeyValuePairs:
6167       # A free list of key:value pairs
6168       type: object
6169       additionalProperties: true
6170     NsDescriptor:
6171       type: string
6172       format: yaml|json
6173     NsPackage:
6174       type: string
6175       format: binary
6176     CreateNsdInfoRequest:
6177       # A free list of key:value pairs
6178       type: object
6179       additionalProperties: true
6180     NsdInfoModifications:
6181       description: |
6182         NS Descriptor Information
6183         Only generic fields (id, name, description) are described
6184         For a full specification of the NS Descriptor see:
6185         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
6186       type: object
6187       properties:
6188         id:
6189           description: NSD Identifier
6190           type: string
6191         name:
6192           description: NSD Name
6193           type: string
6194         description:
6195           description: NSD Description
6196           type: string
6197     NsdInfo:
6198       description: |
6199         NS Descriptor Information
6200         Only generic fields (_id, id, name, description) are described
6201         For a full specification of the NS Descriptor see:
6202         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
6203       type: object
6204       properties:
6205         _id:
6206           description: |
6207             Identifier of the onboarded individual NS descriptor
6208             resource. This identifier is allocated by the NFVO.
6209           type: string
6210           format: uuid
6211         id:
6212           description: |
6213             This identifier, which is allocated by the NSD
6214             designer, identifies the NSD in a globally unique
6215             way. It is copied from the NSD content and shall be
6216             present after the NSD content is on-boarded.
6217           type: string
6218         name:
6219           description: |
6220             Name of the onboarded NSD. This information is
6221             copied from the NSD content and shall be present
6222             after the NSD content is on-boarded.
6223           type: string
6224         description:
6225           description: |
6226             Description of the onboarded NSD.
6227             This information is copied from the NSD content.
6228           type: string
6229       required:
6230         - _id
6231         - id
6232     ArrayOfNsdInfo:
6233       type: array
6234       items:
6235         $ref: '#/components/schemas/NsdInfo'
6236     ProblemDetails:
6237       type: object
6238       properties:
6239         type:
6240           type: string
6241           format: uri
6242         title:
6243           type: string
6244         status:
6245           type: integer
6246         detail:
6247           type: string
6248         instance:
6249           type: string
6250           format: uri
6251       additionalProperties: true
6252       required:
6253         - status
6254         - detail
6255     VnfDescriptor:
6256       type: string
6257       format: yaml|json
6258     VnfPackage:
6259       type: string
6260       format: binary
6261     CreateVnfPkgInfoRequest:
6262       # A free list of key:value pairs
6263       type: object
6264       additionalProperties: true
6265     VnfPkgInfoModifications:
6266       description: |
6267         VNF Package Information
6268         Only generic fields (id, name, description) are described
6269         For a full specification of the VNF Descriptor see:
6270         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
6271       type: object
6272       properties:
6273         id:
6274           description: VNF Package Identifier
6275           type: string
6276         name:
6277           description: VNF Package Name
6278           type: string
6279         description:
6280           description: VNF Package description
6281           type: string
6282     VnfPkgInfo:
6283       description: |
6284         VNF Package Information
6285         Only generic fields (_id, id, name, description) are described
6286         For a full specification of the VNF Descriptor see:
6287         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
6288       type: object
6289       properties:
6290         _id:
6291           description: |
6292             Identifier of the VNF package. This identifier is allocated by the NFVO.
6293           type: string
6294           format: uuid
6295         id:
6296           description: VNF Package Identifier
6297           type: string
6298         name:
6299           description: VNF Package Name
6300           type: string
6301         description:
6302           description: VNF Package description
6303           type: string
6304       required:
6305         - _id
6306         - id
6307     ArrayOfVnfPkgInfo:
6308       type: array
6309       items:
6310         $ref: '#/components/schemas/VnfPkgInfo'
6311     # CreateNsRequest:
6312       # Substituted by InstantiateNsRequest
6313     NsInstance:
6314       description: |
6315         NS Instance Information
6316         Only generic fields (_id, id, name, description) are described
6317         For a full specification of the NS Instance see:
6318         http://osm-download.etsi.org/ftp/osm-doc/nsr.html
6319       type: object
6320       properties:
6321         _id:
6322           description: Identifier of the NS instance.
6323           type: string
6324           format: uuid
6325         id:
6326           description: Identifier of the NS instance.
6327           type: string
6328           format: uuid
6329         name:
6330           description: Human readable name of the NS instance.
6331           type: string
6332         description:
6333           description: Human readable description of the NS instance.
6334           type: string
6335       required:
6336         - _id
6337         - id
6338         - name
6339     InstantiateNsRequest:
6340       type: object
6341       properties:
6342         nsName:
6343           description: |
6344             Human-readable name of the NS instance to be created.
6345           type: string
6346         nsdId:
6347           description: |
6348             Identifier of the NSD that defines the NS instance to be created.
6349           type: string
6350           format: uuid
6351         vimAccountId:
6352           description: |
6353             Identifier of the VIM Account where the NS instance shall be created.
6354           type: string
6355           format: uuid
6356         lcmOperationType:
6357           type: string
6358         nsInstanceId:
6359           type: string
6360           format: uuid
6361         netsliceInstanceId:
6362           type: string
6363           format: uuid
6364         nsDescription:
6365           type: string
6366           nullable: true
6367         wimAccountId:
6368           oneOf:
6369             - type: string
6370             - type: boolean
6371           nullable: true
6372         additionalParamsForNs:
6373           type: object
6374           additionalProperties: true
6375         additionalParamsForVnf: &additionalparamsforvnf
6376           type: array
6377           items:
6378             type: object
6379             properties:
6380               member-vnf-index:
6381                 type: string
6382               additionalParams:
6383                 type: object
6384                 additionalProperties: true
6385               k8s-namespace:
6386                 type: string
6387                 description: |
6388                   use this namespace for all the KDU deployed in this VNF
6389                   (if any). By default it is used the id of the project
6390               additionalParamsForVdu:
6391                 type: array
6392                 items:
6393                   type: object
6394                   properties:
6395                     vdu_id:
6396                       type: string
6397                     additionalParams:
6398                       type: object
6399                       additionalProperties: true
6400                   required:
6401                     - vdu_id
6402                     - additionalParams
6403                   additionalProperties: false
6404               additionalParamsForKdu:
6405                 type: array
6406                 items:
6407                   type: object
6408                   properties:
6409                     kdu_name:
6410                       type: string
6411                     k8s-namespace:
6412                       type: string
6413                       description: use this namespace for this KDU
6414                     kdu_model:
6415                       type: string
6416                     additionalParams:
6417                       type: object
6418                       additionalProperties: true
6419                   required:
6420                     - kdu_name
6421                   minProperties: 2
6422                   additionalProperties: false
6423             required:
6424               - member-vnf-index
6425             minProperties: 2
6426             additionalProperties: false
6427         ssh_keys:
6428           type: array
6429           items:
6430             type: string
6431         nsr_id:
6432           type: string
6433           format: uuid
6434         vduImage:
6435           type: string
6436         placement-engine:
6437           type: string
6438           description: |
6439            To compute automatically the target VIM for each VNF based on 
6440            constrains, e.g. latency. Currently only 'PLA' is supported
6441         placement-constraints:
6442           type: object
6443           additionalProperties: true
6444         k8s-namespace:
6445           type: string
6446         timeout_ns_deploy:
6447           type: integer
6448         vnf:
6449           type: array
6450           items:
6451             type: object
6452             properties:
6453               member-vnf-index:
6454                 type: string
6455               vimAccountId:
6456                 type: string
6457                 format: uuid
6458               vdu:
6459                 type: array
6460                 items:
6461                   type: object
6462                   properties:
6463                     id:
6464                       type: string
6465                     volume:
6466                       type: array
6467                       items:
6468                         type: object
6469                         properties:
6470                           name:
6471                             type: string
6472                           vim-volume-id:
6473                             type: string
6474                         required:
6475                           - name
6476                           - vim-volume-id
6477                         additionalProperties: false
6478                       minItems: 1
6479                     interface:
6480                       type: array
6481                       items:
6482                         type: object
6483                         properties:
6484                           name:
6485                             type: string
6486                           ip-address:
6487                             type: string
6488                             format: ipv4
6489                           mac-address:
6490                             type: string
6491                             format: mac_address
6492                           floating-ip-required:
6493                             type: boolean
6494                         required:
6495                           - name
6496                         additionalProperties: false
6497                       minItems: 1
6498                   required:
6499                     - id
6500                   additionalProperties: false
6501                 minItems: 1
6502               internal-vld:
6503                 type: array
6504                 items:
6505                   type: object
6506                   properties:
6507                     name:
6508                       type: string
6509                     vim-network-name:
6510                       type: string
6511                     vim-network-id:
6512                       type: string
6513                     ip-profile:
6514                       type: object
6515                       properties:
6516                         ip-version:
6517                           type: string
6518                           enum:
6519                             - ipv4
6520                             - ipv6
6521                         subnet-address:
6522                           type: string
6523                           format: ip_prefix
6524                           nullable: true
6525                         gateway-address:
6526                           type: string
6527                           format: ipv4
6528                           nullable: true
6529                         dns-server:
6530                           type: array
6531                           items:
6532                             type: object
6533                             properties:
6534                               address:
6535                                 type: string
6536                                 format: ipv4
6537                             required:
6538                               - address
6539                             additionalProperties: false
6540                           minItems: 1
6541                           nullable: true
6542                         dhcp-params:
6543                           type: object
6544                           properties:
6545                             enabled:
6546                               type: boolean
6547                             count:
6548                               type: integer
6549                               minimum: 1
6550                             start-address:
6551                               type: string
6552                               format: ipv4
6553                           additionalProperties: false
6554                           nullable: true
6555                       additionalProperties: false
6556                     provider-network:
6557                       type: object
6558                       properties:
6559                         physical-network:
6560                           type: string
6561                         segmentation-id:
6562                           type: string
6563                         network-type:
6564                           type: string
6565                         sdn-ports:
6566                           description: |
6567                             connect additional ports to the created underlay SDN connectivity.
6568                             Normally for external connectivy.
6569                           type: array
6570                           items:
6571                             type: object
6572                             properties:
6573                               switch_id:
6574                                 type: string
6575                               switch_port:
6576                                 type: string
6577                               mac_address:
6578                                 type: string
6579                                 format: mac_address
6580                               vlan:
6581                                 type: integer
6582                             additionalProperties: true
6583                             required:
6584                               - switch_id
6585                               - switch_port
6586                           minItems: 1
6587                       additionalProperties: false
6588                     internal-connection-point:
6589                       type: array
6590                       items:
6591                         type: object
6592                         properties:
6593                           id-ref:
6594                             type: string
6595                           ip-address:
6596                             type: string
6597                             format: ipv4
6598                         required:
6599                           - id-ref
6600                         minProperties: 2
6601                         additionalProperties: False
6602                       minItems: 1
6603                   required:
6604                     - name
6605                   minProperties: 2
6606                   additionalProperties: false
6607                 minItems: 1
6608             required:
6609               - member-vnf-index
6610             minProperties: 2
6611             additionalProperties: false
6612           minItems: 1
6613         vld:
6614           type: array
6615           items:
6616             type: object
6617             properties:
6618               name:
6619                 type: string
6620               vim-network-name:
6621                 oneOf:
6622                   - type: string
6623                   - type: object
6624               vim-network-id:
6625                 oneOf:
6626                   - type: string
6627                   - type: object
6628               ns-net:
6629                 type: object
6630                 additionalProperties: true
6631               wimAccountId:
6632                 oneOf:
6633                   - type: string
6634                   - type: boolean
6635                 nullable: true
6636               ip-profile:
6637                 type: object
6638                 additionalProperties: true
6639               provider-network:
6640                 type: object
6641                 properties:
6642                   physical-network:
6643                     type: string
6644                   segmentation-id:
6645                     type: string
6646                 additionalProperties: false
6647               vnfd-connection-point-ref:
6648                 type: array
6649                 items:
6650                   type: object
6651                   properties:
6652                     member-vnf-index-ref:
6653                       type: string
6654                     vnfd-connection-point-ref:
6655                       type: string
6656                     ip-address:
6657                       type: string
6658                       format: ipv4
6659                   required:
6660                     - member-vnf-index-ref
6661                     - vnfd-connection-point-ref
6662                   minProperties: 3
6663                   additionalProperties: false
6664                 minItems: 1
6665             required:
6666               - name
6667             additionalProperties: false
6668           minItems: 1
6669       required:
6670         - nsName
6671         - nsdId
6672         - vimAccountId
6673       additionalProperties: false
6674     ScaleNsRequest:
6675       type: object
6676       properties:
6677         scaleType:
6678           type: string
6679           enum:
6680             - SCALE_VNF
6681         timeout_ns_scale:
6682           description: timeout for the scale operation
6683           type: integer
6684         scaleVnfData:
6685           type: object
6686           properties:
6687             scaleVnfType:
6688               type: string
6689               enum:
6690                 - SCALE_IN
6691                 - SCALE_OUT
6692             scaleByStepData:
6693               type: object
6694               properties:
6695                 scaling-group-descriptor:
6696                   type: string
6697                 scaling-policy:
6698                   type: string
6699                 member-vnf-index:
6700                   type: string
6701               required:
6702                 - scaling-group-descriptor
6703                 - member-vnf-index
6704               additionalProperties: false
6705           required:
6706             - scaleVnfType
6707             - scaleByStepData
6708           additionalProperties: false
6709       required:
6710         - scaleType
6711         - scaleVnfData
6712       additionalProperties: false
6713     TerminateNsRequest:
6714       type: object
6715       properties:
6716         timeout_ns_terminate:
6717           description: timeout for terminate operation
6718           type: integer
6719         autoremove:
6720           description: remove network service if termination end without error
6721           type: boolean
6722         skip_terminate_primitives:
6723           description: Do not execute network service termination primitives
6724           type: boolean
6725       additionalProperties: false
6726     ArrayOfNsInstance:
6727       type: array
6728       items:
6729         $ref: '#/components/schemas/NsInstance'
6730     NSinstanceActionRequest:
6731       type: object
6732       properties:
6733         primitive:
6734           type: string
6735           description: |
6736             name of the primitive in the 'config-descriptor'. If the target is
6737             a kdu it can be also 'status', 'rollback' or 'upgrade'
6738         primitive_params:
6739           description: parameters of this primitive
6740           $ref: '#/components/schemas/KeyValuePairs'
6741         member_vnf_index:
6742           type: string
6743           description: provide if the target action is for a vnf, vdu or kdu
6744         vdu_id:
6745           type: string
6746           description: provide if the target action is for a vdu
6747         kdu_name:
6748           type: string
6749           description: provide if the target action is for a kdu
6750         vdu_count_index:
6751           type: integer
6752         timeout_ns_action:
6753           description: timeout for the day 1/2 operation
6754           type: integer
6755       required:
6756         - primitive
6757         - primitive_params
6758       additionalProperties: false
6759     # CreateNSinstanceContentRequest:
6760       # Substituted by InstantiateNsRequest
6761     CreateNSinstanceContentResponse:
6762       type: object
6763       properties:
6764         id:
6765           type: string
6766           format: uuid
6767         nslcmop_id:
6768           type: string
6769           format: uuid
6770     NsLcmOpOcc:
6771       type: object
6772       properties:
6773         _id:
6774           type: string
6775           format: uuid
6776         id:
6777           type: string
6778           format: uuid
6779         lcmOperationType:
6780           type: string
6781         nsInstanceId:
6782           type: string
6783           format: uuid
6784         isAutomaticInvocation:
6785           type: boolean
6786         isCancelPending:
6787           type: boolean
6788         startTime:
6789           type: number
6790           format: float
6791         statusEnteredTime:
6792           type: number
6793           format: float
6794         operationParams:
6795           type: object
6796           properties:
6797             nsName:
6798               type: string
6799             nsdId:
6800               type: string
6801               format: uuid
6802             vimAccountId:
6803               type: string
6804               format: uuid
6805             nsInstanceId:
6806               type: string
6807               format: uuid
6808             lcmOperationType:
6809               type: string
6810         operationState:
6811           type: string
6812         detailed-status:
6813           type: string
6814         links:
6815           type: object
6816           properties:
6817             self:
6818               type: string
6819               format: path   # uri?
6820             nsInstance:
6821               type: string
6822               format: path   # uri?
6823     ArrayOfNsLcmOpOcc:
6824       type: array
6825       items:
6826         $ref: '#/components/schemas/NsLcmOpOcc'
6827     VnfInstanceInfo:
6828       description: |
6829         VNF Instance Information
6830         Only generic fields (_id, id) are described
6831         For a full specification of the VNF Instance see:
6832         http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
6833       type: object
6834       properties:
6835         _id:
6836           type: string
6837           format: uuid
6838         id:
6839           type: string
6840           format: uuid
6841     ArrayOfVnfInstanceInfo:
6842       type: array
6843       items:
6844         $ref: '#/components/schemas/VnfInstanceInfo'
6845     NstInfo:
6846       description: |
6847         NetSlice Template Information
6848         Only generic fields (_id, id, name) are described
6849         For a full specification of the NetSlice Template see:
6850         http://osm-download.etsi.org/ftp/osm-doc/nst.html
6851       type: object
6852       properties:
6853         _id:
6854           description: NetSlice Template Identifier
6855           type: string
6856           format: uuid
6857         id:
6858           description: Human readable NetSlice Template Identifier
6859           type: string
6860         name:
6861           description: Human readable name of the NetSlice Template
6862           type: string
6863     ArrayOfNstInfo:
6864       type: array
6865       items:
6866         $ref: '#/components/schemas/NstInfo'
6867     CreateNstInfoRequest:
6868       # A free list of key:value pairs
6869       type: object
6870       additionalProperties: true
6871     NetSliceTemplate:
6872       type: string
6873       format: yaml|json
6874     NetSlicePackage:
6875       type: string
6876       format: binary
6877     NstInfoModifications:
6878       description: |
6879         NetSlice Template Information
6880         Only generic fields (id, name) are described
6881         For a full specification of the NetSlice Template see:
6882         http://osm-download.etsi.org/ftp/osm-doc/nst.html
6883       type: object
6884       properties:
6885         id:
6886           description: NST Identifier
6887           type: string
6888         name:
6889           description: NST Name
6890           type: string
6891     NetSliceInstance:
6892       description: |
6893         NetSlice Instance Information
6894         Only generic fields (_id, id, name, description) are described
6895         For a full specification of the NetSlice Instance see:
6896         http://osm-download.etsi.org/ftp/osm-doc/nsi.html
6897       type: object
6898       properties:
6899         _id:
6900           description: Identifier of the NetSlice instance.
6901           type: string
6902           format: uuid
6903         id:
6904           description: Identifier of the NetSlice instance.
6905           type: string
6906           format: uuid
6907         name:
6908           description: Human readable name of the NetSlice instance.
6909           type: string
6910         description:
6911           description: Human readable description of the NetSlice instance.
6912           type: string
6913       required:
6914         - _id
6915         - id
6916         - name
6917     ArrayOfNetSliceInstance:
6918       type: array
6919       items:
6920         $ref: '#/components/schemas/NetSliceInstance'
6921     # CreateNsiRequest:
6922       # Substituted by InstantiateNsiRequest
6923     InstantiateNsiRequest:
6924       type: object
6925       properties:
6926         nsiName:
6927           description: |
6928             Human-readable name of the NetSlice instance to be created.
6929           type: string
6930         nstId:
6931           description: |
6932             Identifier of the NST that defines the NetSlice instance to be created.
6933           type: string
6934           format: uuid
6935         vimAccountId:
6936           description: |
6937             Identifier of the VIM Account where the NetSlice instance shall be created.
6938           type: string
6939           format: uuid
6940         lcmOperationType:
6941           type: string
6942         netsliceInstanceId:
6943           type: string
6944           format: uuid
6945         nsiDescription:
6946           type: string
6947           nullable: true
6948         ssh_keys:
6949           type: string
6950         nsi_id:
6951           type: string
6952           format: uuid
6953         additionalParamsForNsi:
6954           type: object
6955           additionalProperties: true
6956         netslice-subnet:
6957           type: array
6958           items:
6959             type: object
6960             properties:
6961               id:
6962                 type: string
6963               nsName:
6964                 type: string
6965               nsdId:
6966                 type: string
6967                 format: uuid
6968               vimAccountId:
6969                 type: string
6970                 format: uuid
6971               lcmOperationType:
6972                 type: string
6973               nsInstanceId:
6974                 type: string
6975                 format: uuid
6976               netsliceInstanceId:
6977                 type: string
6978                 format: uuid
6979               nsDescription:
6980                 type: string
6981                 nullable: true
6982               wimAccountId:
6983                 oneOf:
6984                   - type: string
6985                   - type: boolean
6986                 nullable: true
6987               additionalParamsForNs:
6988                 type: object
6989                 additionalProperties: true
6990               additionalParamsForVnf: *additionalparamsforvnf
6991               ssh_keys:
6992                 type: array
6993                 items:
6994                   type: string
6995               nsr_id:
6996                 type: string
6997                 format: uuid
6998               vduImage:
6999                 type: string
7000               vnf:
7001                 type: array
7002                 items:
7003                   type: object
7004                   properties:
7005                     member-vnf-index:
7006                       type: string
7007                     vimAccountId:
7008                       type: string
7009                       format: uuid
7010                     vdu:
7011                       type: array
7012                       items:
7013                         type: object
7014                         properties:
7015                           id:
7016                             type: string
7017                           volume:
7018                             type: array
7019                             items:
7020                               type: object
7021                               properties:
7022                                 name:
7023                                   type: string
7024                                 vim-volume-id:
7025                                   type: string
7026                               required:
7027                                 - name
7028                                 - vim-volume-id
7029                               additionalProperties: false
7030                             minItems: 1
7031                           interface:
7032                             type: array
7033                             items:
7034                               type: object
7035                               properties:
7036                                 name:
7037                                   type: string
7038                                 ip-address:
7039                                   type: string
7040                                   format: ipv4
7041                                 mac-address:
7042                                   type: string
7043                                   format: mac_address
7044                                 floating-ip-required:
7045                                   type: boolean
7046                               required:
7047                                 - name
7048                               additionalProperties: false
7049                             minItems: 1
7050                         required:
7051                           - id
7052                         additionalProperties: false
7053                       minItems: 1
7054                     internal-vld:
7055                       type: array
7056                       items:
7057                         type: object
7058                         properties:
7059                           name:
7060                             type: string
7061                           vim-network-name:
7062                             type: string
7063                           vim-network-id:
7064                             type: string
7065                           ip-profile:
7066                             type: object
7067                             properties:
7068                               ip-version:
7069                                 type: string
7070                                 enum:
7071                                   - ipv4
7072                                   - ipv6
7073                               subnet-address:
7074                                 type: string
7075                                 format: ip_prefix
7076                                 nullable: true
7077                               gateway-address:
7078                                 type: string
7079                                 format: ipv4
7080                                 nullable: true
7081                               dns-server:
7082                                 type: array
7083                                 items:
7084                                   type: object
7085                                   properties:
7086                                     address:
7087                                       type: string
7088                                       format: ipv4
7089                                   required:
7090                                     - address
7091                                   additionalProperties: false
7092                                 minItems: 1
7093                                 nullable: true
7094                               dhcp-params:
7095                                 type: object
7096                                 properties:
7097                                   enabled:
7098                                     type: boolean
7099                                   count:
7100                                     type: integer
7101                                     minimum: 1
7102                                   start-address:
7103                                     type: string
7104                                     format: ipv4
7105                                 additionalProperties: false
7106                                 nullable: true
7107                             additionalProperties: false
7108                           provider-network:
7109                             type: object
7110                             properties:
7111                               physical-network:
7112                                 type: string
7113                               segmentation-id:
7114                                 type: string
7115                             additionalProperties: false
7116                           internal-connection-point:
7117                             type: array
7118                             items:
7119                               type: object
7120                               properties:
7121                                 id-ref:
7122                                   type: string
7123                                 ip-address:
7124                                   type: string
7125                                   format: ipv4
7126                               required:
7127                                 - id-ref
7128                               minProperties: 2
7129                               additionalProperties: False
7130                             minItems: 1
7131                         required:
7132                           - name
7133                         minProperties: 2
7134                         additionalProperties: false
7135                       minItems: 1
7136                   required:
7137                     - member-vnf-index
7138                   minProperties: 2
7139                   additionalProperties: false
7140                 minItems: 1
7141               vld:
7142                 type: array
7143                 items:
7144                   type: object
7145                   properties:
7146                     name:
7147                       type: string
7148                     vim-network-name:
7149                       oneOf:
7150                         - type: string
7151                         - type: object
7152                     vim-network-id:
7153                       oneOf:
7154                         - type: string
7155                         - type: object
7156                     ns-net:
7157                       type: object
7158                       additionalProperties: true
7159                     wimAccountId:
7160                       oneOf:
7161                         - type: string
7162                         - type: boolean
7163                       nullable: true
7164                     ip-profile:
7165                       type: object
7166                       additionalProperties: true
7167                     provider-network:
7168                       type: object
7169                       properties:
7170                         physical-network:
7171                           type: string
7172                         segmentation-id:
7173                           type: string
7174                       additionalProperties: false
7175                     vnfd-connection-point-ref:
7176                       type: array
7177                       items:
7178                         type: object
7179                         properties:
7180                           member-vnf-index-ref:
7181                             type: string
7182                           vnfd-connection-point-ref:
7183                             type: string
7184                           ip-address:
7185                             type: string
7186                             format: ipv4
7187                         required:
7188                           - member-vnf-index-ref
7189                           - vnfd-connection-point-ref
7190                         minProperties: 3
7191                         additionalProperties: false
7192                       minItems: 1
7193                   required:
7194                     - name
7195                   additionalProperties: false
7196                 minItems: 1
7197             additionalProperties: false
7198           minItems: 1
7199         netslice-vld:
7200           type: array
7201           items:
7202             type: object
7203             properties:
7204               name:
7205                 type: string
7206               vim-network-name:
7207                 oneOf:
7208                   - type: string
7209                   - type: object
7210               vim-network-id:
7211                 oneOf:
7212                   - type: string
7213                   - type: object
7214               ip-profile:
7215                 type: object
7216                 additionalProperties: true
7217             required:
7218               - name
7219             additionalProperties: false
7220           minItems: 1
7221       required:
7222         - nsiName
7223         - nstId
7224         - vimAccountId
7225       additionalProperties: false
7226     TerminateNsiRequest:
7227       type: object
7228       properties:
7229         terminationTime:
7230           description: |
7231             Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
7232             automatically at this timestamp. Cardinality "0" indicates the NSI termination
7233             takes place immediately.
7234           type: string
7235           format: date-time
7236     NsiActionRequest:
7237       type: object
7238       properties:
7239         primitive:
7240           type: string
7241         primitive_params:
7242           $ref: '#/components/schemas/KeyValuePairs'
7243         lcmOperationType:
7244           type: string
7245         netsliceInstanceId:
7246           type: string
7247           format: uuid
7248       required:
7249         - primitive
7250         - primitive_params
7251     # CreateNsiContentRequest:
7252       # Substituted by InstantiateNsiRequest
7253     CreateNsiContentResponse:
7254       type: object
7255       properties:
7256         id:
7257           type: string
7258           format: uuid
7259         nsilcmop_id:
7260           type: string
7261           format: uuid
7262     NsiLcmOpOcc:
7263       type: object
7264       properties:
7265         _id:
7266           type: string
7267           format: uuid
7268         id:
7269           type: string
7270           format: uuid
7271         lcmOperationType:
7272           type: string
7273         netsliceInstanceId:
7274           type: string
7275           format: uuid
7276         isAutomaticInvocation:
7277           type: boolean
7278         isCancelPending:
7279           type: boolean
7280         startTime:
7281           type: number
7282           format: float
7283         statusEnteredTime:
7284           type: number
7285           format: float
7286         operationParams:
7287           type: object
7288           properties:
7289             nsiName:
7290               type: string
7291             nstId:
7292               type: string
7293               format: uuid
7294             vimAccountId:
7295               type: string
7296               format: uuid
7297             netsliceInstanceId:
7298               type: string
7299               format: uuid
7300             lcmOperationType:
7301               type: string
7302             nslcmops_ids:
7303               type: array
7304               items:
7305                 type: string
7306                 format: uuid
7307         operationState:
7308           type: string
7309         detailed-status:
7310           type: string
7311         links:
7312           type: object
7313           properties:
7314             self:
7315               type: string
7316               format: path   # uri?
7317             netsliceInstanceId:
7318               type: string
7319               format: path   # uri?
7320     ArrayOfNsiLcmOpOcc:
7321       type: array
7322       items:
7323         $ref: '#/components/schemas/NsiLcmOpOcc'
7324     TokenInfo:
7325       type: object
7326       properties:
7327         _id:
7328           type: string
7329         id:
7330           type: string
7331         admin:
7332           type: boolean
7333         project_id:
7334           type: string
7335           format: uuid
7336         user_id:
7337           type: string
7338           format: uuid
7339         project_name:
7340           type: string
7341         username:
7342           type: string
7343         issued_at:
7344           type: number
7345           format: float
7346         expires:
7347           type: number
7348           format: float
7349         remote_host:
7350           type: string
7351           format: ipv4
7352         remote_port:
7353           type: integer
7354         roles:
7355           type: array
7356           items:
7357             type: object
7358             properties:
7359               id:
7360                 type: string
7361                 format: uuid
7362               name:
7363                 type: string
7364     ArrayOfTokenInfo:
7365       type: array
7366       items:
7367         $ref: '#/components/schemas/TokenInfo'
7368     CreateTokenRequest:
7369       type: object
7370       properties:
7371         username:
7372           type: string
7373         password:
7374           type: string
7375         project_id:
7376           type: string
7377       required:
7378         - username
7379         - password
7380     UserInfo:
7381       type: object
7382       properties:
7383         _id:
7384           type: string
7385           format: uuid
7386         username:
7387           type: string
7388         password:
7389           type: string
7390         project_role_mappings:
7391           type: array
7392           items:
7393             type: object
7394             properties:
7395               project:
7396                 type: string
7397                 format: uuid
7398               role:
7399                 type: string
7400                 format: uuid
7401               project_name:
7402                 type: string
7403               role_name:
7404                 type: string
7405         projects:
7406           type: array
7407           items:
7408             type: string
7409     ArrayOfUserInfo:
7410       type: array
7411       items:
7412         $ref: '#/components/schemas/UserInfo'
7413     ProjectRoleMappings:
7414       type: array
7415       items:
7416         type: object
7417         properties:
7418           project:
7419             type: string
7420           role:
7421             type: string
7422       required:
7423         - project
7424         - role
7425       additionalProperties: false
7426     ProjectRoleMappingsOpt:
7427       type: array
7428       items:
7429         type: object
7430         properties:
7431           project:
7432             type: string
7433           role:
7434             type: string
7435       required:
7436         - project
7437       additionalProperties: false
7438     CreateUserRequest:
7439       type: object
7440       properties:
7441         username:
7442           type: string
7443         password:
7444           type: string
7445         projects:
7446           type: array
7447           items:
7448             type: string
7449         project_role_mappings:
7450           $ref: '#/components/schemas/ProjectRoleMappings'
7451       required:
7452         - username
7453         - password
7454       additionalProperties: false
7455     ShortNameList:
7456       type: array
7457       items:
7458         type: string
7459     ArrayEditionSchema:
7460       type: object
7461       additionalProperties: true
7462       minProperties: 1
7463       description: |
7464         Array edition keys must start with '$'
7465         and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
7466     EditUserRequest:
7467       type: object
7468       properties:
7469         username:
7470           type: string
7471         password:
7472           type: string
7473         projects:
7474           oneOf:
7475             - $ref: '#/components/schemas/ShortNameList'
7476             - $ref: '#/components/schemas/ArrayEditionSchema'
7477         project_role_mappings:
7478           $ref: '#/components/schemas/ProjectRoleMappings'
7479         add_project_role_mappings:
7480           $ref: '#/components/schemas/ProjectRoleMappings'
7481         remove_project_role_mappings:
7482           $ref: '#/components/schemas/ProjectRoleMappingsOpt'
7483     QuotasInfo:
7484       type: object
7485       properties:
7486         vnfds:
7487           type: integer
7488           minimum: 0
7489           nullable: false
7490         nsds:
7491           type: integer
7492           minimum: 0
7493           nullable: false
7494         slice_templates:
7495           type: integer
7496           minimum: 0
7497           nullable: false
7498         pduds:
7499           type: integer
7500           minimum: 0
7501           nullable: false
7502         ns_instances:
7503           type: integer
7504           minimum: 0
7505           nullable: false
7506         slice_instances:
7507           type: integer
7508           minimum: 0
7509           nullable: false
7510         vim_accounts:
7511           type: integer
7512           minimum: 0
7513           nullable: false
7514         wim_accounts:
7515           type: integer
7516           minimum: 0
7517           nullable: false
7518         sdn_controllers:
7519           type: integer
7520           minimum: 0
7521           nullable: false
7522         k8sclusters:
7523           type: integer
7524           minimum: 0
7525           nullable: false
7526         vca:
7527           type: integer
7528           minimum: 0
7529           nullable: false
7530         k8srepos:
7531           type: integer
7532           minimum: 0
7533           nullable: false
7534         osmrepos:
7535           type: integer
7536           minimum: 0
7537           nullable: false
7538       additionalProperties: false
7539     EditQuotasInfo:
7540       type: object
7541       properties:
7542         vnfds:
7543           type: integer
7544           minimum: 0
7545           nullable: true
7546         nsds:
7547           type: integer
7548           minimum: 0
7549           nullable: true
7550         slice_templates:
7551           type: integer
7552           minimum: 0
7553           nullable: true
7554         pduds:
7555           type: integer
7556           minimum: 0
7557           nullable: true
7558         ns_instances:
7559           type: integer
7560           minimum: 0
7561           nullable: true
7562         slice_instances:
7563           type: integer
7564           minimum: 0
7565           nullable: true
7566         vim_accounts:
7567           type: integer
7568           minimum: 0
7569           nullable: true
7570         wim_accounts:
7571           type: integer
7572           minimum: 0
7573           nullable: true
7574         sdn_controllers:
7575           type: integer
7576           minimum: 0
7577           nullable: true
7578         k8sclusters:
7579           type: integer
7580           minimum: 0
7581           nullable: true
7582         vca:
7583           type: integer
7584           minimum: 0
7585           nullable: true
7586         k8srepos:
7587           type: integer
7588           minimum: 0
7589           nullable: true
7590         osmrepos:
7591           type: integer
7592           minimum: 0
7593           nullable: true
7594       additionalProperties: false
7595     ProjectInfo:
7596       type: object
7597       properties:
7598         _id:
7599           type: string
7600           format: uuid
7601         name:
7602           type: string
7603         quotas:
7604           $ref: '#/components/schemas/QuotasInfo'
7605     ArrayOfProjectInfo:
7606       type: array
7607       items:
7608         $ref: '#/components/schemas/ProjectInfo'
7609     CreateProjectRequest:
7610       type: object
7611       properties:
7612         name:
7613           type: string
7614         admin:
7615           type: boolean
7616         quotas:
7617           $ref: '#/components/schemas/QuotasInfo'
7618       required:
7619         - name
7620       additionalProperties: false
7621     EditProjectRequest:
7622       type: object
7623       properties:
7624         name:
7625           type: string
7626         admin:
7627           type: boolean
7628         quotas:
7629           $ref: '#/components/schemas/EditQuotasInfo'
7630       additionalProperties: false
7631     PermissionsInfo:
7632       type: object
7633       additionalProperties:
7634         type: boolean
7635         nullable: false
7636       description: |
7637         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7638         Permission values are either true or false
7639     EditPermissionsInfo:
7640       type: object
7641       additionalProperties:
7642         type: boolean
7643         nullable: true
7644       description: |
7645         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7646         Permission values are either true, false, or null
7647     RoleInfo:
7648       type: object
7649       properties:
7650         _id:
7651           type: string
7652           format: uuid
7653         name:
7654           type: string
7655         permissions:
7656           $ref: '#/components/schemas/PermissionsInfo'
7657     ArrayOfRoleInfo:
7658       type: array
7659       items:
7660         $ref: '#/components/schemas/RoleInfo'
7661     CreateRoleRequest:
7662       type: object
7663       properties:
7664         name:
7665           type: string
7666         permissions:
7667           $ref: '#/components/schemas/PermissionsInfo'
7668       required:
7669         - name
7670       additionalProperties: false
7671     EditRoleRequest:
7672       type: object
7673       properties:
7674         name:
7675           type: string
7676         permissions:
7677           $ref: '#/components/schemas/EditPermissionsInfo'
7678       additionalProperties: false
7679     VimType:
7680       type: string
7681       enum:
7682         - openvim
7683         - openstack
7684         - vmware
7685         - opennebula
7686         - aws
7687         - azure
7688         - fos
7689     VimInfo:
7690       type: object
7691       properties:
7692         _id:
7693           type: string
7694           format: uuid
7695         schema_version:
7696           type: string
7697           format: X.Y[.Z]
7698         schema_type:
7699           type: string
7700         name:
7701           type: string
7702         description:
7703           type: string
7704         vim:
7705           type: string
7706         datacenter:
7707           type: string
7708         vim_type:
7709           $ref: '#/components/schemas/VimType'
7710         vim_url:
7711           type: string
7712           format: uri
7713         vim_tenant_name:
7714           type: string
7715         vim_user:
7716           type: string
7717         vim_password:
7718           type: string
7719         vca:
7720           type: string
7721           format: uuid
7722         config:
7723           type: object
7724           additionalProperties: true
7725     ArrayOfVimInfo:
7726       type: array
7727       items:
7728         $ref: '#/components/schemas/VimInfo'
7729     CreateVimRequest:
7730       type: object
7731       properties:
7732         schema_version:
7733           type: string
7734           format: X.Y[.Z]
7735         schema_type:
7736           type: string
7737         name:
7738           type: string
7739         description:
7740           type: string
7741         vim:
7742           type: string
7743         datacenter:
7744           type: string
7745         vim_type:
7746           $ref: '#/components/schemas/VimType'
7747         vim_url:
7748           type: string
7749           format: uri
7750         vim_tenant_name:
7751           type: string
7752         vim_user:
7753           type: string
7754         vim_password:
7755           type: string
7756         vca:
7757           type: string
7758           format: uuid
7759         config:
7760           type: object
7761           additionalProperties: true
7762       required:
7763         - name
7764         - vim_url
7765         - vim_type
7766         - vim_user
7767         - vim_password
7768         - vim_tenant_name
7769       additionalProperties: false
7770     EditVimRequest:
7771       type: object
7772       properties:
7773         name:
7774           type: string
7775         description:
7776           type: string
7777         vim:
7778           type: string
7779         datacenter:
7780           type: string
7781         vim_type:
7782           $ref: '#/components/schemas/VimType'
7783         vim_url:
7784           type: string
7785           format: uri
7786         vim_tenant_name:
7787           type: string
7788         vim_user:
7789           type: string
7790         vim_password:
7791           type: string
7792         vca:
7793           type: string
7794           format: uuid
7795         config:
7796           type: object
7797           additionalProperties: true
7798       additionalProperties: false
7799     ObjectId_plus_OpId:
7800       type: object
7801       properties:
7802         id:
7803           type: string
7804           format: uuid
7805         op_id:
7806           type: string
7807           format: uuid
7808     OpId:
7809       type: object
7810       properties:
7811         op_id:
7812           type: string
7813           format: uuid
7814     WimType:
7815       type: string
7816       enum:
7817         - onos
7818         - odl
7819         - tapi
7820         - dynpac
7821         - fake
7822     WimInfo:
7823       type: object
7824       properties:
7825         _id:
7826           type: string
7827           format: uuid
7828         schema_version:
7829           type: string
7830           format: X.Y[.Z]
7831         schema_type:
7832           type: string
7833         name:
7834           type: string
7835         description:
7836           type: string
7837         wim:
7838           type: string
7839         wim_type:
7840           $ref: '#/components/schemas/WimType'
7841         wim_url:
7842           type: string
7843           format: uri
7844         user:
7845           type: string
7846         password:
7847           type: string
7848         config:
7849           type: object
7850           additionalProperties: true
7851     ArrayOfWimInfo:
7852       type: array
7853       items:
7854         $ref: '#/components/schemas/WimInfo'
7855     CreateWimRequest:
7856       type: object
7857       properties:
7858         schema_version:
7859           type: string
7860           format: X.Y[.Z]
7861         schema_type:
7862           type: string
7863         name:
7864           type: string
7865         description:
7866           type: string
7867         wim:
7868           type: string
7869         wim_type:
7870           $ref: '#/components/schemas/WimType'
7871         wim_url:
7872           type: string
7873           format: uri
7874         user:
7875           type: string
7876         password:
7877           type: string
7878         config:
7879           type: object
7880           additionalProperties: true
7881       required:
7882         - name
7883         - wim_url
7884         - wim_type
7885       additionalProperties: false
7886     EditWimRequest:
7887       type: object
7888       properties:
7889         name:
7890           type: string
7891         description:
7892           type: string
7893         wim:
7894           type: string
7895         wim_type:
7896           type: string
7897         wim_url:
7898           type: string
7899           format: uri
7900         user:
7901           type: string
7902         password:
7903           type: string
7904         config:
7905           type: object
7906           additionalProperties: true
7907       additionalProperties: false
7908     SdnBasicProperties:
7909       type: object
7910       properties:
7911         name:
7912           type: string
7913         description:
7914           type: string
7915         dpid:
7916           type: string
7917           format: mac_address
7918         ip:
7919           type: string
7920           format: ipv4
7921         port:
7922           type: integer
7923         type:
7924           type: string
7925           enum:
7926             - floodlight
7927             - opendaylight
7928             - onos
7929         version:
7930           type: string
7931         user:
7932           type: string
7933         password:
7934           type: string
7935     SdnExtraProperties:
7936       type: object
7937       properties:
7938         _id:
7939           type: string
7940           format: uuid
7941         schema_version:
7942           type: string
7943           format: X.Y[.Z]
7944     SdnInfo:
7945       allOf:
7946         - $ref: '#/components/schemas/SdnExtraProperties'
7947         - $ref: '#/components/schemas/SdnBasicProperties'
7948     ArrayOfSdnInfo:
7949       type: array
7950       items:
7951         $ref: '#/components/schemas/SdnInfo'
7952     CreateSdnRequest:
7953       allOf:
7954         - $ref: '#/components/schemas/SdnBasicProperties'
7955       required:
7956         - name
7957         - type
7958         - ip
7959         - port
7960         - dpid
7961       additionalProperties: false
7962     EditSdnRequest:
7963       allOf:
7964         - $ref: '#/components/schemas/SdnBasicProperties'
7965       additionalProperties: false
7966     NsPmJobReportInfo:
7967       type: object
7968       properties:
7969         entries:
7970           type: array
7971           items:
7972             type: object
7973             properties:
7974               objectInstanceId:
7975                 type: string
7976                 format: uuid
7977               performanceMetric:
7978                 type: string
7979               performanceValue:
7980                 type: object
7981                 properties:
7982                   performanceValue:
7983                     type: object
7984                     properties:
7985                       performanceValue:
7986                         type: number
7987                       vnfMemberIndex:
7988                         type: string
7989                       vduName:
7990                         type: string
7991                   timestamp:
7992                     type: number
7993     PduInterfaces:
7994       type: array
7995       items:
7996         type: object
7997         properties:
7998           name:
7999             type: string
8000           mgmt:
8001             type: boolean
8002           type:
8003             type: string
8004             enum:
8005               - overlay
8006               - underlay
8007           ip-address:
8008             type: string
8009             format: ipv4
8010           mac-address:
8011             type: string
8012             format: mac_address
8013           vim-network-name:
8014             type: string
8015           vim-network-id:
8016             type: string
8017         required:
8018           - name
8019           - mgmt
8020           - ip-address
8021         additionalProperties: false
8022     PduInfo:
8023       type: object
8024       properties:
8025         _id:
8026           type: string
8027           format: uuid
8028         name:
8029           type: string
8030         type:
8031           type: string
8032         description:
8033           type: string
8034         shared:
8035           type: boolean
8036         vims:
8037           type: array
8038           items:
8039             type: string
8040         vim_accounts:
8041           type: array
8042           items:
8043             type: string
8044         interfaces:
8045           $ref: '#/components/schemas/PduInterfaces'
8046     ArrayOfPduInfo:
8047       type: array
8048       items:
8049         $ref: '#/components/schemas/PduInfo'
8050     CreatePduRequest:
8051       type: object
8052       properties:
8053         name:
8054           type: string
8055         type:
8056           type: string
8057         description:
8058           type: string
8059         shared:
8060           type: boolean
8061         vims:
8062           type: array
8063           items:
8064             type: string
8065         vim_accounts:
8066           type: array
8067           items:
8068             type: string
8069         interfaces:
8070           $ref: '#/components/schemas/PduInterfaces'
8071       required:
8072         - name
8073         - type
8074         - interfaces
8075       additionalProperties: false
8076     EditPduRequest:
8077       type: object
8078       properties:
8079         name:
8080           type: string
8081         type:
8082           type: string
8083         description:
8084           type: string
8085         shared:
8086           type: boolean
8087         vims:
8088           type: array
8089           items:
8090             type: string
8091         vim_accounts:
8092           type: array
8093           items:
8094             type: string
8095         interfaces:
8096           $ref: '#/components/schemas/PduInterfaces'
8097       additionalProperties: false
8098     K8sClusterNetList:
8099       type: array
8100       items:
8101         type: object
8102         additionalProperties: true
8103     K8sClusterInfo:
8104       type: object
8105       properties:
8106         _id:
8107           type: string
8108           format: uuid
8109         schema_version:
8110           type: string
8111           format: X.Y[.Z]
8112         schema_type:
8113           type: string
8114         name:
8115           type: string
8116         description:
8117           type: string
8118         credentials:
8119           type: object
8120           additionalProperties: true
8121         vim_account:
8122           type: string
8123           format: uuid
8124         k8s_version:
8125           type: string
8126         nets:
8127           $ref: '#/components/schemas/K8sClusterNetList'
8128         namespace:
8129           type: string
8130         cni:
8131           type: array
8132           items:
8133             type: string
8134     ArrayOfK8sClusterInfo:
8135       type: array
8136       items:
8137         $ref: '#/components/schemas/K8sClusterInfo'
8138     CreateK8sClusterRequest:
8139       type: object
8140       properties:
8141         schema_version:
8142           type: string
8143           format: X.Y[.Z]
8144         schema_type:
8145           type: string
8146         name:
8147           type: string
8148         description:
8149           type: string
8150         credentials:
8151           type: object
8152           additionalProperties: true
8153         vim_account:
8154           type: string
8155           format: uuid
8156         k8s_version:
8157           type: string
8158         nets:
8159           $ref: '#/components/schemas/K8sClusterNetList'
8160         namespace:
8161           type: string
8162         cni:
8163           type: array
8164           items:
8165             type: string
8166       required:
8167         - name
8168         - credentials
8169         - vim_account
8170         - k8s_version
8171         - nets
8172       additionalProperties: false
8173     EditK8sClusterRequest:
8174       type: object
8175       properties:
8176         name:
8177           type: string
8178         description:
8179           type: string
8180         credentials:
8181           type: object
8182           additionalProperties: true
8183         vim_account:
8184           type: string
8185           format: uuid
8186         k8s_version:
8187           type: string
8188         nets:
8189           $ref: '#/components/schemas/K8sClusterNetList'
8190         namespace:
8191           type: string
8192         cni:
8193           type: array
8194           items:
8195             type: string
8196       additionalProperties: false
8197     VcaInfo:
8198       type: object
8199       properties:
8200         _id:
8201           type: string
8202           format: uuid
8203         schema_version:
8204           type: string
8205           format: X.Y[.Z]
8206         schema_type:
8207           type: string
8208         name:
8209           type: string
8210         description:
8211           type: string
8212         endpoints:
8213           type: string
8214         user:
8215           type: string
8216         secret:
8217           type: string
8218         cacert:
8219           type: string
8220         lxd-cloud:
8221           type: string
8222         lxd-credentials:
8223           type: string
8224         k8s-cloud:
8225           type: string
8226         k8s-credentials:
8227           type: string
8228         model-config:
8229           type: object
8230           additionalProperties: true
8231     ArrayOfVcaInfo:
8232       type: array
8233       items:
8234         $ref: '#/components/schemas/VcaInfo'
8235     CreateVcaRequest:
8236       type: object
8237       properties:
8238         schema_version:
8239           type: string
8240           format: X.Y[.Z]
8241         schema_type:
8242           type: string
8243         name:
8244           type: string
8245         description:
8246           type: string
8247         endpoints:
8248           type: string
8249         user:
8250           type: string
8251         secret:
8252           type: string
8253         cacert:
8254           type: string
8255         lxd-cloud:
8256           type: string
8257         lxd-credentials:
8258           type: string
8259         k8s-cloud:
8260           type: string
8261         k8s-credentials:
8262           type: string
8263         model-config:
8264           type: object
8265           additionalProperties: true
8266       required:
8267         - name
8268         - endpoints
8269         - user
8270         - secret
8271         - cacert
8272         - lxd-cloud
8273         - lxd-credentials
8274         - k8s-cloud
8275         - k8s-credentials
8276       additionalProperties: false
8277     EditVcaRequest:
8278       type: object
8279       properties:
8280         name:
8281           type: string
8282         description:
8283           type: string
8284         endpoints:
8285           type: string
8286         user:
8287           type: string
8288         secret:
8289           type: string
8290         cacert:
8291           type: string
8292         lxd-cloud:
8293           type: string
8294         lxd-credentials:
8295           type: string
8296         k8s-cloud:
8297           type: string
8298         k8s-credentials:
8299           type: string
8300         model-config:
8301           type: object
8302           additionalProperties: true
8303       additionalProperties: false
8304     K8sRepoType:
8305       type: string
8306       enum:
8307         - chart
8308         - bundle
8309     K8sRepoInfo:
8310       type: object
8311       properties:
8312         _id:
8313           type: string
8314           format: uuid
8315         name:
8316           type: string
8317         description:
8318           type: string
8319         type:
8320           $ref: '#/components/schemas/K8sRepoType'
8321         url:
8322           type: string
8323           format: uri
8324     ArrayOfK8sRepoInfo:
8325       type: array
8326       items:
8327         $ref: '#/components/schemas/K8sRepoInfo'
8328     CreateK8sRepoRequest:
8329       type: object
8330       properties:
8331         name:
8332           type: string
8333         description:
8334           type: string
8335         type:
8336           $ref: '#/components/schemas/K8sRepoType'
8337         url:
8338           type: string
8339           format: uri
8340       required:
8341         - name
8342         - type
8343         - url
8344       additionalProperties: false
8345     NslcmSubscriptionResponse:
8346       type: object
8347       properties:
8348         id:
8349           type: string
8350           format: uuid
8351         filter:
8352           type: object
8353         CallbackUri:
8354           type: string
8355           format: uri
8356         _links:
8357           type: object
8358     NslcmSubscriptionInfo:
8359       type: object
8360       properties:
8361         _id:
8362           type: string
8363           format: uuid
8364         _admin:
8365           type: object
8366         schema_version:
8367           type: string
8368           format: 'X.Y[.Z]'
8369         CallbackUri:
8370           type: string
8371           format: uri
8372         filter:
8373           type: object
8374         authentication:
8375           $ref: '#/components/schemas/Authenticationschema'
8376     ArrayOfNslcmSubscriptionInfo:
8377       type: array
8378       items:
8379         $ref: '#/components/schemas/NslcmSubscriptionInfo'
8380     NsInstanceSubscriptionFilter:
8381       description: |
8382         used to identify the network service
8383       type: object
8384       oneOf:
8385         - $ref: '#/components/schemas/nsdIds'
8386         - $ref: '#/components/schemas/vnfdIds'
8387         - $ref: '#/components/schemas/pnfdIds'
8388         - $ref: '#/components/schemas/nsInstanceIds'
8389         - $ref: '#/components/schemas/nsInstanceNames'
8390     nsdIds:
8391       type: array
8392       items:
8393         type: string
8394     vnfdIds:
8395       type: array
8396       items:
8397         type: string
8398     pnfdIds:
8399       type: array
8400       items:
8401         type: string
8402     nsInstanceIds:
8403       type: array
8404       items:
8405         type: string
8406     nsInstanceNames:
8407       type: array
8408       items:
8409         type: string
8410     Nslcmsubschema:
8411       type: object
8412       properties:
8413         nsInstanceSubscriptionFilter:
8414            $ref: '#/components/schemas/NsInstanceSubscriptionFilter'
8415         notificationTypes:
8416           description: |
8417             If NsLcmOperationOccurrenceNotification is selected then at least operationTypes or states is required. If NsLcmOperationOccurrenceNotification is selected then at least nsComponentTypes, lcmOpName and lcmOpOccStatus is required
8418           type: array
8419           items:
8420             type: string
8421             enum:
8422               - NsIdentifierCreationNotification
8423               - NsIdentifierDeletionNotification
8424               - NsLcmOperationOccurrenceNotification
8425               - NsChangeNotification
8426         operationTypes:
8427           type: array
8428           items:
8429             type: string
8430             enum:
8431               - INSTANTIATE
8432               - SCALE
8433               - TERMINATE
8434               - UPDATE
8435               - HEAL
8436         operationStates:
8437           type: array
8438           items:
8439             type: string
8440             enum:
8441               - PROCESSING
8442               - COMPLETED
8443               - PARTIALLY_COMPLETED
8444               - FAILED
8445               - FAILED_TEMP
8446               - ROLLING_BACK
8447               - ROLLED_BACK
8448         nsComponentTypes:
8449           type: array
8450           items:
8451             type: string
8452             enum:
8453               - VNF
8454               - NS
8455               - PNF
8456         lcmOpNameImpactingNsComponent:
8457           type: array
8458           items:
8459             type: string
8460             enum:
8461               - VNF_INSTANTIATE
8462               - VNF_SCALE
8463               - VNF_SCALE_TO_LEVEL
8464               - VNF_CHANGE_FLAVOUR
8465               - VNF_TERMINATE
8466               - VNF_HEAL
8467               - VNF_OPERATE
8468               - VNF_CHANGE_EXT_CONN
8469               - VNF_MODIFY_INFO
8470               - NS_INSTANTIATE
8471               - NS_SCALE
8472               - NS_UPDATE
8473               - NS_TERMINATE
8474               - NS_HEAL
8475         lcmOpOccStatusImpactingNsComponent:
8476           type: array
8477           items:
8478             type: string
8479             enum:
8480               - START
8481               - COMPLETED
8482               - PARTIALLY_COMPLETED
8483               - FAILED
8484               - ROLLED_BACK
8485     Authenticationschema:
8486       type: object
8487       properties:
8488         authType:
8489           type: string
8490           enum:
8491             - basic
8492         paramsBasic:
8493           type: object
8494           properties:
8495             userName:
8496               type: string
8497             password:
8498               type: string
8499     NslcmSubscriptionRequest:
8500       type: object
8501       properties:
8502         filter:
8503           $ref: '#/components/schemas/Nslcmsubschema'
8504         CallbackUri:
8505           type: string
8506           format: uri
8507         authentication:
8508           $ref: '#/components/schemas/Authenticationschema'
8509       required:
8510         - CallbackUri
8511   # END SCHEMAS
8512
8513   requestBodies:
8514     CreateNsdInfoRequest:
8515       content:
8516         application/json:
8517           schema:
8518             $ref: '#/components/schemas/CreateNsdInfoRequest'
8519         application/yaml:
8520           schema:
8521             $ref: '#/components/schemas/CreateNsdInfoRequest'
8522     NsdInfoModifications:
8523       content:
8524         application/json:
8525           schema:
8526             $ref: '#/components/schemas/NsdInfoModifications'
8527         application/yaml:
8528           schema:
8529             $ref: '#/components/schemas/NsdInfoModifications'
8530     NsDescriptor:
8531       content:
8532         text/plain:
8533           schema:
8534             $ref: '#/components/schemas/NsDescriptor'
8535     NsPackage:
8536       content:
8537         application/zip:
8538           schema:
8539             $ref: '#/components/schemas/NsPackage'
8540     CreateVnfPkgInfoRequest:
8541       content:
8542         application/json:
8543           schema:
8544             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
8545         application/yaml:
8546           schema:
8547             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
8548     VnfPkgInfoModifications:
8549       content:
8550         application/json:
8551           schema:
8552             $ref: '#/components/schemas/VnfPkgInfoModifications'
8553         application/yaml:
8554           schema:
8555             $ref: '#/components/schemas/VnfPkgInfoModifications'
8556     VnfPackage:
8557       content:
8558         application/zip:
8559           schema:
8560             $ref: '#/components/schemas/VnfPackage'
8561     VnfDescriptor:
8562       content:
8563         text/plain:
8564           schema:
8565             $ref: '#/components/schemas/VnfDescriptor'
8566     # CreateNsRequest:
8567       # Substituted by InstantiateNsRequest
8568     InstantiateNsRequest:
8569       content:
8570         application/json:
8571           schema:
8572             $ref: '#/components/schemas/InstantiateNsRequest'
8573         application/yaml:
8574           schema:
8575             $ref: '#/components/schemas/InstantiateNsRequest'
8576     ScaleNsRequest:
8577       content:
8578         application/json:
8579           schema:
8580             $ref: '#/components/schemas/ScaleNsRequest'
8581         application/yaml:
8582           schema:
8583             $ref: '#/components/schemas/ScaleNsRequest'
8584     TerminateNsRequest:
8585       content:
8586         application/json:
8587           schema:
8588             $ref: '#/components/schemas/TerminateNsRequest'
8589         application/yaml:
8590           schema:
8591             $ref: '#/components/schemas/TerminateNsRequest'
8592     # CreateNSinstanceContentRequest:
8593       # Substituted by InstantiateNsRequest
8594     CreateNstInfoRequest:
8595       content:
8596         application/json:
8597           schema:
8598             $ref: '#/components/schemas/CreateNstInfoRequest'
8599         application/yaml:
8600           schema:
8601             $ref: '#/components/schemas/CreateNstInfoRequest'
8602     NetSliceTemplate:
8603       content:
8604         text/plain:
8605           schema:
8606             $ref: '#/components/schemas/NetSliceTemplate'
8607     NetSlicePackage:
8608       content:
8609         application/zip:
8610           schema:
8611             $ref: '#/components/schemas/NetSlicePackage'
8612     NstInfoModifications:
8613       content:
8614         application/json:
8615           schema:
8616             $ref: '#/components/schemas/NstInfoModifications'
8617         application/yaml:
8618           schema:
8619             $ref: '#/components/schemas/NstInfoModifications'
8620     # CreateNsiRequest:
8621       # Substituted by InstantiateNsiRequest
8622     InstantiateNsiRequest:
8623       content:
8624         application/json:
8625           schema:
8626             $ref: '#/components/schemas/InstantiateNsiRequest'
8627         application/yaml:
8628           schema:
8629             $ref: '#/components/schemas/InstantiateNsiRequest'
8630     TerminateNsiRequest:
8631       content:
8632         application/json:
8633           schema:
8634             $ref: '#/components/schemas/TerminateNsiRequest'
8635         application/yaml:
8636           schema:
8637             $ref: '#/components/schemas/TerminateNsiRequest'
8638     NsiActionRequest:
8639       content:
8640         application/json:
8641           schema:
8642             $ref: '#/components/schemas/NsiActionRequest'
8643         application/yaml:
8644           schema:
8645             $ref: '#/components/schemas/NsiActionRequest'
8646     # CreateNsiContentRequest:
8647       # Substituted by InstantiateNsiRequest
8648     CreateTokenRequest:
8649       content:
8650         application/json:
8651           schema:
8652             $ref: '#/components/schemas/CreateTokenRequest'
8653         application/yaml:
8654           schema:
8655             $ref: '#/components/schemas/CreateTokenRequest'
8656     CreateUserRequest:
8657       content:
8658         application/json:
8659           schema:
8660             $ref: '#/components/schemas/CreateUserRequest'
8661         application/yaml:
8662           schema:
8663             $ref: '#/components/schemas/CreateUserRequest'
8664     EditUserRequest:
8665       content:
8666         application/json:
8667           schema:
8668             $ref: '#/components/schemas/EditUserRequest'
8669         application/yaml:
8670           schema:
8671             $ref: '#/components/schemas/EditUserRequest'
8672     CreateProjectRequest:
8673       content:
8674         application/json:
8675           schema:
8676             $ref: '#/components/schemas/CreateProjectRequest'
8677         application/yaml:
8678           schema:
8679             $ref: '#/components/schemas/CreateProjectRequest'
8680     EditProjectRequest:
8681       content:
8682         application/json:
8683           schema:
8684             $ref: '#/components/schemas/EditProjectRequest'
8685         application/yaml:
8686           schema:
8687             $ref: '#/components/schemas/EditProjectRequest'
8688     CreateRoleRequest:
8689       content:
8690         application/json:
8691           schema:
8692             $ref: '#/components/schemas/CreateRoleRequest'
8693         application/yaml:
8694           schema:
8695             $ref: '#/components/schemas/CreateRoleRequest'
8696     EditRoleRequest:
8697       content:
8698         application/json:
8699           schema:
8700             $ref: '#/components/schemas/EditRoleRequest'
8701         application/yaml:
8702           schema:
8703             $ref: '#/components/schemas/EditRoleRequest'
8704     CreateVimRequest:
8705       content:
8706         application/json:
8707           schema:
8708             $ref: '#/components/schemas/CreateVimRequest'
8709         application/yaml:
8710           schema:
8711             $ref: '#/components/schemas/CreateVimRequest'
8712     EditVimRequest:
8713       content:
8714         application/json:
8715           schema:
8716             $ref: '#/components/schemas/EditVimRequest'
8717         application/yaml:
8718           schema:
8719             $ref: '#/components/schemas/EditVimRequest'
8720     CreateWimRequest:
8721       content:
8722         application/json:
8723           schema:
8724             $ref: '#/components/schemas/CreateWimRequest'
8725         application/yaml:
8726           schema:
8727             $ref: '#/components/schemas/CreateWimRequest'
8728     EditWimRequest:
8729       content:
8730         application/json:
8731           schema:
8732             $ref: '#/components/schemas/EditWimRequest'
8733         application/yaml:
8734           schema:
8735             $ref: '#/components/schemas/EditWimRequest'
8736     CreateSdnRequest:
8737       content:
8738         application/json:
8739           schema:
8740             $ref: '#/components/schemas/CreateSdnRequest'
8741         application/yaml:
8742           schema:
8743             $ref: '#/components/schemas/CreateSdnRequest'
8744     EditSdnRequest:
8745       content:
8746         application/json:
8747           schema:
8748             $ref: '#/components/schemas/EditSdnRequest'
8749         application/yaml:
8750           schema:
8751             $ref: '#/components/schemas/EditSdnRequest'
8752     CreatePduRequest:
8753       content:
8754         application/json:
8755           schema:
8756             $ref: '#/components/schemas/CreatePduRequest'
8757         application/yaml:
8758           schema:
8759             $ref: '#/components/schemas/CreatePduRequest'
8760     EditPduRequest:
8761       content:
8762         application/json:
8763           schema:
8764             $ref: '#/components/schemas/EditPduRequest'
8765         application/yaml:
8766           schema:
8767             $ref: '#/components/schemas/EditPduRequest'
8768     CreateK8sClusterRequest:
8769       content:
8770         application/json:
8771           schema:
8772             $ref: '#/components/schemas/CreateK8sClusterRequest'
8773         application/yaml:
8774           schema:
8775             $ref: '#/components/schemas/CreateK8sClusterRequest'
8776     EditK8sClusterRequest:
8777       content:
8778         application/json:
8779           schema:
8780             $ref: '#/components/schemas/EditK8sClusterRequest'
8781         application/yaml:
8782           schema:
8783             $ref: '#/components/schemas/EditK8sClusterRequest'
8784     CreateVcaRequest:
8785       content:
8786         application/json:
8787           schema:
8788             $ref: '#/components/schemas/CreateVcaRequest'
8789         application/yaml:
8790           schema:
8791             $ref: '#/components/schemas/CreateVcaRequest'
8792     EditVcaRequest:
8793       content:
8794         application/json:
8795           schema:
8796             $ref: '#/components/schemas/EditVcaRequest'
8797         application/yaml:
8798           schema:
8799             $ref: '#/components/schemas/EditVcaRequest'
8800     CreateK8sRepoRequest:
8801       content:
8802         application/json:
8803           schema:
8804             $ref: '#/components/schemas/CreateK8sRepoRequest'
8805         application/yaml:
8806           schema:
8807             $ref: '#/components/schemas/CreateK8sRepoRequest'
8808     NslcmSubscriptionRequest:
8809       content:
8810         application/json:
8811           schema:
8812             $ref: '#/components/schemas/NslcmSubscriptionRequest'
8813         application/yaml:
8814           schema:
8815             $ref: '#/components/schemas/NslcmSubscriptionRequest'
8816   # END REQUEST BODIES
8817
8818   securitySchemes:
8819     bearerAuth:
8820       type: http
8821       scheme: bearer