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