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