Feature 10914: Enforce Password change on First login
[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                 oneOf:
4001                   - $ref: '#/components/schemas/TokenInfo'
4002                   - $ref: '#/components/schemas/PasswordExpiryInfo'
4003             application/yaml:
4004               schema:
4005                 oneOf:
4006                   - $ref: '#/components/schemas/TokenInfo'
4007                   - $ref: '#/components/schemas/PasswordExpiryInfo'
4008         '400':
4009           $ref: '#/components/responses/BadRequest'
4010         '401':
4011           $ref: '#/components/responses/Unauthorized'
4012         '403':
4013           $ref: '#/components/responses/Forbidden'
4014         '404':
4015           $ref: '#/components/responses/NotFound'
4016         '405':
4017           $ref: '#/components/responses/MethodNotAllowed'
4018         '406':
4019           $ref: '#/components/responses/NotAcceptable'
4020         '409':
4021           $ref: '#/components/responses/Conflict'
4022         '422':
4023           $ref: '#/components/responses/UnprocessableEntity'
4024         '500':
4025           $ref: '#/components/responses/InternalServerError'
4026         '503':
4027           $ref: '#/components/responses/ServiceUnavailable'
4028         '5XX':
4029           $ref: '#/components/responses/UnexpectedError'
4030         default:
4031           $ref: '#/components/responses/UnexpectedError'
4032     delete:
4033       tags:
4034         - "Authentication"
4035         - "Admin"
4036       summary: Delete the Token indicated in the Authorization Header
4037       description: Delete the Token indicated in the Authorization Header
4038       operationId: deleteAuthToken
4039       responses:
4040         '200':
4041           description: OK
4042           content:
4043             application/json:
4044               schema:
4045                 type: string
4046             application/yaml:
4047               schema:
4048                 type: string
4049         '400':
4050           $ref: '#/components/responses/BadRequest'
4051         '401':
4052           $ref: '#/components/responses/Unauthorized'
4053         '403':
4054           $ref: '#/components/responses/Forbidden'
4055         '404':
4056           $ref: '#/components/responses/NotFound'
4057         '405':
4058           $ref: '#/components/responses/MethodNotAllowed'
4059         '406':
4060           $ref: '#/components/responses/NotAcceptable'
4061         '409':
4062           $ref: '#/components/responses/Conflict'
4063         '422':
4064           $ref: '#/components/responses/UnprocessableEntity'
4065         '500':
4066           $ref: '#/components/responses/InternalServerError'
4067         '503':
4068           $ref: '#/components/responses/ServiceUnavailable'
4069         '5XX':
4070           $ref: '#/components/responses/UnexpectedError'
4071         default:
4072           $ref: '#/components/responses/UnexpectedError'
4073   '/admin/v1/tokens/{tokenId}':
4074     parameters:
4075       - name: tokenId
4076         in: path
4077         required: true
4078         description: Token ID
4079         schema:
4080           type: string
4081     get:
4082       tags:
4083         - "Authentication"
4084         - "Admin"
4085       summary: Query information about an individual Token
4086       description: Query information about an individual Token
4087       operationId: getToken
4088       responses:
4089         '200':
4090           description: OK
4091           content:
4092             application/json:
4093               schema:
4094                 $ref: '#/components/schemas/TokenInfo'
4095             application/yaml:
4096               schema:
4097                 $ref: '#/components/schemas/TokenInfo'
4098         '400':
4099           $ref: '#/components/responses/BadRequest'
4100         '401':
4101           $ref: '#/components/responses/Unauthorized'
4102         '403':
4103           $ref: '#/components/responses/Forbidden'
4104         '404':
4105           $ref: '#/components/responses/NotFound'
4106         '405':
4107           $ref: '#/components/responses/MethodNotAllowed'
4108         '406':
4109           $ref: '#/components/responses/NotAcceptable'
4110         '409':
4111           $ref: '#/components/responses/Conflict'
4112         '422':
4113           $ref: '#/components/responses/UnprocessableEntity'
4114         '500':
4115           $ref: '#/components/responses/InternalServerError'
4116         '503':
4117           $ref: '#/components/responses/ServiceUnavailable'
4118         '5XX':
4119           $ref: '#/components/responses/UnexpectedError'
4120         default:
4121           $ref: '#/components/responses/UnexpectedError'
4122     delete:
4123       tags:
4124         - "Authentication"
4125         - "Admin"
4126       summary: Delete the Token indicated as parameter
4127       description: Delete the Token indicated as parameter
4128       operationId: deleteToken
4129       responses:
4130         '200':
4131           description: OK
4132           content:
4133             application/json:
4134               schema:
4135                 type: string
4136             application/yaml:
4137               schema:
4138                 type: string
4139         '400':
4140           $ref: '#/components/responses/BadRequest'
4141         '401':
4142           $ref: '#/components/responses/Unauthorized'
4143         '403':
4144           $ref: '#/components/responses/Forbidden'
4145         '404':
4146           $ref: '#/components/responses/NotFound'
4147         '405':
4148           $ref: '#/components/responses/MethodNotAllowed'
4149         '406':
4150           $ref: '#/components/responses/NotAcceptable'
4151         '409':
4152           $ref: '#/components/responses/Conflict'
4153         '422':
4154           $ref: '#/components/responses/UnprocessableEntity'
4155         '500':
4156           $ref: '#/components/responses/InternalServerError'
4157         '503':
4158           $ref: '#/components/responses/ServiceUnavailable'
4159         '5XX':
4160           $ref: '#/components/responses/UnexpectedError'
4161         default:
4162           $ref: '#/components/responses/UnexpectedError'
4163   '/admin/v1/users':
4164     get:
4165       tags:
4166         - "Identity"
4167         - "Admin"
4168       summary: Query information about multiple Users
4169       description: Query information about multiple Users
4170       operationId: getUsers
4171       responses:
4172         '200':
4173           description: OK
4174           content:
4175             application/json:
4176               schema:
4177                 $ref: '#/components/schemas/ArrayOfUserInfo'
4178             application/yaml:
4179               schema:
4180                 $ref: '#/components/schemas/ArrayOfUserInfo'
4181         '400':
4182           $ref: '#/components/responses/BadRequest'
4183         '401':
4184           $ref: '#/components/responses/Unauthorized'
4185         '403':
4186           $ref: '#/components/responses/Forbidden'
4187         '404':
4188           $ref: '#/components/responses/NotFound'
4189         '405':
4190           $ref: '#/components/responses/MethodNotAllowed'
4191         '406':
4192           $ref: '#/components/responses/NotAcceptable'
4193         '409':
4194           $ref: '#/components/responses/Conflict'
4195         '422':
4196           $ref: '#/components/responses/UnprocessableEntity'
4197         '500':
4198           $ref: '#/components/responses/InternalServerError'
4199         '503':
4200           $ref: '#/components/responses/ServiceUnavailable'
4201         '5XX':
4202           $ref: '#/components/responses/UnexpectedError'
4203         default:
4204           $ref: '#/components/responses/UnexpectedError'
4205     post:
4206       tags:
4207         - "Identity"
4208         - "Admin"
4209       summary: Create a new User
4210       description: Create a new User
4211       operationId: createUser
4212       requestBody:
4213         $ref: '#/components/requestBodies/CreateUserRequest'
4214       responses:
4215         '201':
4216           description: Created
4217           headers:
4218             Location:
4219               schema:
4220                 type: string
4221                 format: uri
4222           content:
4223             application/json:
4224               schema:
4225                 $ref: '#/components/schemas/ObjectId'
4226             application/yaml:
4227               schema:
4228                 $ref: '#/components/schemas/ObjectId'
4229         '400':
4230           $ref: '#/components/responses/BadRequest'
4231         '401':
4232           $ref: '#/components/responses/Unauthorized'
4233         '403':
4234           $ref: '#/components/responses/Forbidden'
4235         '404':
4236           $ref: '#/components/responses/NotFound'
4237         '405':
4238           $ref: '#/components/responses/MethodNotAllowed'
4239         '406':
4240           $ref: '#/components/responses/NotAcceptable'
4241         '409':
4242           $ref: '#/components/responses/Conflict'
4243         '422':
4244           $ref: '#/components/responses/UnprocessableEntity'
4245         '500':
4246           $ref: '#/components/responses/InternalServerError'
4247         '503':
4248           $ref: '#/components/responses/ServiceUnavailable'
4249         '5XX':
4250           $ref: '#/components/responses/UnexpectedError'
4251         default:
4252           $ref: '#/components/responses/UnexpectedError'
4253   '/admin/v1/users/{userId}':
4254     parameters:
4255       - name: userId
4256         in: path
4257         required: true
4258         description: User ID/Name
4259         schema:
4260           type: string
4261     get:
4262       tags:
4263         - "Identity"
4264         - "Admin"
4265       summary: Query information about an individual User
4266       description: Query information about an individual User
4267       operationId: getUser
4268       responses:
4269         '200':
4270           description: OK
4271           content:
4272             application/json:
4273               schema:
4274                 $ref: '#/components/schemas/UserInfo'
4275             application/yaml:
4276               schema:
4277                 $ref: '#/components/schemas/UserInfo'
4278         '400':
4279           $ref: '#/components/responses/BadRequest'
4280         '401':
4281           $ref: '#/components/responses/Unauthorized'
4282         '403':
4283           $ref: '#/components/responses/Forbidden'
4284         '404':
4285           $ref: '#/components/responses/NotFound'
4286         '405':
4287           $ref: '#/components/responses/MethodNotAllowed'
4288         '406':
4289           $ref: '#/components/responses/NotAcceptable'
4290         '409':
4291           $ref: '#/components/responses/Conflict'
4292         '422':
4293           $ref: '#/components/responses/UnprocessableEntity'
4294         '500':
4295           $ref: '#/components/responses/InternalServerError'
4296         '503':
4297           $ref: '#/components/responses/ServiceUnavailable'
4298         '5XX':
4299           $ref: '#/components/responses/UnexpectedError'
4300         default:
4301           $ref: '#/components/responses/UnexpectedError'
4302     patch:
4303       tags:
4304         - "Identity"
4305         - "Admin"
4306       summary: Modify a User
4307       description: Modify a User
4308       operationId: editUser
4309       requestBody:
4310         $ref: '#/components/requestBodies/EditUserRequest'
4311       responses:
4312         '204':
4313           description: No Content
4314         '400':
4315           $ref: '#/components/responses/BadRequest'
4316         '401':
4317           $ref: '#/components/responses/Unauthorized'
4318         '403':
4319           $ref: '#/components/responses/Forbidden'
4320         '404':
4321           $ref: '#/components/responses/NotFound'
4322         '405':
4323           $ref: '#/components/responses/MethodNotAllowed'
4324         '406':
4325           $ref: '#/components/responses/NotAcceptable'
4326         '409':
4327           $ref: '#/components/responses/Conflict'
4328         '422':
4329           $ref: '#/components/responses/UnprocessableEntity'
4330         '500':
4331           $ref: '#/components/responses/InternalServerError'
4332         '503':
4333           $ref: '#/components/responses/ServiceUnavailable'
4334         '5XX':
4335           $ref: '#/components/responses/UnexpectedError'
4336         default:
4337           $ref: '#/components/responses/UnexpectedError'
4338     delete:
4339       tags:
4340         - "Identity"
4341         - "Admin"
4342       summary: Delete a User
4343       description: Delete a User
4344       operationId: deleteUser
4345       responses:
4346         '204':
4347           description: No Content
4348         '400':
4349           $ref: '#/components/responses/BadRequest'
4350         '401':
4351           $ref: '#/components/responses/Unauthorized'
4352         '403':
4353           $ref: '#/components/responses/Forbidden'
4354         '404':
4355           $ref: '#/components/responses/NotFound'
4356         '405':
4357           $ref: '#/components/responses/MethodNotAllowed'
4358         '406':
4359           $ref: '#/components/responses/NotAcceptable'
4360         '409':
4361           $ref: '#/components/responses/Conflict'
4362         '422':
4363           $ref: '#/components/responses/UnprocessableEntity'
4364         '500':
4365           $ref: '#/components/responses/InternalServerError'
4366         '503':
4367           $ref: '#/components/responses/ServiceUnavailable'
4368         '5XX':
4369           $ref: '#/components/responses/UnexpectedError'
4370         default:
4371           $ref: '#/components/responses/UnexpectedError'
4372   '/admin/v1/projects':
4373     get:
4374       tags:
4375         - "Identity"
4376         - "Admin"
4377       summary: Query information about multiple Projects
4378       description: Query information about multiple Projects
4379       operationId: getProjects
4380       responses:
4381         '200':
4382           description: OK
4383           content:
4384             application/json:
4385               schema:
4386                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4387             application/yaml:
4388               schema:
4389                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4390         '400':
4391           $ref: '#/components/responses/BadRequest'
4392         '401':
4393           $ref: '#/components/responses/Unauthorized'
4394         '403':
4395           $ref: '#/components/responses/Forbidden'
4396         '404':
4397           $ref: '#/components/responses/NotFound'
4398         '405':
4399           $ref: '#/components/responses/MethodNotAllowed'
4400         '406':
4401           $ref: '#/components/responses/NotAcceptable'
4402         '409':
4403           $ref: '#/components/responses/Conflict'
4404         '422':
4405           $ref: '#/components/responses/UnprocessableEntity'
4406         '500':
4407           $ref: '#/components/responses/InternalServerError'
4408         '503':
4409           $ref: '#/components/responses/ServiceUnavailable'
4410         '5XX':
4411           $ref: '#/components/responses/UnexpectedError'
4412         default:
4413           $ref: '#/components/responses/UnexpectedError'
4414     post:
4415       tags:
4416         - "Identity"
4417         - "Admin"
4418       summary: Create a new Project
4419       description: Create a new Project
4420       operationId: createProject
4421       requestBody:
4422         $ref: '#/components/requestBodies/CreateProjectRequest'
4423       responses:
4424         '201':
4425           description: Created
4426           headers:
4427             Location:
4428               schema:
4429                 type: string
4430                 format: uri
4431           content:
4432             application/json:
4433               schema:
4434                 $ref: '#/components/schemas/ObjectId'
4435             application/yaml:
4436               schema:
4437                 $ref: '#/components/schemas/ObjectId'
4438         '400':
4439           $ref: '#/components/responses/BadRequest'
4440         '401':
4441           $ref: '#/components/responses/Unauthorized'
4442         '403':
4443           $ref: '#/components/responses/Forbidden'
4444         '404':
4445           $ref: '#/components/responses/NotFound'
4446         '405':
4447           $ref: '#/components/responses/MethodNotAllowed'
4448         '406':
4449           $ref: '#/components/responses/NotAcceptable'
4450         '409':
4451           $ref: '#/components/responses/Conflict'
4452         '422':
4453           $ref: '#/components/responses/UnprocessableEntity'
4454         '500':
4455           $ref: '#/components/responses/InternalServerError'
4456         '503':
4457           $ref: '#/components/responses/ServiceUnavailable'
4458         '5XX':
4459           $ref: '#/components/responses/UnexpectedError'
4460         default:
4461           $ref: '#/components/responses/UnexpectedError'
4462   '/admin/v1/projects/{projectId}':
4463     parameters:
4464       - name: projectId
4465         in: path
4466         required: true
4467         description: Project ID/Name
4468         schema:
4469           type: string
4470     get:
4471       tags:
4472         - "Identity"
4473         - "Admin"
4474       summary: Query information about an individual Project
4475       description: Query information about an individual Project
4476       operationId: getProject
4477       responses:
4478         '200':
4479           description: OK
4480           content:
4481             application/json:
4482               schema:
4483                 $ref: '#/components/schemas/ProjectInfo'
4484             application/yaml:
4485               schema:
4486                 $ref: '#/components/schemas/ProjectInfo'
4487         '400':
4488           $ref: '#/components/responses/BadRequest'
4489         '401':
4490           $ref: '#/components/responses/Unauthorized'
4491         '403':
4492           $ref: '#/components/responses/Forbidden'
4493         '404':
4494           $ref: '#/components/responses/NotFound'
4495         '405':
4496           $ref: '#/components/responses/MethodNotAllowed'
4497         '406':
4498           $ref: '#/components/responses/NotAcceptable'
4499         '409':
4500           $ref: '#/components/responses/Conflict'
4501         '422':
4502           $ref: '#/components/responses/UnprocessableEntity'
4503         '500':
4504           $ref: '#/components/responses/InternalServerError'
4505         '503':
4506           $ref: '#/components/responses/ServiceUnavailable'
4507         '5XX':
4508           $ref: '#/components/responses/UnexpectedError'
4509         default:
4510           $ref: '#/components/responses/UnexpectedError'
4511     patch:
4512       tags:
4513         - "Identity"
4514         - "Admin"
4515       summary: Modify a Project
4516       description: Modify a Project
4517       operationId: editProject
4518       requestBody:
4519         $ref: '#/components/requestBodies/EditProjectRequest'
4520       responses:
4521         '204':
4522           description: No Content
4523         '400':
4524           $ref: '#/components/responses/BadRequest'
4525         '401':
4526           $ref: '#/components/responses/Unauthorized'
4527         '403':
4528           $ref: '#/components/responses/Forbidden'
4529         '404':
4530           $ref: '#/components/responses/NotFound'
4531         '405':
4532           $ref: '#/components/responses/MethodNotAllowed'
4533         '406':
4534           $ref: '#/components/responses/NotAcceptable'
4535         '409':
4536           $ref: '#/components/responses/Conflict'
4537         '422':
4538           $ref: '#/components/responses/UnprocessableEntity'
4539         '500':
4540           $ref: '#/components/responses/InternalServerError'
4541         '503':
4542           $ref: '#/components/responses/ServiceUnavailable'
4543         '5XX':
4544           $ref: '#/components/responses/UnexpectedError'
4545         default:
4546           $ref: '#/components/responses/UnexpectedError'
4547     delete:
4548       tags:
4549         - "Identity"
4550         - "Admin"
4551       summary: Delete a Project
4552       description: Delete a Project
4553       operationId: deleteProject
4554       responses:
4555         '204':
4556           description: No Content
4557         '400':
4558           $ref: '#/components/responses/BadRequest'
4559         '401':
4560           $ref: '#/components/responses/Unauthorized'
4561         '403':
4562           $ref: '#/components/responses/Forbidden'
4563         '404':
4564           $ref: '#/components/responses/NotFound'
4565         '405':
4566           $ref: '#/components/responses/MethodNotAllowed'
4567         '406':
4568           $ref: '#/components/responses/NotAcceptable'
4569         '409':
4570           $ref: '#/components/responses/Conflict'
4571         '422':
4572           $ref: '#/components/responses/UnprocessableEntity'
4573         '500':
4574           $ref: '#/components/responses/InternalServerError'
4575         '503':
4576           $ref: '#/components/responses/ServiceUnavailable'
4577         '5XX':
4578           $ref: '#/components/responses/UnexpectedError'
4579         default:
4580           $ref: '#/components/responses/UnexpectedError'
4581   '/admin/v1/roles':
4582     get:
4583       tags:
4584         - "Identity"
4585         - "Admin"
4586       summary: Query information about multiple Roles
4587       description: Query information about multiple Roles
4588       operationId: getRoles
4589       responses:
4590         '200':
4591           description: OK
4592           content:
4593             application/json:
4594               schema:
4595                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4596             application/yaml:
4597               schema:
4598                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4599         '400':
4600           $ref: '#/components/responses/BadRequest'
4601         '401':
4602           $ref: '#/components/responses/Unauthorized'
4603         '403':
4604           $ref: '#/components/responses/Forbidden'
4605         '404':
4606           $ref: '#/components/responses/NotFound'
4607         '405':
4608           $ref: '#/components/responses/MethodNotAllowed'
4609         '406':
4610           $ref: '#/components/responses/NotAcceptable'
4611         '409':
4612           $ref: '#/components/responses/Conflict'
4613         '422':
4614           $ref: '#/components/responses/UnprocessableEntity'
4615         '500':
4616           $ref: '#/components/responses/InternalServerError'
4617         '503':
4618           $ref: '#/components/responses/ServiceUnavailable'
4619         '5XX':
4620           $ref: '#/components/responses/UnexpectedError'
4621         default:
4622           $ref: '#/components/responses/UnexpectedError'
4623     post:
4624       tags:
4625         - "Identity"
4626         - "Admin"
4627       summary: Create a new Role
4628       description: Create a new Role
4629       operationId: createRole
4630       requestBody:
4631         $ref: '#/components/requestBodies/CreateRoleRequest'
4632       responses:
4633         '201':
4634           description: Created
4635           headers:
4636             Location:
4637               schema:
4638                 type: string
4639                 format: uri
4640           content:
4641             application/json:
4642               schema:
4643                 $ref: '#/components/schemas/ObjectId'
4644             application/yaml:
4645               schema:
4646                 $ref: '#/components/schemas/ObjectId'
4647         '400':
4648           $ref: '#/components/responses/BadRequest'
4649         '401':
4650           $ref: '#/components/responses/Unauthorized'
4651         '403':
4652           $ref: '#/components/responses/Forbidden'
4653         '404':
4654           $ref: '#/components/responses/NotFound'
4655         '405':
4656           $ref: '#/components/responses/MethodNotAllowed'
4657         '406':
4658           $ref: '#/components/responses/NotAcceptable'
4659         '409':
4660           $ref: '#/components/responses/Conflict'
4661         '422':
4662           $ref: '#/components/responses/UnprocessableEntity'
4663         '500':
4664           $ref: '#/components/responses/InternalServerError'
4665         '503':
4666           $ref: '#/components/responses/ServiceUnavailable'
4667         '5XX':
4668           $ref: '#/components/responses/UnexpectedError'
4669         default:
4670           $ref: '#/components/responses/UnexpectedError'
4671   '/admin/v1/roles/{roleId}':
4672     parameters:
4673       - name: roleId
4674         in: path
4675         required: true
4676         description: Role ID/Name
4677         schema:
4678           type: string
4679     get:
4680       tags:
4681         - "Identity"
4682         - "Admin"
4683       summary: Query information about an individual Role
4684       description: Query information about an individual Role
4685       operationId: getRole
4686       responses:
4687         '200':
4688           description: OK
4689           content:
4690             application/json:
4691               schema:
4692                 $ref: '#/components/schemas/RoleInfo'
4693             application/yaml:
4694               schema:
4695                 $ref: '#/components/schemas/RoleInfo'
4696         '400':
4697           $ref: '#/components/responses/BadRequest'
4698         '401':
4699           $ref: '#/components/responses/Unauthorized'
4700         '403':
4701           $ref: '#/components/responses/Forbidden'
4702         '404':
4703           $ref: '#/components/responses/NotFound'
4704         '405':
4705           $ref: '#/components/responses/MethodNotAllowed'
4706         '406':
4707           $ref: '#/components/responses/NotAcceptable'
4708         '409':
4709           $ref: '#/components/responses/Conflict'
4710         '422':
4711           $ref: '#/components/responses/UnprocessableEntity'
4712         '500':
4713           $ref: '#/components/responses/InternalServerError'
4714         '503':
4715           $ref: '#/components/responses/ServiceUnavailable'
4716         '5XX':
4717           $ref: '#/components/responses/UnexpectedError'
4718         default:
4719           $ref: '#/components/responses/UnexpectedError'
4720     patch:
4721       tags:
4722         - "Identity"
4723         - "Admin"
4724       summary: Modify a Role
4725       description: Modify a Role
4726       operationId: editRole
4727       requestBody:
4728         $ref: '#/components/requestBodies/EditRoleRequest'
4729       responses:
4730         '204':
4731           description: No Content
4732         '400':
4733           $ref: '#/components/responses/BadRequest'
4734         '401':
4735           $ref: '#/components/responses/Unauthorized'
4736         '403':
4737           $ref: '#/components/responses/Forbidden'
4738         '404':
4739           $ref: '#/components/responses/NotFound'
4740         '405':
4741           $ref: '#/components/responses/MethodNotAllowed'
4742         '406':
4743           $ref: '#/components/responses/NotAcceptable'
4744         '409':
4745           $ref: '#/components/responses/Conflict'
4746         '422':
4747           $ref: '#/components/responses/UnprocessableEntity'
4748         '500':
4749           $ref: '#/components/responses/InternalServerError'
4750         '503':
4751           $ref: '#/components/responses/ServiceUnavailable'
4752         '5XX':
4753           $ref: '#/components/responses/UnexpectedError'
4754         default:
4755           $ref: '#/components/responses/UnexpectedError'
4756     delete:
4757       tags:
4758         - "Identity"
4759         - "Admin"
4760       summary: Delete a Role
4761       description: Delete a Role
4762       operationId: deleteRole
4763       responses:
4764         '204':
4765           description: No Content
4766         '400':
4767           $ref: '#/components/responses/BadRequest'
4768         '401':
4769           $ref: '#/components/responses/Unauthorized'
4770         '403':
4771           $ref: '#/components/responses/Forbidden'
4772         '404':
4773           $ref: '#/components/responses/NotFound'
4774         '405':
4775           $ref: '#/components/responses/MethodNotAllowed'
4776         '406':
4777           $ref: '#/components/responses/NotAcceptable'
4778         '409':
4779           $ref: '#/components/responses/Conflict'
4780         '422':
4781           $ref: '#/components/responses/UnprocessableEntity'
4782         '500':
4783           $ref: '#/components/responses/InternalServerError'
4784         '503':
4785           $ref: '#/components/responses/ServiceUnavailable'
4786         '5XX':
4787           $ref: '#/components/responses/UnexpectedError'
4788         default:
4789           $ref: '#/components/responses/UnexpectedError'
4790   '/admin/v1/vims':
4791     get:
4792       tags:
4793         - "Infrastructure"
4794         - "Admin"
4795       summary: Query information about multiple VIMs
4796       description: Query information about multiple VIMs
4797       operationId: getVIMs
4798       responses:
4799         '200':
4800           description: OK
4801           content:
4802             application/json:
4803               schema:
4804                 $ref: '#/components/schemas/ArrayOfVimInfo'
4805             application/yaml:
4806               schema:
4807                 $ref: '#/components/schemas/ArrayOfVimInfo'
4808         '400':
4809           $ref: '#/components/responses/BadRequest'
4810         '401':
4811           $ref: '#/components/responses/Unauthorized'
4812         '403':
4813           $ref: '#/components/responses/Forbidden'
4814         '404':
4815           $ref: '#/components/responses/NotFound'
4816         '405':
4817           $ref: '#/components/responses/MethodNotAllowed'
4818         '406':
4819           $ref: '#/components/responses/NotAcceptable'
4820         '409':
4821           $ref: '#/components/responses/Conflict'
4822         '422':
4823           $ref: '#/components/responses/UnprocessableEntity'
4824         '500':
4825           $ref: '#/components/responses/InternalServerError'
4826         '503':
4827           $ref: '#/components/responses/ServiceUnavailable'
4828         '5XX':
4829           $ref: '#/components/responses/UnexpectedError'
4830         default:
4831           $ref: '#/components/responses/UnexpectedError'
4832     post:
4833       tags:
4834         - "Infrastructure"
4835         - "Admin"
4836       summary: Create a new VIM
4837       description: Create a new VIM
4838       operationId: createVIM
4839       requestBody:
4840         $ref: '#/components/requestBodies/CreateVimRequest'
4841       responses:
4842         '202':
4843           description: Accepted
4844           content:
4845             application/json:
4846               schema:
4847                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4848             application/yaml:
4849               schema:
4850                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4851         '400':
4852           $ref: '#/components/responses/BadRequest'
4853         '401':
4854           $ref: '#/components/responses/Unauthorized'
4855         '403':
4856           $ref: '#/components/responses/Forbidden'
4857         '404':
4858           $ref: '#/components/responses/NotFound'
4859         '405':
4860           $ref: '#/components/responses/MethodNotAllowed'
4861         '406':
4862           $ref: '#/components/responses/NotAcceptable'
4863         '409':
4864           $ref: '#/components/responses/Conflict'
4865         '422':
4866           $ref: '#/components/responses/UnprocessableEntity'
4867         '500':
4868           $ref: '#/components/responses/InternalServerError'
4869         '503':
4870           $ref: '#/components/responses/ServiceUnavailable'
4871         '5XX':
4872           $ref: '#/components/responses/UnexpectedError'
4873         default:
4874           $ref: '#/components/responses/UnexpectedError'
4875   '/admin/v1/vims/{vimId}':
4876     parameters:
4877       - name: vimId
4878         in: path
4879         required: true
4880         description: VIM ID
4881         schema:
4882           type: string
4883           format: uuid
4884     get:
4885       tags:
4886         - "Infrastructure"
4887         - "Admin"
4888       summary: Query information about an individual VIM
4889       description: Query information about an individual VIM
4890       operationId: getVIM
4891       responses:
4892         '200':
4893           description: OK
4894           content:
4895             application/json:
4896               schema:
4897                 $ref: '#/components/schemas/VimInfo'
4898             application/yaml:
4899               schema:
4900                 $ref: '#/components/schemas/VimInfo'
4901         '400':
4902           $ref: '#/components/responses/BadRequest'
4903         '401':
4904           $ref: '#/components/responses/Unauthorized'
4905         '403':
4906           $ref: '#/components/responses/Forbidden'
4907         '404':
4908           $ref: '#/components/responses/NotFound'
4909         '405':
4910           $ref: '#/components/responses/MethodNotAllowed'
4911         '406':
4912           $ref: '#/components/responses/NotAcceptable'
4913         '409':
4914           $ref: '#/components/responses/Conflict'
4915         '422':
4916           $ref: '#/components/responses/UnprocessableEntity'
4917         '500':
4918           $ref: '#/components/responses/InternalServerError'
4919         '503':
4920           $ref: '#/components/responses/ServiceUnavailable'
4921         '5XX':
4922           $ref: '#/components/responses/UnexpectedError'
4923         default:
4924           $ref: '#/components/responses/UnexpectedError'
4925     patch:
4926       tags:
4927         - "Infrastructure"
4928         - "Admin"
4929       summary: Modify a VIM
4930       description: Modify a VIM
4931       operationId: editVIM
4932       requestBody:
4933         $ref: '#/components/requestBodies/EditVimRequest'
4934       responses:
4935         '202':
4936           description: Accepted
4937           content:
4938             application/json:
4939               schema:
4940                 $ref: '#/components/schemas/OpId'
4941             application/yaml:
4942               schema:
4943                 $ref: '#/components/schemas/OpId'
4944         '400':
4945           $ref: '#/components/responses/BadRequest'
4946         '401':
4947           $ref: '#/components/responses/Unauthorized'
4948         '403':
4949           $ref: '#/components/responses/Forbidden'
4950         '404':
4951           $ref: '#/components/responses/NotFound'
4952         '405':
4953           $ref: '#/components/responses/MethodNotAllowed'
4954         '406':
4955           $ref: '#/components/responses/NotAcceptable'
4956         '409':
4957           $ref: '#/components/responses/Conflict'
4958         '422':
4959           $ref: '#/components/responses/UnprocessableEntity'
4960         '500':
4961           $ref: '#/components/responses/InternalServerError'
4962         '503':
4963           $ref: '#/components/responses/ServiceUnavailable'
4964         '5XX':
4965           $ref: '#/components/responses/UnexpectedError'
4966         default:
4967           $ref: '#/components/responses/UnexpectedError'
4968     delete:
4969       tags:
4970         - "Infrastructure"
4971         - "Admin"
4972       summary: Delete a VIM
4973       description: Delete a VIM
4974       operationId: deleteVIM
4975       responses:
4976         '202':
4977           description: Accepted
4978         '400':
4979           $ref: '#/components/responses/BadRequest'
4980         '401':
4981           $ref: '#/components/responses/Unauthorized'
4982         '403':
4983           $ref: '#/components/responses/Forbidden'
4984         '404':
4985           $ref: '#/components/responses/NotFound'
4986         '405':
4987           $ref: '#/components/responses/MethodNotAllowed'
4988         '406':
4989           $ref: '#/components/responses/NotAcceptable'
4990         '409':
4991           $ref: '#/components/responses/Conflict'
4992         '422':
4993           $ref: '#/components/responses/UnprocessableEntity'
4994         '500':
4995           $ref: '#/components/responses/InternalServerError'
4996         '503':
4997           $ref: '#/components/responses/ServiceUnavailable'
4998         '5XX':
4999           $ref: '#/components/responses/UnexpectedError'
5000         default:
5001           $ref: '#/components/responses/UnexpectedError'
5002   '/admin/v1/vim_accounts':
5003     get:
5004       tags:
5005         - "Infrastructure"
5006         - "Admin"
5007       summary: Query information about multiple VIM Accounts
5008       description: Query information about multiple VIM Accounts
5009       operationId: getVimAccounts
5010       responses:
5011         '200':
5012           description: OK
5013           content:
5014             application/json:
5015               schema:
5016                 $ref: '#/components/schemas/ArrayOfVimInfo'
5017             application/yaml:
5018               schema:
5019                 $ref: '#/components/schemas/ArrayOfVimInfo'
5020         '400':
5021           $ref: '#/components/responses/BadRequest'
5022         '401':
5023           $ref: '#/components/responses/Unauthorized'
5024         '403':
5025           $ref: '#/components/responses/Forbidden'
5026         '404':
5027           $ref: '#/components/responses/NotFound'
5028         '405':
5029           $ref: '#/components/responses/MethodNotAllowed'
5030         '406':
5031           $ref: '#/components/responses/NotAcceptable'
5032         '409':
5033           $ref: '#/components/responses/Conflict'
5034         '422':
5035           $ref: '#/components/responses/UnprocessableEntity'
5036         '500':
5037           $ref: '#/components/responses/InternalServerError'
5038         '503':
5039           $ref: '#/components/responses/ServiceUnavailable'
5040         '5XX':
5041           $ref: '#/components/responses/UnexpectedError'
5042         default:
5043           $ref: '#/components/responses/UnexpectedError'
5044     post:
5045       tags:
5046         - "Infrastructure"
5047         - "Admin"
5048       summary: Create a new VIM Account
5049       description: Create a new VIM Account
5050       operationId: createVimAccount
5051       requestBody:
5052         $ref: '#/components/requestBodies/CreateVimRequest'
5053       responses:
5054         '202':
5055           description: Accepted
5056           content:
5057             application/json:
5058               schema:
5059                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5060             application/yaml:
5061               schema:
5062                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5063         '400':
5064           $ref: '#/components/responses/BadRequest'
5065         '401':
5066           $ref: '#/components/responses/Unauthorized'
5067         '403':
5068           $ref: '#/components/responses/Forbidden'
5069         '404':
5070           $ref: '#/components/responses/NotFound'
5071         '405':
5072           $ref: '#/components/responses/MethodNotAllowed'
5073         '406':
5074           $ref: '#/components/responses/NotAcceptable'
5075         '409':
5076           $ref: '#/components/responses/Conflict'
5077         '422':
5078           $ref: '#/components/responses/UnprocessableEntity'
5079         '500':
5080           $ref: '#/components/responses/InternalServerError'
5081         '503':
5082           $ref: '#/components/responses/ServiceUnavailable'
5083         '5XX':
5084           $ref: '#/components/responses/UnexpectedError'
5085         default:
5086           $ref: '#/components/responses/UnexpectedError'
5087   '/admin/v1/vim_accounts/{vimAccountId}':
5088     parameters:
5089       - name: vimAccountId
5090         in: path
5091         required: true
5092         description: VIM Account ID
5093         schema:
5094           type: string
5095           format: uuid
5096     get:
5097       tags:
5098         - "Infrastructure"
5099         - "Admin"
5100       summary: Query information about an individual VIM Account
5101       description: Query information about an individual VIM Account
5102       operationId: getVimAccount
5103       responses:
5104         '200':
5105           description: OK
5106           content:
5107             application/json:
5108               schema:
5109                 $ref: '#/components/schemas/VimInfo'
5110             application/yaml:
5111               schema:
5112                 $ref: '#/components/schemas/VimInfo'
5113         '400':
5114           $ref: '#/components/responses/BadRequest'
5115         '401':
5116           $ref: '#/components/responses/Unauthorized'
5117         '403':
5118           $ref: '#/components/responses/Forbidden'
5119         '404':
5120           $ref: '#/components/responses/NotFound'
5121         '405':
5122           $ref: '#/components/responses/MethodNotAllowed'
5123         '406':
5124           $ref: '#/components/responses/NotAcceptable'
5125         '409':
5126           $ref: '#/components/responses/Conflict'
5127         '422':
5128           $ref: '#/components/responses/UnprocessableEntity'
5129         '500':
5130           $ref: '#/components/responses/InternalServerError'
5131         '503':
5132           $ref: '#/components/responses/ServiceUnavailable'
5133         '5XX':
5134           $ref: '#/components/responses/UnexpectedError'
5135         default:
5136           $ref: '#/components/responses/UnexpectedError'
5137     patch:
5138       tags:
5139         - "Infrastructure"
5140         - "Admin"
5141       summary: Modify a VIM Account
5142       description: Modify a VIM Account
5143       operationId: editVimAccount
5144       requestBody:
5145         $ref: '#/components/requestBodies/EditVimRequest'
5146       responses:
5147         '202':
5148           description: Accepted
5149           content:
5150             application/json:
5151               schema:
5152                 $ref: '#/components/schemas/OpId'
5153             application/yaml:
5154               schema:
5155                 $ref: '#/components/schemas/OpId'
5156         '400':
5157           $ref: '#/components/responses/BadRequest'
5158         '401':
5159           $ref: '#/components/responses/Unauthorized'
5160         '403':
5161           $ref: '#/components/responses/Forbidden'
5162         '404':
5163           $ref: '#/components/responses/NotFound'
5164         '405':
5165           $ref: '#/components/responses/MethodNotAllowed'
5166         '406':
5167           $ref: '#/components/responses/NotAcceptable'
5168         '409':
5169           $ref: '#/components/responses/Conflict'
5170         '422':
5171           $ref: '#/components/responses/UnprocessableEntity'
5172         '500':
5173           $ref: '#/components/responses/InternalServerError'
5174         '503':
5175           $ref: '#/components/responses/ServiceUnavailable'
5176         '5XX':
5177           $ref: '#/components/responses/UnexpectedError'
5178         default:
5179           $ref: '#/components/responses/UnexpectedError'
5180     delete:
5181       tags:
5182         - "Infrastructure"
5183         - "Admin"
5184       summary: Delete a VIM Account
5185       description: Delete a VIM Account
5186       operationId: deleteVimAccount
5187       responses:
5188         '202':
5189           description: Accepted
5190         '400':
5191           $ref: '#/components/responses/BadRequest'
5192         '401':
5193           $ref: '#/components/responses/Unauthorized'
5194         '403':
5195           $ref: '#/components/responses/Forbidden'
5196         '404':
5197           $ref: '#/components/responses/NotFound'
5198         '405':
5199           $ref: '#/components/responses/MethodNotAllowed'
5200         '406':
5201           $ref: '#/components/responses/NotAcceptable'
5202         '409':
5203           $ref: '#/components/responses/Conflict'
5204         '422':
5205           $ref: '#/components/responses/UnprocessableEntity'
5206         '500':
5207           $ref: '#/components/responses/InternalServerError'
5208         '503':
5209           $ref: '#/components/responses/ServiceUnavailable'
5210         '5XX':
5211           $ref: '#/components/responses/UnexpectedError'
5212         default:
5213           $ref: '#/components/responses/UnexpectedError'
5214   '/admin/v1/wim_accounts':
5215     get:
5216       tags:
5217         - "Infrastructure"
5218         - "Admin"
5219       summary: Query information about multiple WIM Accounts
5220       description: Query information about multiple WIM Accounts
5221       operationId: getWimAccounts
5222       responses:
5223         '200':
5224           description: OK
5225           content:
5226             application/json:
5227               schema:
5228                 $ref: '#/components/schemas/ArrayOfWimInfo'
5229             application/yaml:
5230               schema:
5231                 $ref: '#/components/schemas/ArrayOfWimInfo'
5232         '400':
5233           $ref: '#/components/responses/BadRequest'
5234         '401':
5235           $ref: '#/components/responses/Unauthorized'
5236         '403':
5237           $ref: '#/components/responses/Forbidden'
5238         '404':
5239           $ref: '#/components/responses/NotFound'
5240         '405':
5241           $ref: '#/components/responses/MethodNotAllowed'
5242         '406':
5243           $ref: '#/components/responses/NotAcceptable'
5244         '409':
5245           $ref: '#/components/responses/Conflict'
5246         '422':
5247           $ref: '#/components/responses/UnprocessableEntity'
5248         '500':
5249           $ref: '#/components/responses/InternalServerError'
5250         '503':
5251           $ref: '#/components/responses/ServiceUnavailable'
5252         '5XX':
5253           $ref: '#/components/responses/UnexpectedError'
5254         default:
5255           $ref: '#/components/responses/UnexpectedError'
5256     post:
5257       tags:
5258         - "Infrastructure"
5259         - "Admin"
5260       summary: Create a new WIM Account
5261       description: Create a new WIM Account
5262       operationId: createWimAccount
5263       requestBody:
5264         $ref: '#/components/requestBodies/CreateWimRequest'
5265       responses:
5266         '202':
5267           description: Accepted
5268           content:
5269             application/json:
5270               schema:
5271                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5272             application/yaml:
5273               schema:
5274                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5275         '400':
5276           $ref: '#/components/responses/BadRequest'
5277         '401':
5278           $ref: '#/components/responses/Unauthorized'
5279         '403':
5280           $ref: '#/components/responses/Forbidden'
5281         '404':
5282           $ref: '#/components/responses/NotFound'
5283         '405':
5284           $ref: '#/components/responses/MethodNotAllowed'
5285         '406':
5286           $ref: '#/components/responses/NotAcceptable'
5287         '409':
5288           $ref: '#/components/responses/Conflict'
5289         '422':
5290           $ref: '#/components/responses/UnprocessableEntity'
5291         '500':
5292           $ref: '#/components/responses/InternalServerError'
5293         '503':
5294           $ref: '#/components/responses/ServiceUnavailable'
5295         '5XX':
5296           $ref: '#/components/responses/UnexpectedError'
5297         default:
5298           $ref: '#/components/responses/UnexpectedError'
5299   '/admin/v1/wim_accounts/{wimAccountId}':
5300     parameters:
5301       - name: wimAccountId
5302         in: path
5303         required: true
5304         description: WIM Account ID
5305         schema:
5306           type: string
5307           format: uuid
5308     get:
5309       tags:
5310         - "Infrastructure"
5311         - "Admin"
5312       summary: Query information about an individual WIM Account
5313       description: Query information about an individual WIM Account
5314       operationId: getWimAccount
5315       responses:
5316         '200':
5317           description: OK
5318           content:
5319             application/json:
5320               schema:
5321                 $ref: '#/components/schemas/WimInfo'
5322             application/yaml:
5323               schema:
5324                 $ref: '#/components/schemas/WimInfo'
5325         '400':
5326           $ref: '#/components/responses/BadRequest'
5327         '401':
5328           $ref: '#/components/responses/Unauthorized'
5329         '403':
5330           $ref: '#/components/responses/Forbidden'
5331         '404':
5332           $ref: '#/components/responses/NotFound'
5333         '405':
5334           $ref: '#/components/responses/MethodNotAllowed'
5335         '406':
5336           $ref: '#/components/responses/NotAcceptable'
5337         '409':
5338           $ref: '#/components/responses/Conflict'
5339         '422':
5340           $ref: '#/components/responses/UnprocessableEntity'
5341         '500':
5342           $ref: '#/components/responses/InternalServerError'
5343         '503':
5344           $ref: '#/components/responses/ServiceUnavailable'
5345         '5XX':
5346           $ref: '#/components/responses/UnexpectedError'
5347         default:
5348           $ref: '#/components/responses/UnexpectedError'
5349     patch:
5350       tags:
5351         - "Infrastructure"
5352         - "Admin"
5353       summary: Modify a WIM Account
5354       description: Modify a WIM Account
5355       operationId: editWimAccount
5356       requestBody:
5357         $ref: '#/components/requestBodies/EditWimRequest'
5358       responses:
5359         '202':
5360           description: Accepted
5361           content:
5362             application/json:
5363               schema:
5364                 $ref: '#/components/schemas/OpId'
5365             application/yaml:
5366               schema:
5367                 $ref: '#/components/schemas/OpId'
5368         '400':
5369           $ref: '#/components/responses/BadRequest'
5370         '401':
5371           $ref: '#/components/responses/Unauthorized'
5372         '403':
5373           $ref: '#/components/responses/Forbidden'
5374         '404':
5375           $ref: '#/components/responses/NotFound'
5376         '405':
5377           $ref: '#/components/responses/MethodNotAllowed'
5378         '406':
5379           $ref: '#/components/responses/NotAcceptable'
5380         '409':
5381           $ref: '#/components/responses/Conflict'
5382         '422':
5383           $ref: '#/components/responses/UnprocessableEntity'
5384         '500':
5385           $ref: '#/components/responses/InternalServerError'
5386         '503':
5387           $ref: '#/components/responses/ServiceUnavailable'
5388         '5XX':
5389           $ref: '#/components/responses/UnexpectedError'
5390         default:
5391           $ref: '#/components/responses/UnexpectedError'
5392     delete:
5393       tags:
5394         - "Infrastructure"
5395         - "Admin"
5396       summary: Delete a WIM Account
5397       description: Delete a WIM Account
5398       operationId: deleteWimAccount
5399       responses:
5400         '202':
5401           description: Accepted
5402         '400':
5403           $ref: '#/components/responses/BadRequest'
5404         '401':
5405           $ref: '#/components/responses/Unauthorized'
5406         '403':
5407           $ref: '#/components/responses/Forbidden'
5408         '404':
5409           $ref: '#/components/responses/NotFound'
5410         '405':
5411           $ref: '#/components/responses/MethodNotAllowed'
5412         '406':
5413           $ref: '#/components/responses/NotAcceptable'
5414         '409':
5415           $ref: '#/components/responses/Conflict'
5416         '422':
5417           $ref: '#/components/responses/UnprocessableEntity'
5418         '500':
5419           $ref: '#/components/responses/InternalServerError'
5420         '503':
5421           $ref: '#/components/responses/ServiceUnavailable'
5422         '5XX':
5423           $ref: '#/components/responses/UnexpectedError'
5424         default:
5425           $ref: '#/components/responses/UnexpectedError'
5426   '/admin/v1/sdns':
5427     get:
5428       tags:
5429         - "Infrastructure"
5430         - "Admin"
5431       summary: Query information about multiple SDNs
5432       description: Query information about multiple SDNs
5433       operationId: getSDNs
5434       responses:
5435         '200':
5436           description: OK
5437           content:
5438             application/json:
5439               schema:
5440                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5441             application/yaml:
5442               schema:
5443                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5444         '400':
5445           $ref: '#/components/responses/BadRequest'
5446         '401':
5447           $ref: '#/components/responses/Unauthorized'
5448         '403':
5449           $ref: '#/components/responses/Forbidden'
5450         '404':
5451           $ref: '#/components/responses/NotFound'
5452         '405':
5453           $ref: '#/components/responses/MethodNotAllowed'
5454         '406':
5455           $ref: '#/components/responses/NotAcceptable'
5456         '409':
5457           $ref: '#/components/responses/Conflict'
5458         '422':
5459           $ref: '#/components/responses/UnprocessableEntity'
5460         '500':
5461           $ref: '#/components/responses/InternalServerError'
5462         '503':
5463           $ref: '#/components/responses/ServiceUnavailable'
5464         '5XX':
5465           $ref: '#/components/responses/UnexpectedError'
5466         default:
5467           $ref: '#/components/responses/UnexpectedError'
5468     post:
5469       tags:
5470         - "Infrastructure"
5471         - "Admin"
5472       summary: Create a new SDN
5473       description: Create a new SDN
5474       operationId: createSDN
5475       requestBody:
5476         $ref: '#/components/requestBodies/CreateSdnRequest'
5477       responses:
5478         '202':
5479           description: Accepted
5480           content:
5481             application/json:
5482               schema:
5483                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5484             application/yaml:
5485               schema:
5486                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5487         '400':
5488           $ref: '#/components/responses/BadRequest'
5489         '401':
5490           $ref: '#/components/responses/Unauthorized'
5491         '403':
5492           $ref: '#/components/responses/Forbidden'
5493         '404':
5494           $ref: '#/components/responses/NotFound'
5495         '405':
5496           $ref: '#/components/responses/MethodNotAllowed'
5497         '406':
5498           $ref: '#/components/responses/NotAcceptable'
5499         '409':
5500           $ref: '#/components/responses/Conflict'
5501         '422':
5502           $ref: '#/components/responses/UnprocessableEntity'
5503         '500':
5504           $ref: '#/components/responses/InternalServerError'
5505         '503':
5506           $ref: '#/components/responses/ServiceUnavailable'
5507         '5XX':
5508           $ref: '#/components/responses/UnexpectedError'
5509         default:
5510           $ref: '#/components/responses/UnexpectedError'
5511   '/admin/v1/sdns/{sdnId}':
5512     parameters:
5513       - name: sdnId
5514         in: path
5515         required: true
5516         description: SDN ID
5517         schema:
5518           type: string
5519           format: uuid
5520     get:
5521       tags:
5522         - "Infrastructure"
5523         - "Admin"
5524       summary: Query information about an individual SDN
5525       description: Query information about an individual SDN
5526       operationId: getSDN
5527       responses:
5528         '200':
5529           description: OK
5530           content:
5531             application/json:
5532               schema:
5533                 $ref: '#/components/schemas/SdnInfo'
5534             application/yaml:
5535               schema:
5536                 $ref: '#/components/schemas/SdnInfo'
5537         '400':
5538           $ref: '#/components/responses/BadRequest'
5539         '401':
5540           $ref: '#/components/responses/Unauthorized'
5541         '403':
5542           $ref: '#/components/responses/Forbidden'
5543         '404':
5544           $ref: '#/components/responses/NotFound'
5545         '405':
5546           $ref: '#/components/responses/MethodNotAllowed'
5547         '406':
5548           $ref: '#/components/responses/NotAcceptable'
5549         '409':
5550           $ref: '#/components/responses/Conflict'
5551         '422':
5552           $ref: '#/components/responses/UnprocessableEntity'
5553         '500':
5554           $ref: '#/components/responses/InternalServerError'
5555         '503':
5556           $ref: '#/components/responses/ServiceUnavailable'
5557         '5XX':
5558           $ref: '#/components/responses/UnexpectedError'
5559         default:
5560           $ref: '#/components/responses/UnexpectedError'
5561     patch:
5562       tags:
5563         - "Infrastructure"
5564         - "Admin"
5565       summary: Modify a SDN
5566       description: Modify a SDN
5567       operationId: editSDN
5568       requestBody:
5569         $ref: '#/components/requestBodies/EditSdnRequest'
5570       responses:
5571         '202':
5572           description: Accepted
5573           content:
5574             application/json:
5575               schema:
5576                 $ref: '#/components/schemas/OpId'
5577             application/yaml:
5578               schema:
5579                 $ref: '#/components/schemas/OpId'
5580         '400':
5581           $ref: '#/components/responses/BadRequest'
5582         '401':
5583           $ref: '#/components/responses/Unauthorized'
5584         '403':
5585           $ref: '#/components/responses/Forbidden'
5586         '404':
5587           $ref: '#/components/responses/NotFound'
5588         '405':
5589           $ref: '#/components/responses/MethodNotAllowed'
5590         '406':
5591           $ref: '#/components/responses/NotAcceptable'
5592         '409':
5593           $ref: '#/components/responses/Conflict'
5594         '422':
5595           $ref: '#/components/responses/UnprocessableEntity'
5596         '500':
5597           $ref: '#/components/responses/InternalServerError'
5598         '503':
5599           $ref: '#/components/responses/ServiceUnavailable'
5600         '5XX':
5601           $ref: '#/components/responses/UnexpectedError'
5602         default:
5603           $ref: '#/components/responses/UnexpectedError'
5604     delete:
5605       tags:
5606         - "Infrastructure"
5607         - "Admin"
5608       summary: Delete a SDN
5609       description: Delete a SDN
5610       operationId: deleteSDN
5611       responses:
5612         '202':
5613           description: Accepted
5614         '400':
5615           $ref: '#/components/responses/BadRequest'
5616         '401':
5617           $ref: '#/components/responses/Unauthorized'
5618         '403':
5619           $ref: '#/components/responses/Forbidden'
5620         '404':
5621           $ref: '#/components/responses/NotFound'
5622         '405':
5623           $ref: '#/components/responses/MethodNotAllowed'
5624         '406':
5625           $ref: '#/components/responses/NotAcceptable'
5626         '409':
5627           $ref: '#/components/responses/Conflict'
5628         '422':
5629           $ref: '#/components/responses/UnprocessableEntity'
5630         '500':
5631           $ref: '#/components/responses/InternalServerError'
5632         '503':
5633           $ref: '#/components/responses/ServiceUnavailable'
5634         '5XX':
5635           $ref: '#/components/responses/UnexpectedError'
5636         default:
5637           $ref: '#/components/responses/UnexpectedError'
5638   '/admin/v1/k8sclusters':
5639     get:
5640       tags:
5641         - "Infrastructure"
5642         - "Admin"
5643       summary: Query information about multiple K8s Clusters
5644       description: Query information about multiple K8s Clusters
5645       operationId: getK8sClusters
5646       responses:
5647         '200':
5648           description: OK
5649           content:
5650             application/json:
5651               schema:
5652                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5653             application/yaml:
5654               schema:
5655                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5656         '400':
5657           $ref: '#/components/responses/BadRequest'
5658         '401':
5659           $ref: '#/components/responses/Unauthorized'
5660         '403':
5661           $ref: '#/components/responses/Forbidden'
5662         '404':
5663           $ref: '#/components/responses/NotFound'
5664         '405':
5665           $ref: '#/components/responses/MethodNotAllowed'
5666         '406':
5667           $ref: '#/components/responses/NotAcceptable'
5668         '409':
5669           $ref: '#/components/responses/Conflict'
5670         '422':
5671           $ref: '#/components/responses/UnprocessableEntity'
5672         '500':
5673           $ref: '#/components/responses/InternalServerError'
5674         '503':
5675           $ref: '#/components/responses/ServiceUnavailable'
5676         '5XX':
5677           $ref: '#/components/responses/UnexpectedError'
5678         default:
5679           $ref: '#/components/responses/UnexpectedError'
5680     post:
5681       tags:
5682         - "Infrastructure"
5683         - "Admin"
5684       summary: Create a new K8s Cluster
5685       description: Create a new K8s Cluster
5686       operationId: createK8sCluster
5687       requestBody:
5688         $ref: '#/components/requestBodies/CreateK8sClusterRequest'
5689       responses:
5690         '202':
5691           description: Accepted
5692           content:
5693             application/json:
5694               schema:
5695                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5696             application/yaml:
5697               schema:
5698                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5699         '400':
5700           $ref: '#/components/responses/BadRequest'
5701         '401':
5702           $ref: '#/components/responses/Unauthorized'
5703         '403':
5704           $ref: '#/components/responses/Forbidden'
5705         '404':
5706           $ref: '#/components/responses/NotFound'
5707         '405':
5708           $ref: '#/components/responses/MethodNotAllowed'
5709         '406':
5710           $ref: '#/components/responses/NotAcceptable'
5711         '409':
5712           $ref: '#/components/responses/Conflict'
5713         '422':
5714           $ref: '#/components/responses/UnprocessableEntity'
5715         '500':
5716           $ref: '#/components/responses/InternalServerError'
5717         '503':
5718           $ref: '#/components/responses/ServiceUnavailable'
5719         '5XX':
5720           $ref: '#/components/responses/UnexpectedError'
5721         default:
5722           $ref: '#/components/responses/UnexpectedError'
5723   '/admin/v1/k8sclusters/{k8sClusterId}':
5724     parameters:
5725       - name: k8sClusterId
5726         in: path
5727         required: true
5728         description: K8s Cluster ID
5729         schema:
5730           type: string
5731           format: uuid
5732     get:
5733       tags:
5734         - "Infrastructure"
5735         - "Admin"
5736       summary: Query information about an individual K8s Cluster
5737       description: Query information about an individual K8s Cluster
5738       operationId: getK8sCluster
5739       responses:
5740         '200':
5741           description: OK
5742           content:
5743             application/json:
5744               schema:
5745                 $ref: '#/components/schemas/K8sClusterInfo'
5746             application/yaml:
5747               schema:
5748                 $ref: '#/components/schemas/K8sClusterInfo'
5749         '400':
5750           $ref: '#/components/responses/BadRequest'
5751         '401':
5752           $ref: '#/components/responses/Unauthorized'
5753         '403':
5754           $ref: '#/components/responses/Forbidden'
5755         '404':
5756           $ref: '#/components/responses/NotFound'
5757         '405':
5758           $ref: '#/components/responses/MethodNotAllowed'
5759         '406':
5760           $ref: '#/components/responses/NotAcceptable'
5761         '409':
5762           $ref: '#/components/responses/Conflict'
5763         '422':
5764           $ref: '#/components/responses/UnprocessableEntity'
5765         '500':
5766           $ref: '#/components/responses/InternalServerError'
5767         '503':
5768           $ref: '#/components/responses/ServiceUnavailable'
5769         '5XX':
5770           $ref: '#/components/responses/UnexpectedError'
5771         default:
5772           $ref: '#/components/responses/UnexpectedError'
5773     patch:
5774       tags:
5775         - "Infrastructure"
5776         - "Admin"
5777       summary: Modify a K8s Cluster
5778       description: Modify a K8s Cluster
5779       operationId: editK8sCluster
5780       requestBody:
5781         $ref: '#/components/requestBodies/EditK8sClusterRequest'
5782       responses:
5783         '202':
5784           description: Accepted
5785           content:
5786             application/json:
5787               schema:
5788                 $ref: '#/components/schemas/OpId'
5789             application/yaml:
5790               schema:
5791                 $ref: '#/components/schemas/OpId'
5792         '400':
5793           $ref: '#/components/responses/BadRequest'
5794         '401':
5795           $ref: '#/components/responses/Unauthorized'
5796         '403':
5797           $ref: '#/components/responses/Forbidden'
5798         '404':
5799           $ref: '#/components/responses/NotFound'
5800         '405':
5801           $ref: '#/components/responses/MethodNotAllowed'
5802         '406':
5803           $ref: '#/components/responses/NotAcceptable'
5804         '409':
5805           $ref: '#/components/responses/Conflict'
5806         '422':
5807           $ref: '#/components/responses/UnprocessableEntity'
5808         '500':
5809           $ref: '#/components/responses/InternalServerError'
5810         '503':
5811           $ref: '#/components/responses/ServiceUnavailable'
5812         '5XX':
5813           $ref: '#/components/responses/UnexpectedError'
5814         default:
5815           $ref: '#/components/responses/UnexpectedError'
5816     delete:
5817       tags:
5818         - "Infrastructure"
5819         - "Admin"
5820       summary: Delete a K8s Cluster
5821       description: Delete a K8s Cluster
5822       operationId: deleteK8sCluster
5823       responses:
5824         '202':
5825           description: Accepted
5826         '400':
5827           $ref: '#/components/responses/BadRequest'
5828         '401':
5829           $ref: '#/components/responses/Unauthorized'
5830         '403':
5831           $ref: '#/components/responses/Forbidden'
5832         '404':
5833           $ref: '#/components/responses/NotFound'
5834         '405':
5835           $ref: '#/components/responses/MethodNotAllowed'
5836         '406':
5837           $ref: '#/components/responses/NotAcceptable'
5838         '409':
5839           $ref: '#/components/responses/Conflict'
5840         '422':
5841           $ref: '#/components/responses/UnprocessableEntity'
5842         '500':
5843           $ref: '#/components/responses/InternalServerError'
5844         '503':
5845           $ref: '#/components/responses/ServiceUnavailable'
5846         '5XX':
5847           $ref: '#/components/responses/UnexpectedError'
5848         default:
5849           $ref: '#/components/responses/UnexpectedError'
5850   '/admin/v1/vca':
5851     get:
5852       tags:
5853         - "Infrastructure"
5854         - "Admin"
5855       summary: Query information about multiple VCAs
5856       description: Query information about multiple VCAs
5857       operationId: getVcas
5858       responses:
5859         '200':
5860           description: OK
5861           content:
5862             application/json:
5863               schema:
5864                 $ref: '#/components/schemas/ArrayOfVcaInfo'
5865             application/yaml:
5866               schema:
5867                 $ref: '#/components/schemas/ArrayOfVcaInfo'
5868         '400':
5869           $ref: '#/components/responses/BadRequest'
5870         '401':
5871           $ref: '#/components/responses/Unauthorized'
5872         '403':
5873           $ref: '#/components/responses/Forbidden'
5874         '404':
5875           $ref: '#/components/responses/NotFound'
5876         '405':
5877           $ref: '#/components/responses/MethodNotAllowed'
5878         '406':
5879           $ref: '#/components/responses/NotAcceptable'
5880         '409':
5881           $ref: '#/components/responses/Conflict'
5882         '422':
5883           $ref: '#/components/responses/UnprocessableEntity'
5884         '500':
5885           $ref: '#/components/responses/InternalServerError'
5886         '503':
5887           $ref: '#/components/responses/ServiceUnavailable'
5888         '5XX':
5889           $ref: '#/components/responses/UnexpectedError'
5890         default:
5891           $ref: '#/components/responses/UnexpectedError'
5892     post:
5893       tags:
5894         - "Infrastructure"
5895         - "Admin"
5896       summary: Create a new VCA
5897       description: Create a new VCA
5898       operationId: createVca
5899       requestBody:
5900         $ref: '#/components/requestBodies/CreateVcaRequest'
5901       responses:
5902         '202':
5903           description: Accepted
5904           content:
5905             application/json:
5906               schema:
5907                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5908             application/yaml:
5909               schema:
5910                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5911         '400':
5912           $ref: '#/components/responses/BadRequest'
5913         '401':
5914           $ref: '#/components/responses/Unauthorized'
5915         '403':
5916           $ref: '#/components/responses/Forbidden'
5917         '404':
5918           $ref: '#/components/responses/NotFound'
5919         '405':
5920           $ref: '#/components/responses/MethodNotAllowed'
5921         '406':
5922           $ref: '#/components/responses/NotAcceptable'
5923         '409':
5924           $ref: '#/components/responses/Conflict'
5925         '422':
5926           $ref: '#/components/responses/UnprocessableEntity'
5927         '500':
5928           $ref: '#/components/responses/InternalServerError'
5929         '503':
5930           $ref: '#/components/responses/ServiceUnavailable'
5931         '5XX':
5932           $ref: '#/components/responses/UnexpectedError'
5933         default:
5934           $ref: '#/components/responses/UnexpectedError'
5935   '/admin/v1/vca/{vcaId}':
5936     parameters:
5937       - name: vcaId
5938         in: path
5939         required: true
5940         description: VCA ID
5941         schema:
5942           type: string
5943           format: uuid
5944     get:
5945       tags:
5946         - "Infrastructure"
5947         - "Admin"
5948       summary: Query information about an individual VCA
5949       description: Query information about an individual VCA
5950       operationId: getVca
5951       responses:
5952         '200':
5953           description: OK
5954           content:
5955             application/json:
5956               schema:
5957                 $ref: '#/components/schemas/VcaInfo'
5958             application/yaml:
5959               schema:
5960                 $ref: '#/components/schemas/VcaInfo'
5961         '400':
5962           $ref: '#/components/responses/BadRequest'
5963         '401':
5964           $ref: '#/components/responses/Unauthorized'
5965         '403':
5966           $ref: '#/components/responses/Forbidden'
5967         '404':
5968           $ref: '#/components/responses/NotFound'
5969         '405':
5970           $ref: '#/components/responses/MethodNotAllowed'
5971         '406':
5972           $ref: '#/components/responses/NotAcceptable'
5973         '409':
5974           $ref: '#/components/responses/Conflict'
5975         '422':
5976           $ref: '#/components/responses/UnprocessableEntity'
5977         '500':
5978           $ref: '#/components/responses/InternalServerError'
5979         '503':
5980           $ref: '#/components/responses/ServiceUnavailable'
5981         '5XX':
5982           $ref: '#/components/responses/UnexpectedError'
5983         default:
5984           $ref: '#/components/responses/UnexpectedError'
5985     patch:
5986       tags:
5987         - "Infrastructure"
5988         - "Admin"
5989       summary: Modify a VCA
5990       description: Modify a VCA
5991       operationId: editVca
5992       requestBody:
5993         $ref: '#/components/requestBodies/EditVcaRequest'
5994       responses:
5995         '202':
5996           description: Accepted
5997           content:
5998             application/json:
5999               schema:
6000                 $ref: '#/components/schemas/OpId'
6001             application/yaml:
6002               schema:
6003                 $ref: '#/components/schemas/OpId'
6004         '400':
6005           $ref: '#/components/responses/BadRequest'
6006         '401':
6007           $ref: '#/components/responses/Unauthorized'
6008         '403':
6009           $ref: '#/components/responses/Forbidden'
6010         '404':
6011           $ref: '#/components/responses/NotFound'
6012         '405':
6013           $ref: '#/components/responses/MethodNotAllowed'
6014         '406':
6015           $ref: '#/components/responses/NotAcceptable'
6016         '409':
6017           $ref: '#/components/responses/Conflict'
6018         '422':
6019           $ref: '#/components/responses/UnprocessableEntity'
6020         '500':
6021           $ref: '#/components/responses/InternalServerError'
6022         '503':
6023           $ref: '#/components/responses/ServiceUnavailable'
6024         '5XX':
6025           $ref: '#/components/responses/UnexpectedError'
6026         default:
6027           $ref: '#/components/responses/UnexpectedError'
6028     delete:
6029       tags:
6030         - "Infrastructure"
6031         - "Admin"
6032       summary: Delete a VCA
6033       description: Delete a VCA
6034       operationId: deleteVca
6035       responses:
6036         '202':
6037           description: Accepted
6038         '400':
6039           $ref: '#/components/responses/BadRequest'
6040         '401':
6041           $ref: '#/components/responses/Unauthorized'
6042         '403':
6043           $ref: '#/components/responses/Forbidden'
6044         '404':
6045           $ref: '#/components/responses/NotFound'
6046         '405':
6047           $ref: '#/components/responses/MethodNotAllowed'
6048         '406':
6049           $ref: '#/components/responses/NotAcceptable'
6050         '409':
6051           $ref: '#/components/responses/Conflict'
6052         '422':
6053           $ref: '#/components/responses/UnprocessableEntity'
6054         '500':
6055           $ref: '#/components/responses/InternalServerError'
6056         '503':
6057           $ref: '#/components/responses/ServiceUnavailable'
6058         '5XX':
6059           $ref: '#/components/responses/UnexpectedError'
6060         default:
6061           $ref: '#/components/responses/UnexpectedError'
6062   '/admin/v1/k8srepos':
6063     get:
6064       tags:
6065         - "Repositories"
6066         - "Admin"
6067       summary: Query information about multiple K8s Repos
6068       description: Query information about multiple K8s Repos
6069       operationId: getK8sRepos
6070       responses:
6071         '200':
6072           description: OK
6073           content:
6074             application/json:
6075               schema:
6076                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
6077             application/yaml:
6078               schema:
6079                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
6080         '400':
6081           $ref: '#/components/responses/BadRequest'
6082         '401':
6083           $ref: '#/components/responses/Unauthorized'
6084         '403':
6085           $ref: '#/components/responses/Forbidden'
6086         '404':
6087           $ref: '#/components/responses/NotFound'
6088         '405':
6089           $ref: '#/components/responses/MethodNotAllowed'
6090         '406':
6091           $ref: '#/components/responses/NotAcceptable'
6092         '409':
6093           $ref: '#/components/responses/Conflict'
6094         '422':
6095           $ref: '#/components/responses/UnprocessableEntity'
6096         '500':
6097           $ref: '#/components/responses/InternalServerError'
6098         '503':
6099           $ref: '#/components/responses/ServiceUnavailable'
6100         '5XX':
6101           $ref: '#/components/responses/UnexpectedError'
6102         default:
6103           $ref: '#/components/responses/UnexpectedError'
6104     post:
6105       tags:
6106         - "Repositories"
6107         - "Admin"
6108       summary: Create a new K8s Repo
6109       description: Create a new K8s Repo
6110       operationId: createK8sRepo
6111       requestBody:
6112         $ref: '#/components/requestBodies/CreateK8sRepoRequest'
6113       responses:
6114         '202':
6115           description: Accepted
6116           content:
6117             application/json:
6118               schema:
6119                 $ref: '#/components/schemas/ObjectId_plus_OpId'
6120             application/yaml:
6121               schema:
6122                 $ref: '#/components/schemas/ObjectId_plus_OpId'
6123         '400':
6124           $ref: '#/components/responses/BadRequest'
6125         '401':
6126           $ref: '#/components/responses/Unauthorized'
6127         '403':
6128           $ref: '#/components/responses/Forbidden'
6129         '404':
6130           $ref: '#/components/responses/NotFound'
6131         '405':
6132           $ref: '#/components/responses/MethodNotAllowed'
6133         '406':
6134           $ref: '#/components/responses/NotAcceptable'
6135         '409':
6136           $ref: '#/components/responses/Conflict'
6137         '422':
6138           $ref: '#/components/responses/UnprocessableEntity'
6139         '500':
6140           $ref: '#/components/responses/InternalServerError'
6141         '503':
6142           $ref: '#/components/responses/ServiceUnavailable'
6143         '5XX':
6144           $ref: '#/components/responses/UnexpectedError'
6145         default:
6146           $ref: '#/components/responses/UnexpectedError'
6147   '/admin/v1/k8srepos/{k8sRepoId}':
6148     parameters:
6149       - name: k8sRepoId
6150         in: path
6151         required: true
6152         description: K8s Repo ID
6153         schema:
6154           type: string
6155           format: uuid
6156     get:
6157       tags:
6158         - "Repositories"
6159         - "Admin"
6160       summary: Query information about an individual K8s Repo
6161       description: Query information about an individual K8s Repo
6162       operationId: getK8sRepo
6163       responses:
6164         '200':
6165           description: OK
6166           content:
6167             application/json:
6168               schema:
6169                 $ref: '#/components/schemas/K8sRepoInfo'
6170             application/yaml:
6171               schema:
6172                 $ref: '#/components/schemas/K8sRepoInfo'
6173         '400':
6174           $ref: '#/components/responses/BadRequest'
6175         '401':
6176           $ref: '#/components/responses/Unauthorized'
6177         '403':
6178           $ref: '#/components/responses/Forbidden'
6179         '404':
6180           $ref: '#/components/responses/NotFound'
6181         '405':
6182           $ref: '#/components/responses/MethodNotAllowed'
6183         '406':
6184           $ref: '#/components/responses/NotAcceptable'
6185         '409':
6186           $ref: '#/components/responses/Conflict'
6187         '422':
6188           $ref: '#/components/responses/UnprocessableEntity'
6189         '500':
6190           $ref: '#/components/responses/InternalServerError'
6191         '503':
6192           $ref: '#/components/responses/ServiceUnavailable'
6193         '5XX':
6194           $ref: '#/components/responses/UnexpectedError'
6195         default:
6196           $ref: '#/components/responses/UnexpectedError'
6197     delete:
6198       tags:
6199         - "Repositories"
6200         - "Admin"
6201       summary: Delete a K8s Repo
6202       description: Delete a K8s Repo
6203       operationId: deleteK8sRepo
6204       responses:
6205         '202':
6206           description: Accepted
6207         '400':
6208           $ref: '#/components/responses/BadRequest'
6209         '401':
6210           $ref: '#/components/responses/Unauthorized'
6211         '403':
6212           $ref: '#/components/responses/Forbidden'
6213         '404':
6214           $ref: '#/components/responses/NotFound'
6215         '405':
6216           $ref: '#/components/responses/MethodNotAllowed'
6217         '406':
6218           $ref: '#/components/responses/NotAcceptable'
6219         '409':
6220           $ref: '#/components/responses/Conflict'
6221         '422':
6222           $ref: '#/components/responses/UnprocessableEntity'
6223         '500':
6224           $ref: '#/components/responses/InternalServerError'
6225         '503':
6226           $ref: '#/components/responses/ServiceUnavailable'
6227         '5XX':
6228           $ref: '#/components/responses/UnexpectedError'
6229         default:
6230           $ref: '#/components/responses/UnexpectedError'
6231 # END Admin
6232
6233 externalDocs:
6234   description: Find out more about OSM
6235   url: 'https://osm.etsi.org/docs/user-guide/'
6236
6237 components:
6238   responses:
6239     BadRequest:
6240       description: Bad request. The server cannot process the request due to a client error.
6241       content:
6242         application/json:
6243           schema:
6244             $ref: '#/components/schemas/ProblemDetails'
6245     Unauthorized:
6246       description: Authorization information is missing or invalid.
6247       content:
6248         application/json:
6249           schema:
6250             $ref: '#/components/schemas/ProblemDetails'
6251     Forbidden:
6252       description: Not enough permissions to do this operation.
6253       content:
6254         application/json:
6255           schema:
6256             $ref: '#/components/schemas/ProblemDetails'
6257     NotFound:
6258       description: The specified resource was not found.
6259       content:
6260         application/json:
6261           schema:
6262             $ref: '#/components/schemas/ProblemDetails'
6263     MethodNotAllowed:
6264       description: This method is not supported for the requested resource.
6265       content:
6266         application/json:
6267           schema:
6268             $ref: '#/components/schemas/ProblemDetails'
6269     NotAcceptable:
6270       description: The requested resource content cannot match the Accept headers sent in the request.
6271       content:
6272         application/json:
6273           schema:
6274             $ref: '#/components/schemas/ProblemDetails'
6275     Conflict:
6276       description: The operation cannot be executed currently, due to a conflict with the state of the resource.
6277       content:
6278         application/json:
6279           schema:
6280             $ref: '#/components/schemas/ProblemDetails'
6281     UnprocessableEntity:
6282       description: The request was well-formed but was unable to be followed due to semantic errors.
6283       content:
6284         application/json:
6285           schema:
6286             $ref: '#/components/schemas/ProblemDetails'
6287     InternalServerError:
6288       description: Internal server error.
6289       content:
6290         application/json:
6291           schema:
6292             $ref: '#/components/schemas/ProblemDetails'
6293     ServiceUnavailable:
6294       description: Service temporarily unavailable.
6295       content:
6296         application/json:
6297           schema:
6298             $ref: '#/components/schemas/ProblemDetails'
6299     UnexpectedError:
6300       description: Unexpected error.
6301       content:
6302         application/json:
6303           schema:
6304             $ref: '#/components/schemas/ProblemDetails'
6305     VnfDescriptor:
6306       description: VNF Descriptor (plaintext)
6307       content:
6308         text/plain:
6309           schema:
6310             $ref: '#/components/schemas/VnfDescriptor'
6311     VnfPackage:
6312       description: VNF Package (compressed)
6313       content:
6314         application/zip:
6315           schema:
6316             $ref: '#/components/schemas/VnfPackage'
6317     NsDescriptor:
6318       description: NS Descriptor (plaintext)
6319       content:
6320         text/plain:
6321           schema:
6322             $ref: '#/components/schemas/NsDescriptor'
6323     NsPackage:
6324       description: NS Package (compressed)
6325       content:
6326         application/zip:
6327           schema:
6328             $ref: '#/components/schemas/NsPackage'
6329     NetSliceTemplate:
6330       description: NetSlice Template (plaintext)
6331       content:
6332         text/plain:
6333           schema:
6334             $ref: '#/components/schemas/NetSliceTemplate'
6335     NetSlicePackage:
6336       description: NetSlice Package (compressed)
6337       content:
6338         application/zip:
6339           schema:
6340             $ref: '#/components/schemas/NetSlicePackage'
6341     NslcmSubscriptionResponse:
6342       description: NslcmSubscriptionResponse
6343       content:
6344         application/json:
6345           schema:
6346             $ref: '#/components/schemas/NslcmSubscriptionResponse'
6347         application/yaml:
6348           schema:
6349             $ref: '#/components/schemas/NslcmSubscriptionResponse'
6350   # END RESPONSES
6351
6352   schemas:
6353     ObjectId:
6354       type: object
6355       properties:
6356         id:
6357           type: string
6358           format: uuid
6359     KeyValuePairs:
6360       # A free list of key:value pairs
6361       type: object
6362       additionalProperties: true
6363     NsDescriptor:
6364       type: string
6365       format: yaml|json
6366     NsPackage:
6367       type: string
6368       format: binary
6369     CreateNsdInfoRequest:
6370       # A free list of key:value pairs
6371       type: object
6372       additionalProperties: true
6373     NsdInfoModifications:
6374       description: |
6375         NS Descriptor Information
6376         Only generic fields (id, name, description) are described
6377         For a full specification of the NS Descriptor see:
6378         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
6379       type: object
6380       properties:
6381         id:
6382           description: NSD Identifier
6383           type: string
6384         name:
6385           description: NSD Name
6386           type: string
6387         description:
6388           description: NSD Description
6389           type: string
6390     AlarmInfoModifications:
6391       description: |
6392         Alarm Information
6393       type: object
6394       properties:
6395         id:
6396           description: UUID
6397           type: string
6398         is_enable:
6399           description: To enable/disable the alarm.
6400           type: string
6401         threshold:
6402           description: Threshold value of the Alarm
6403           type: string
6404     NsdInfo:
6405       description: |
6406         NS Descriptor Information
6407         Only generic fields (_id, id, name, description) are described
6408         For a full specification of the NS Descriptor see:
6409         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
6410       type: object
6411       properties:
6412         _id:
6413           description: |
6414             Identifier of the onboarded individual NS descriptor
6415             resource. This identifier is allocated by the NFVO.
6416           type: string
6417           format: uuid
6418         id:
6419           description: |
6420             This identifier, which is allocated by the NSD
6421             designer, identifies the NSD in a globally unique
6422             way. It is copied from the NSD content and shall be
6423             present after the NSD content is on-boarded.
6424           type: string
6425         name:
6426           description: |
6427             Name of the onboarded NSD. This information is
6428             copied from the NSD content and shall be present
6429             after the NSD content is on-boarded.
6430           type: string
6431         description:
6432           description: |
6433             Description of the onboarded NSD.
6434             This information is copied from the NSD content.
6435           type: string
6436       required:
6437         - _id
6438         - id
6439     ArrayOfNsdInfo:
6440       type: array
6441       items:
6442         $ref: '#/components/schemas/NsdInfo'
6443     ProblemDetails:
6444       type: object
6445       properties:
6446         type:
6447           type: string
6448           format: uri
6449         title:
6450           type: string
6451         status:
6452           type: integer
6453         detail:
6454           type: string
6455         instance:
6456           type: string
6457           format: uri
6458       additionalProperties: true
6459       required:
6460         - status
6461         - detail
6462     VnfDescriptor:
6463       type: string
6464       format: yaml|json
6465     VnfPackage:
6466       type: string
6467       format: binary
6468     CreateVnfPkgInfoRequest:
6469       # A free list of key:value pairs
6470       type: object
6471       additionalProperties: true
6472     VnfPkgInfoModifications:
6473       description: |
6474         VNF Package Information
6475         Only generic fields (id, name, description) are described
6476         For a full specification of the VNF Descriptor see:
6477         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
6478       type: object
6479       properties:
6480         id:
6481           description: VNF Package Identifier
6482           type: string
6483         name:
6484           description: VNF Package Name
6485           type: string
6486         description:
6487           description: VNF Package description
6488           type: string
6489     VnfPkgInfo:
6490       description: |
6491         VNF Package Information
6492         Only generic fields (_id, id, name, description) are described
6493         For a full specification of the VNF Descriptor see:
6494         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
6495       type: object
6496       properties:
6497         _id:
6498           description: |
6499             Identifier of the VNF package. This identifier is allocated by the NFVO.
6500           type: string
6501           format: uuid
6502         id:
6503           description: VNF Package Identifier
6504           type: string
6505         name:
6506           description: VNF Package Name
6507           type: string
6508         description:
6509           description: VNF Package description
6510           type: string
6511       required:
6512         - _id
6513         - id
6514     ArrayOfVnfPkgInfo:
6515       type: array
6516       items:
6517         $ref: '#/components/schemas/VnfPkgInfo'
6518     # CreateNsRequest:
6519       # Substituted by InstantiateNsRequest
6520     NsInstance:
6521       description: |
6522         NS Instance Information
6523         Only generic fields (_id, id, name, description) are described
6524         For a full specification of the NS Instance see:
6525         http://osm-download.etsi.org/ftp/osm-doc/nsr.html
6526       type: object
6527       properties:
6528         _id:
6529           description: Identifier of the NS instance.
6530           type: string
6531           format: uuid
6532         id:
6533           description: Identifier of the NS instance.
6534           type: string
6535           format: uuid
6536         name:
6537           description: Human readable name of the NS instance.
6538           type: string
6539         description:
6540           description: Human readable description of the NS instance.
6541           type: string
6542       required:
6543         - _id
6544         - id
6545         - name
6546     InstantiateNsRequest:
6547       type: object
6548       properties:
6549         nsName:
6550           description: |
6551             Human-readable name of the NS instance to be created.
6552           type: string
6553         nsdId:
6554           description: |
6555             Identifier of the NSD that defines the NS instance to be created.
6556           type: string
6557           format: uuid
6558         vimAccountId:
6559           description: |
6560             Identifier of the VIM Account where the NS instance shall be created.
6561           type: string
6562           format: uuid
6563         lcmOperationType:
6564           type: string
6565         nsInstanceId:
6566           type: string
6567           format: uuid
6568         netsliceInstanceId:
6569           type: string
6570           format: uuid
6571         nsDescription:
6572           type: string
6573           nullable: true
6574         wimAccountId:
6575           oneOf:
6576             - type: string
6577             - type: boolean
6578           nullable: true
6579         additionalParamsForNs:
6580           type: object
6581           additionalProperties: true
6582         additionalParamsForVnf: &additionalparamsforvnf
6583           type: array
6584           items:
6585             type: object
6586             properties:
6587               member-vnf-index:
6588                 type: string
6589               additionalParams:
6590                 type: object
6591                 additionalProperties: true
6592               k8s-namespace:
6593                 type: string
6594                 description: |
6595                   use this namespace for all the KDU deployed in this VNF
6596                   (if any). By default it is used the id of the project
6597               additionalParamsForVdu:
6598                 type: array
6599                 items:
6600                   type: object
6601                   properties:
6602                     vdu_id:
6603                       type: string
6604                     additionalParams:
6605                       type: object
6606                       additionalProperties: true
6607                   required:
6608                     - vdu_id
6609                     - additionalParams
6610                   additionalProperties: false
6611               additionalParamsForKdu:
6612                 type: array
6613                 items:
6614                   type: object
6615                   properties:
6616                     kdu_name:
6617                       type: string
6618                     k8s-namespace:
6619                       type: string
6620                       description: use this namespace for this KDU
6621                     kdu_model:
6622                       type: string
6623                     additionalParams:
6624                       type: object
6625                       additionalProperties: true
6626                   required:
6627                     - kdu_name
6628                   minProperties: 2
6629                   additionalProperties: false
6630             required:
6631               - member-vnf-index
6632             minProperties: 2
6633             additionalProperties: false
6634         ssh_keys:
6635           type: array
6636           items:
6637             type: string
6638         nsr_id:
6639           type: string
6640           format: uuid
6641         vduImage:
6642           type: string
6643         placement-engine:
6644           type: string
6645           description: |
6646            To compute automatically the target VIM for each VNF based on 
6647            constrains, e.g. latency. Currently only 'PLA' is supported
6648         placement-constraints:
6649           type: object
6650           additionalProperties: true
6651         k8s-namespace:
6652           type: string
6653         timeout_ns_deploy:
6654           type: integer
6655         vnf:
6656           type: array
6657           items:
6658             type: object
6659             properties:
6660               member-vnf-index:
6661                 type: string
6662               vimAccountId:
6663                 type: string
6664                 format: uuid
6665               vdu:
6666                 type: array
6667                 items:
6668                   type: object
6669                   properties:
6670                     id:
6671                       type: string
6672                     volume:
6673                       type: array
6674                       items:
6675                         type: object
6676                         properties:
6677                           name:
6678                             type: string
6679                           vim-volume-id:
6680                             type: string
6681                         required:
6682                           - name
6683                           - vim-volume-id
6684                         additionalProperties: false
6685                       minItems: 1
6686                     interface:
6687                       type: array
6688                       items:
6689                         type: object
6690                         properties:
6691                           name:
6692                             type: string
6693                           ip-address:
6694                             type: string
6695                             format: ipv4
6696                           mac-address:
6697                             type: string
6698                             format: mac_address
6699                           floating-ip-required:
6700                             type: boolean
6701                         required:
6702                           - name
6703                         additionalProperties: false
6704                       minItems: 1
6705                   required:
6706                     - id
6707                   additionalProperties: false
6708                 minItems: 1
6709               internal-vld:
6710                 type: array
6711                 items:
6712                   type: object
6713                   properties:
6714                     name:
6715                       type: string
6716                     vim-network-name:
6717                       type: string
6718                     vim-network-id:
6719                       type: string
6720                     ip-profile:
6721                       type: object
6722                       properties:
6723                         ip-version:
6724                           type: string
6725                           enum:
6726                             - ipv4
6727                             - ipv6
6728                         subnet-address:
6729                           type: string
6730                           format: ip_prefix
6731                           nullable: true
6732                         gateway-address:
6733                           type: string
6734                           format: ipv4
6735                           nullable: true
6736                         dns-server:
6737                           type: array
6738                           items:
6739                             type: object
6740                             properties:
6741                               address:
6742                                 type: string
6743                                 format: ipv4
6744                             required:
6745                               - address
6746                             additionalProperties: false
6747                           minItems: 1
6748                           nullable: true
6749                         dhcp-params:
6750                           type: object
6751                           properties:
6752                             enabled:
6753                               type: boolean
6754                             count:
6755                               type: integer
6756                               minimum: 1
6757                             start-address:
6758                               type: string
6759                               format: ipv4
6760                           additionalProperties: false
6761                           nullable: true
6762                       additionalProperties: false
6763                     provider-network:
6764                       type: object
6765                       properties:
6766                         physical-network:
6767                           type: string
6768                         segmentation-id:
6769                           type: string
6770                         network-type:
6771                           type: string
6772                         sdn-ports:
6773                           description: |
6774                             connect additional ports to the created underlay SDN connectivity.
6775                             Normally for external connectivy.
6776                           type: array
6777                           items:
6778                             type: object
6779                             properties:
6780                               switch_id:
6781                                 type: string
6782                               switch_port:
6783                                 type: string
6784                               mac_address:
6785                                 type: string
6786                                 format: mac_address
6787                               vlan:
6788                                 type: integer
6789                             additionalProperties: true
6790                             required:
6791                               - switch_id
6792                               - switch_port
6793                           minItems: 1
6794                       additionalProperties: false
6795                     internal-connection-point:
6796                       type: array
6797                       items:
6798                         type: object
6799                         properties:
6800                           id-ref:
6801                             type: string
6802                           ip-address:
6803                             type: string
6804                             format: ipv4
6805                         required:
6806                           - id-ref
6807                         minProperties: 2
6808                         additionalProperties: False
6809                       minItems: 1
6810                   required:
6811                     - name
6812                   minProperties: 2
6813                   additionalProperties: false
6814                 minItems: 1
6815             required:
6816               - member-vnf-index
6817             minProperties: 2
6818             additionalProperties: false
6819           minItems: 1
6820         vld:
6821           type: array
6822           items:
6823             type: object
6824             properties:
6825               name:
6826                 type: string
6827               vim-network-name:
6828                 oneOf:
6829                   - type: string
6830                   - type: object
6831               vim-network-id:
6832                 oneOf:
6833                   - type: string
6834                   - type: object
6835               ns-net:
6836                 type: object
6837                 additionalProperties: true
6838               wimAccountId:
6839                 oneOf:
6840                   - type: string
6841                   - type: boolean
6842                 nullable: true
6843               ip-profile:
6844                 type: object
6845                 additionalProperties: true
6846               provider-network:
6847                 type: object
6848                 properties:
6849                   physical-network:
6850                     type: string
6851                   segmentation-id:
6852                     type: string
6853                 additionalProperties: false
6854               vnfd-connection-point-ref:
6855                 type: array
6856                 items:
6857                   type: object
6858                   properties:
6859                     member-vnf-index-ref:
6860                       type: string
6861                     vnfd-connection-point-ref:
6862                       type: string
6863                     ip-address:
6864                       type: string
6865                       format: ipv4
6866                   required:
6867                     - member-vnf-index-ref
6868                     - vnfd-connection-point-ref
6869                   minProperties: 3
6870                   additionalProperties: false
6871                 minItems: 1
6872             required:
6873               - name
6874             additionalProperties: false
6875           minItems: 1
6876       required:
6877         - nsName
6878         - nsdId
6879         - vimAccountId
6880       additionalProperties: false
6881     ScaleNsRequest:
6882       type: object
6883       properties:
6884         scaleType:
6885           type: string
6886           enum:
6887             - SCALE_VNF
6888         timeout_ns_scale:
6889           description: timeout for the scale operation
6890           type: integer
6891         scaleVnfData:
6892           type: object
6893           properties:
6894             scaleVnfType:
6895               type: string
6896               enum:
6897                 - SCALE_IN
6898                 - SCALE_OUT
6899             scaleByStepData:
6900               type: object
6901               properties:
6902                 scaling-group-descriptor:
6903                   type: string
6904                 scaling-policy:
6905                   type: string
6906                 member-vnf-index:
6907                   type: string
6908               required:
6909                 - scaling-group-descriptor
6910                 - member-vnf-index
6911               additionalProperties: false
6912           required:
6913             - scaleVnfType
6914             - scaleByStepData
6915           additionalProperties: false
6916       required:
6917         - scaleType
6918         - scaleVnfData
6919       additionalProperties: false
6920     HealNsRequest:
6921       description: >
6922         This type represents request parameters for the "Heal NS" operation. This operation supports the healing of an NS
6923         instance by healing one or more of the VNF that are part of this NS.
6924       type: object
6925       properties:
6926         timeout_ns_heal:
6927           description: timeout for the heal operation in seconds
6928           type: integer
6929         healVnfData:
6930           description: >
6931             List of VNF to be healed, together with the information needed to heal each.
6932           type: array
6933           items:
6934             $ref: "#/components/schemas/HealVnfData"
6935       required:
6936         - healVnfData
6937     HealVnfData:
6938       description: >
6939         This type represents the information to heal a VNF that is part of an NS.
6940       type: object
6941       required:
6942         - vnfInstanceId
6943       properties:
6944         vnfInstanceId:
6945           description: >
6946             Identifies the VNF instance, part of the NS, requiring a
6947             healing action.
6948           type: string
6949           format: uuid
6950         cause:
6951           description: >
6952             Indicates the reason why a healing procedure is required.
6953           type: string
6954         additionalParams:
6955           description: >
6956             Additional parameters passed by the NFVO as input to
6957             the healing process, specific to the VNF being healed.
6958           type: object
6959           properties:
6960             run-day1:
6961               description: >
6962                 Flag to indicate whether or not to run day1 primitives for the VNF (default: false).
6963               type: boolean
6964               default: false
6965             vdu:
6966               description: >
6967                 List of VDU to be healed, together with the information needed to heal each.
6968               type: array
6969               items:
6970                 $ref: "#/components/schemas/HealVduData"
6971     HealVduData:
6972       description: >
6973         This type represents the information to heal a VDU that is part of a VNF.
6974       type: object
6975       required:
6976         - vdu-id
6977       properties:
6978         vdu-id:
6979           description: >
6980             Identifies the VDU id, part of the VNF, requiring a healing action.
6981           type: string
6982           format: uuid
6983         count-index:
6984           description: >
6985             Indicates the VDU number when the VDU is part of a scale-group.
6986           type: integer
6987           minimum: 0
6988         run-day1:
6989           description: >
6990             Flag to indicate whether or not to run day1 primitives for the VDU (default: false).
6991           type: boolean
6992           default: false
6993     TerminateNsRequest:
6994       type: object
6995       properties:
6996         timeout_ns_terminate:
6997           description: timeout for terminate operation
6998           type: integer
6999         autoremove:
7000           description: remove network service if termination end without error
7001           type: boolean
7002         skip_terminate_primitives:
7003           description: Do not execute network service termination primitives
7004           type: boolean
7005       additionalProperties: false
7006     ArrayOfNsInstance:
7007       type: array
7008       items:
7009         $ref: '#/components/schemas/NsInstance'
7010     NSinstanceActionRequest:
7011       type: object
7012       properties:
7013         primitive:
7014           type: string
7015           description: |
7016             name of the primitive in the 'config-descriptor'. If the target is
7017             a kdu it can be also 'status', 'rollback' or 'upgrade'
7018         primitive_params:
7019           description: parameters of this primitive
7020           $ref: '#/components/schemas/KeyValuePairs'
7021         member_vnf_index:
7022           type: string
7023           description: provide if the target action is for a vnf, vdu or kdu
7024         vdu_id:
7025           type: string
7026           description: provide if the target action is for a vdu
7027         kdu_name:
7028           type: string
7029           description: provide if the target action is for a kdu
7030         vdu_count_index:
7031           type: integer
7032         timeout_ns_action:
7033           description: timeout for the day 1/2 operation
7034           type: integer
7035       required:
7036         - primitive
7037         - primitive_params
7038       additionalProperties: false
7039     # CreateNSinstanceContentRequest:
7040       # Substituted by InstantiateNsRequest
7041     CreateNSinstanceContentResponse:
7042       type: object
7043       properties:
7044         id:
7045           type: string
7046           format: uuid
7047         nslcmop_id:
7048           type: string
7049           format: uuid
7050     NsLcmOpOcc:
7051       type: object
7052       properties:
7053         _id:
7054           type: string
7055           format: uuid
7056         id:
7057           type: string
7058           format: uuid
7059         lcmOperationType:
7060           type: string
7061         nsInstanceId:
7062           type: string
7063           format: uuid
7064         isAutomaticInvocation:
7065           type: boolean
7066         isCancelPending:
7067           type: boolean
7068         startTime:
7069           type: number
7070           format: float
7071         statusEnteredTime:
7072           type: number
7073           format: float
7074         operationParams:
7075           type: object
7076           properties:
7077             nsName:
7078               type: string
7079             nsdId:
7080               type: string
7081               format: uuid
7082             vimAccountId:
7083               type: string
7084               format: uuid
7085             nsInstanceId:
7086               type: string
7087               format: uuid
7088             lcmOperationType:
7089               type: string
7090         operationState:
7091           type: string
7092         detailed-status:
7093           type: string
7094         links:
7095           type: object
7096           properties:
7097             self:
7098               type: string
7099               format: path   # uri?
7100             nsInstance:
7101               type: string
7102               format: path   # uri?
7103     ArrayOfNsLcmOpOcc:
7104       type: array
7105       items:
7106         $ref: '#/components/schemas/NsLcmOpOcc'
7107     VnfInstanceInfo:
7108       description: |
7109         VNF Instance Information
7110         Only generic fields (_id, id) are described
7111         For a full specification of the VNF Instance see:
7112         http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
7113       type: object
7114       properties:
7115         _id:
7116           type: string
7117           format: uuid
7118         id:
7119           type: string
7120           format: uuid
7121     ArrayOfVnfInstanceInfo:
7122       type: array
7123       items:
7124         $ref: '#/components/schemas/VnfInstanceInfo'
7125     NstInfo:
7126       description: |
7127         NetSlice Template Information
7128         Only generic fields (_id, id, name) are described
7129         For a full specification of the NetSlice Template see:
7130         http://osm-download.etsi.org/ftp/osm-doc/nst.html
7131       type: object
7132       properties:
7133         _id:
7134           description: NetSlice Template Identifier
7135           type: string
7136           format: uuid
7137         id:
7138           description: Human readable NetSlice Template Identifier
7139           type: string
7140         name:
7141           description: Human readable name of the NetSlice Template
7142           type: string
7143     ArrayOfNstInfo:
7144       type: array
7145       items:
7146         $ref: '#/components/schemas/NstInfo'
7147     CreateNstInfoRequest:
7148       # A free list of key:value pairs
7149       type: object
7150       additionalProperties: true
7151     NetSliceTemplate:
7152       type: string
7153       format: yaml|json
7154     NetSlicePackage:
7155       type: string
7156       format: binary
7157     NstInfoModifications:
7158       description: |
7159         NetSlice Template Information
7160         Only generic fields (id, name) are described
7161         For a full specification of the NetSlice Template see:
7162         http://osm-download.etsi.org/ftp/osm-doc/nst.html
7163       type: object
7164       properties:
7165         id:
7166           description: NST Identifier
7167           type: string
7168         name:
7169           description: NST Name
7170           type: string
7171     NetSliceInstance:
7172       description: |
7173         NetSlice Instance Information
7174         Only generic fields (_id, id, name, description) are described
7175         For a full specification of the NetSlice Instance see:
7176         http://osm-download.etsi.org/ftp/osm-doc/nsi.html
7177       type: object
7178       properties:
7179         _id:
7180           description: Identifier of the NetSlice instance.
7181           type: string
7182           format: uuid
7183         id:
7184           description: Identifier of the NetSlice instance.
7185           type: string
7186           format: uuid
7187         name:
7188           description: Human readable name of the NetSlice instance.
7189           type: string
7190         description:
7191           description: Human readable description of the NetSlice instance.
7192           type: string
7193       required:
7194         - _id
7195         - id
7196         - name
7197     ArrayOfNetSliceInstance:
7198       type: array
7199       items:
7200         $ref: '#/components/schemas/NetSliceInstance'
7201     Alarm:
7202       description: |
7203         Alarm Information
7204       type: object
7205       properties:
7206         _id:
7207           description: Identifier of the Alarm.
7208           type: string
7209           format: uuid
7210         id:
7211           description: Identifier of the Alarm.
7212           type: string
7213           format: uuid
7214         metric:
7215           description: Alarm metric.
7216           type: string
7217         threshold:
7218           description: Threshold value of the Alarm.
7219           type: number
7220           format: float
7221         operation:
7222           description: Operation to be applied.
7223           type: string
7224         action:
7225           description: Action to be taken.
7226           type: string
7227         status:
7228           description: Current status of the alarm.
7229           type: string
7230       required:
7231         - _id
7232         - id
7233         - metric
7234         - threshold
7235         - operation
7236     ArrayOfAlarm:
7237       type: array
7238       items:
7239         $ref: '#/components/schemas/Alarm'
7240     # CreateNsiRequest:
7241       # Substituted by InstantiateNsiRequest
7242     InstantiateNsiRequest:
7243       type: object
7244       properties:
7245         nsiName:
7246           description: |
7247             Human-readable name of the NetSlice instance to be created.
7248           type: string
7249         nstId:
7250           description: |
7251             Identifier of the NST that defines the NetSlice instance to be created.
7252           type: string
7253           format: uuid
7254         vimAccountId:
7255           description: |
7256             Identifier of the VIM Account where the NetSlice instance shall be created.
7257           type: string
7258           format: uuid
7259         lcmOperationType:
7260           type: string
7261         netsliceInstanceId:
7262           type: string
7263           format: uuid
7264         nsiDescription:
7265           type: string
7266           nullable: true
7267         ssh_keys:
7268           type: string
7269         nsi_id:
7270           type: string
7271           format: uuid
7272         additionalParamsForNsi:
7273           type: object
7274           additionalProperties: true
7275         netslice-subnet:
7276           type: array
7277           items:
7278             type: object
7279             properties:
7280               id:
7281                 type: string
7282               nsName:
7283                 type: string
7284               nsdId:
7285                 type: string
7286                 format: uuid
7287               vimAccountId:
7288                 type: string
7289                 format: uuid
7290               lcmOperationType:
7291                 type: string
7292               nsInstanceId:
7293                 type: string
7294                 format: uuid
7295               netsliceInstanceId:
7296                 type: string
7297                 format: uuid
7298               nsDescription:
7299                 type: string
7300                 nullable: true
7301               wimAccountId:
7302                 oneOf:
7303                   - type: string
7304                   - type: boolean
7305                 nullable: true
7306               additionalParamsForNs:
7307                 type: object
7308                 additionalProperties: true
7309               additionalParamsForVnf: *additionalparamsforvnf
7310               ssh_keys:
7311                 type: array
7312                 items:
7313                   type: string
7314               nsr_id:
7315                 type: string
7316                 format: uuid
7317               vduImage:
7318                 type: string
7319               vnf:
7320                 type: array
7321                 items:
7322                   type: object
7323                   properties:
7324                     member-vnf-index:
7325                       type: string
7326                     vimAccountId:
7327                       type: string
7328                       format: uuid
7329                     vdu:
7330                       type: array
7331                       items:
7332                         type: object
7333                         properties:
7334                           id:
7335                             type: string
7336                           volume:
7337                             type: array
7338                             items:
7339                               type: object
7340                               properties:
7341                                 name:
7342                                   type: string
7343                                 vim-volume-id:
7344                                   type: string
7345                               required:
7346                                 - name
7347                                 - vim-volume-id
7348                               additionalProperties: false
7349                             minItems: 1
7350                           interface:
7351                             type: array
7352                             items:
7353                               type: object
7354                               properties:
7355                                 name:
7356                                   type: string
7357                                 ip-address:
7358                                   type: string
7359                                   format: ipv4
7360                                 mac-address:
7361                                   type: string
7362                                   format: mac_address
7363                                 floating-ip-required:
7364                                   type: boolean
7365                               required:
7366                                 - name
7367                               additionalProperties: false
7368                             minItems: 1
7369                         required:
7370                           - id
7371                         additionalProperties: false
7372                       minItems: 1
7373                     internal-vld:
7374                       type: array
7375                       items:
7376                         type: object
7377                         properties:
7378                           name:
7379                             type: string
7380                           vim-network-name:
7381                             type: string
7382                           vim-network-id:
7383                             type: string
7384                           ip-profile:
7385                             type: object
7386                             properties:
7387                               ip-version:
7388                                 type: string
7389                                 enum:
7390                                   - ipv4
7391                                   - ipv6
7392                               subnet-address:
7393                                 type: string
7394                                 format: ip_prefix
7395                                 nullable: true
7396                               gateway-address:
7397                                 type: string
7398                                 format: ipv4
7399                                 nullable: true
7400                               dns-server:
7401                                 type: array
7402                                 items:
7403                                   type: object
7404                                   properties:
7405                                     address:
7406                                       type: string
7407                                       format: ipv4
7408                                   required:
7409                                     - address
7410                                   additionalProperties: false
7411                                 minItems: 1
7412                                 nullable: true
7413                               dhcp-params:
7414                                 type: object
7415                                 properties:
7416                                   enabled:
7417                                     type: boolean
7418                                   count:
7419                                     type: integer
7420                                     minimum: 1
7421                                   start-address:
7422                                     type: string
7423                                     format: ipv4
7424                                 additionalProperties: false
7425                                 nullable: true
7426                             additionalProperties: false
7427                           provider-network:
7428                             type: object
7429                             properties:
7430                               physical-network:
7431                                 type: string
7432                               segmentation-id:
7433                                 type: string
7434                             additionalProperties: false
7435                           internal-connection-point:
7436                             type: array
7437                             items:
7438                               type: object
7439                               properties:
7440                                 id-ref:
7441                                   type: string
7442                                 ip-address:
7443                                   type: string
7444                                   format: ipv4
7445                               required:
7446                                 - id-ref
7447                               minProperties: 2
7448                               additionalProperties: False
7449                             minItems: 1
7450                         required:
7451                           - name
7452                         minProperties: 2
7453                         additionalProperties: false
7454                       minItems: 1
7455                   required:
7456                     - member-vnf-index
7457                   minProperties: 2
7458                   additionalProperties: false
7459                 minItems: 1
7460               vld:
7461                 type: array
7462                 items:
7463                   type: object
7464                   properties:
7465                     name:
7466                       type: string
7467                     vim-network-name:
7468                       oneOf:
7469                         - type: string
7470                         - type: object
7471                     vim-network-id:
7472                       oneOf:
7473                         - type: string
7474                         - type: object
7475                     ns-net:
7476                       type: object
7477                       additionalProperties: true
7478                     wimAccountId:
7479                       oneOf:
7480                         - type: string
7481                         - type: boolean
7482                       nullable: true
7483                     ip-profile:
7484                       type: object
7485                       additionalProperties: true
7486                     provider-network:
7487                       type: object
7488                       properties:
7489                         physical-network:
7490                           type: string
7491                         segmentation-id:
7492                           type: string
7493                       additionalProperties: false
7494                     vnfd-connection-point-ref:
7495                       type: array
7496                       items:
7497                         type: object
7498                         properties:
7499                           member-vnf-index-ref:
7500                             type: string
7501                           vnfd-connection-point-ref:
7502                             type: string
7503                           ip-address:
7504                             type: string
7505                             format: ipv4
7506                         required:
7507                           - member-vnf-index-ref
7508                           - vnfd-connection-point-ref
7509                         minProperties: 3
7510                         additionalProperties: false
7511                       minItems: 1
7512                   required:
7513                     - name
7514                   additionalProperties: false
7515                 minItems: 1
7516             additionalProperties: false
7517           minItems: 1
7518         netslice-vld:
7519           type: array
7520           items:
7521             type: object
7522             properties:
7523               name:
7524                 type: string
7525               vim-network-name:
7526                 oneOf:
7527                   - type: string
7528                   - type: object
7529               vim-network-id:
7530                 oneOf:
7531                   - type: string
7532                   - type: object
7533               ip-profile:
7534                 type: object
7535                 additionalProperties: true
7536             required:
7537               - name
7538             additionalProperties: false
7539           minItems: 1
7540       required:
7541         - nsiName
7542         - nstId
7543         - vimAccountId
7544       additionalProperties: false
7545     TerminateNsiRequest:
7546       type: object
7547       properties:
7548         terminationTime:
7549           description: |
7550             Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
7551             automatically at this timestamp. Cardinality "0" indicates the NSI termination
7552             takes place immediately.
7553           type: string
7554           format: date-time
7555     NsiActionRequest:
7556       type: object
7557       properties:
7558         primitive:
7559           type: string
7560         primitive_params:
7561           $ref: '#/components/schemas/KeyValuePairs'
7562         lcmOperationType:
7563           type: string
7564         netsliceInstanceId:
7565           type: string
7566           format: uuid
7567       required:
7568         - primitive
7569         - primitive_params
7570     # CreateNsiContentRequest:
7571       # Substituted by InstantiateNsiRequest
7572     CreateNsiContentResponse:
7573       type: object
7574       properties:
7575         id:
7576           type: string
7577           format: uuid
7578         nsilcmop_id:
7579           type: string
7580           format: uuid
7581     NsiLcmOpOcc:
7582       type: object
7583       properties:
7584         _id:
7585           type: string
7586           format: uuid
7587         id:
7588           type: string
7589           format: uuid
7590         lcmOperationType:
7591           type: string
7592         netsliceInstanceId:
7593           type: string
7594           format: uuid
7595         isAutomaticInvocation:
7596           type: boolean
7597         isCancelPending:
7598           type: boolean
7599         startTime:
7600           type: number
7601           format: float
7602         statusEnteredTime:
7603           type: number
7604           format: float
7605         operationParams:
7606           type: object
7607           properties:
7608             nsiName:
7609               type: string
7610             nstId:
7611               type: string
7612               format: uuid
7613             vimAccountId:
7614               type: string
7615               format: uuid
7616             netsliceInstanceId:
7617               type: string
7618               format: uuid
7619             lcmOperationType:
7620               type: string
7621             nslcmops_ids:
7622               type: array
7623               items:
7624                 type: string
7625                 format: uuid
7626         operationState:
7627           type: string
7628         detailed-status:
7629           type: string
7630         links:
7631           type: object
7632           properties:
7633             self:
7634               type: string
7635               format: path   # uri?
7636             netsliceInstanceId:
7637               type: string
7638               format: path   # uri?
7639     ArrayOfNsiLcmOpOcc:
7640       type: array
7641       items:
7642         $ref: '#/components/schemas/NsiLcmOpOcc'
7643     TokenInfo:
7644       type: object
7645       properties:
7646         _id:
7647           type: string
7648         id:
7649           type: string
7650         admin:
7651           type: boolean
7652         project_id:
7653           type: string
7654           format: uuid
7655         user_id:
7656           type: string
7657           format: uuid
7658         project_name:
7659           type: string
7660         username:
7661           type: string
7662         issued_at:
7663           type: number
7664           format: float
7665         expires:
7666           type: number
7667           format: float
7668         remote_host:
7669           type: string
7670           format: ipv4
7671         remote_port:
7672           type: integer
7673         roles:
7674           type: array
7675           items:
7676             type: object
7677             properties:
7678               id:
7679                 type: string
7680                 format: uuid
7681               name:
7682                 type: string
7683     PasswordExpiryInfo:
7684       type: object
7685       properties:
7686         id:
7687           type: string
7688         message:
7689           type: string
7690         user_id:
7691           type: string
7692           format: uuid
7693     ArrayOfTokenInfo:
7694       type: array
7695       items:
7696         $ref: '#/components/schemas/TokenInfo'
7697     CreateTokenRequest:
7698       type: object
7699       properties:
7700         username:
7701           type: string
7702         password:
7703           type: string
7704         project_id:
7705           type: string
7706       required:
7707         - username
7708         - password
7709     UserInfo:
7710       type: object
7711       properties:
7712         _id:
7713           type: string
7714           format: uuid
7715         username:
7716           type: string
7717         password:
7718           type: string
7719         project_role_mappings:
7720           type: array
7721           items:
7722             type: object
7723             properties:
7724               project:
7725                 type: string
7726                 format: uuid
7727               role:
7728                 type: string
7729                 format: uuid
7730               project_name:
7731                 type: string
7732               role_name:
7733                 type: string
7734         projects:
7735           type: array
7736           items:
7737             type: string
7738     ArrayOfUserInfo:
7739       type: array
7740       items:
7741         $ref: '#/components/schemas/UserInfo'
7742     ProjectRoleMappings:
7743       type: array
7744       items:
7745         type: object
7746         properties:
7747           project:
7748             type: string
7749           role:
7750             type: string
7751       required:
7752         - project
7753         - role
7754       additionalProperties: false
7755     ProjectRoleMappingsOpt:
7756       type: array
7757       items:
7758         type: object
7759         properties:
7760           project:
7761             type: string
7762           role:
7763             type: string
7764       required:
7765         - project
7766       additionalProperties: false
7767     CreateUserRequest:
7768       type: object
7769       properties:
7770         username:
7771           type: string
7772         password:
7773           type: string
7774         projects:
7775           type: array
7776           items:
7777             type: string
7778         project_role_mappings:
7779           $ref: '#/components/schemas/ProjectRoleMappings'
7780       required:
7781         - username
7782         - password
7783       additionalProperties: false
7784     ShortNameList:
7785       type: array
7786       items:
7787         type: string
7788     ArrayEditionSchema:
7789       type: object
7790       additionalProperties: true
7791       minProperties: 1
7792       description: |
7793         Array edition keys must start with '$'
7794         and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
7795     EditUserRequest:
7796       type: object
7797       properties:
7798         username:
7799           type: string
7800         password:
7801           type: string
7802         projects:
7803           oneOf:
7804             - $ref: '#/components/schemas/ShortNameList'
7805             - $ref: '#/components/schemas/ArrayEditionSchema'
7806         project_role_mappings:
7807           $ref: '#/components/schemas/ProjectRoleMappings'
7808         add_project_role_mappings:
7809           $ref: '#/components/schemas/ProjectRoleMappings'
7810         remove_project_role_mappings:
7811           $ref: '#/components/schemas/ProjectRoleMappingsOpt'
7812     QuotasInfo:
7813       type: object
7814       properties:
7815         vnfds:
7816           type: integer
7817           minimum: 0
7818           nullable: false
7819         nsds:
7820           type: integer
7821           minimum: 0
7822           nullable: false
7823         slice_templates:
7824           type: integer
7825           minimum: 0
7826           nullable: false
7827         pduds:
7828           type: integer
7829           minimum: 0
7830           nullable: false
7831         ns_instances:
7832           type: integer
7833           minimum: 0
7834           nullable: false
7835         slice_instances:
7836           type: integer
7837           minimum: 0
7838           nullable: false
7839         vim_accounts:
7840           type: integer
7841           minimum: 0
7842           nullable: false
7843         wim_accounts:
7844           type: integer
7845           minimum: 0
7846           nullable: false
7847         sdn_controllers:
7848           type: integer
7849           minimum: 0
7850           nullable: false
7851         k8sclusters:
7852           type: integer
7853           minimum: 0
7854           nullable: false
7855         vca:
7856           type: integer
7857           minimum: 0
7858           nullable: false
7859         k8srepos:
7860           type: integer
7861           minimum: 0
7862           nullable: false
7863         osmrepos:
7864           type: integer
7865           minimum: 0
7866           nullable: false
7867       additionalProperties: false
7868     EditQuotasInfo:
7869       type: object
7870       properties:
7871         vnfds:
7872           type: integer
7873           minimum: 0
7874           nullable: true
7875         nsds:
7876           type: integer
7877           minimum: 0
7878           nullable: true
7879         slice_templates:
7880           type: integer
7881           minimum: 0
7882           nullable: true
7883         pduds:
7884           type: integer
7885           minimum: 0
7886           nullable: true
7887         ns_instances:
7888           type: integer
7889           minimum: 0
7890           nullable: true
7891         slice_instances:
7892           type: integer
7893           minimum: 0
7894           nullable: true
7895         vim_accounts:
7896           type: integer
7897           minimum: 0
7898           nullable: true
7899         wim_accounts:
7900           type: integer
7901           minimum: 0
7902           nullable: true
7903         sdn_controllers:
7904           type: integer
7905           minimum: 0
7906           nullable: true
7907         k8sclusters:
7908           type: integer
7909           minimum: 0
7910           nullable: true
7911         vca:
7912           type: integer
7913           minimum: 0
7914           nullable: true
7915         k8srepos:
7916           type: integer
7917           minimum: 0
7918           nullable: true
7919         osmrepos:
7920           type: integer
7921           minimum: 0
7922           nullable: true
7923       additionalProperties: false
7924     ProjectInfo:
7925       type: object
7926       properties:
7927         _id:
7928           type: string
7929           format: uuid
7930         name:
7931           type: string
7932         quotas:
7933           $ref: '#/components/schemas/QuotasInfo'
7934     ArrayOfProjectInfo:
7935       type: array
7936       items:
7937         $ref: '#/components/schemas/ProjectInfo'
7938     CreateProjectRequest:
7939       type: object
7940       properties:
7941         name:
7942           type: string
7943         admin:
7944           type: boolean
7945         quotas:
7946           $ref: '#/components/schemas/QuotasInfo'
7947       required:
7948         - name
7949       additionalProperties: false
7950     EditProjectRequest:
7951       type: object
7952       properties:
7953         name:
7954           type: string
7955         admin:
7956           type: boolean
7957         quotas:
7958           $ref: '#/components/schemas/EditQuotasInfo'
7959       additionalProperties: false
7960     PermissionsInfo:
7961       type: object
7962       additionalProperties:
7963         type: boolean
7964         nullable: false
7965       description: |
7966         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7967         Permission values are either true or false
7968     EditPermissionsInfo:
7969       type: object
7970       additionalProperties:
7971         type: boolean
7972         nullable: true
7973       description: |
7974         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7975         Permission values are either true, false, or null
7976     RoleInfo:
7977       type: object
7978       properties:
7979         _id:
7980           type: string
7981           format: uuid
7982         name:
7983           type: string
7984         permissions:
7985           $ref: '#/components/schemas/PermissionsInfo'
7986     ArrayOfRoleInfo:
7987       type: array
7988       items:
7989         $ref: '#/components/schemas/RoleInfo'
7990     CreateRoleRequest:
7991       type: object
7992       properties:
7993         name:
7994           type: string
7995         permissions:
7996           $ref: '#/components/schemas/PermissionsInfo'
7997       required:
7998         - name
7999       additionalProperties: false
8000     EditRoleRequest:
8001       type: object
8002       properties:
8003         name:
8004           type: string
8005         permissions:
8006           $ref: '#/components/schemas/EditPermissionsInfo'
8007       additionalProperties: false
8008     VimType:
8009       type: string
8010       enum:
8011         - openvim
8012         - openstack
8013         - vmware
8014         - opennebula
8015         - aws
8016         - azure
8017         - fos
8018     VimInfo:
8019       type: object
8020       properties:
8021         _id:
8022           type: string
8023           format: uuid
8024         schema_version:
8025           type: string
8026           format: X.Y[.Z]
8027         schema_type:
8028           type: string
8029         name:
8030           type: string
8031         description:
8032           type: string
8033         vim:
8034           type: string
8035         datacenter:
8036           type: string
8037         vim_type:
8038           $ref: '#/components/schemas/VimType'
8039         vim_url:
8040           type: string
8041           format: uri
8042         vim_tenant_name:
8043           type: string
8044         vim_user:
8045           type: string
8046         vim_password:
8047           type: string
8048         vca:
8049           type: string
8050           format: uuid
8051         config:
8052           type: object
8053           additionalProperties: true
8054         resources:
8055           type: object
8056     ArrayOfVimInfo:
8057       type: array
8058       items:
8059         $ref: '#/components/schemas/VimInfo'
8060     CreateVimRequest:
8061       type: object
8062       properties:
8063         schema_version:
8064           type: string
8065           format: X.Y[.Z]
8066         schema_type:
8067           type: string
8068         name:
8069           type: string
8070         description:
8071           type: string
8072         vim:
8073           type: string
8074         datacenter:
8075           type: string
8076         vim_type:
8077           $ref: '#/components/schemas/VimType'
8078         vim_url:
8079           type: string
8080           format: uri
8081         vim_tenant_name:
8082           type: string
8083         vim_user:
8084           type: string
8085         vim_password:
8086           type: string
8087         vca:
8088           type: string
8089           format: uuid
8090         config:
8091           type: object
8092           additionalProperties: true
8093         resources:
8094           type: object
8095       required:
8096         - name
8097         - vim_url
8098         - vim_type
8099         - vim_user
8100         - vim_password
8101         - vim_tenant_name
8102       additionalProperties: false
8103     EditVimRequest:
8104       type: object
8105       properties:
8106         name:
8107           type: string
8108         description:
8109           type: string
8110         vim:
8111           type: string
8112         datacenter:
8113           type: string
8114         vim_type:
8115           $ref: '#/components/schemas/VimType'
8116         vim_url:
8117           type: string
8118           format: uri
8119         vim_tenant_name:
8120           type: string
8121         vim_user:
8122           type: string
8123         vim_password:
8124           type: string
8125         vca:
8126           type: string
8127           format: uuid
8128         config:
8129           type: object
8130           additionalProperties: true
8131       additionalProperties: false
8132     ObjectId_plus_OpId:
8133       type: object
8134       properties:
8135         id:
8136           type: string
8137           format: uuid
8138         op_id:
8139           type: string
8140           format: uuid
8141     OpId:
8142       type: object
8143       properties:
8144         op_id:
8145           type: string
8146           format: uuid
8147     WimType:
8148       type: string
8149       enum:
8150         - onos
8151         - odl
8152         - tapi
8153         - dynpac
8154         - fake
8155     WimInfo:
8156       type: object
8157       properties:
8158         _id:
8159           type: string
8160           format: uuid
8161         schema_version:
8162           type: string
8163           format: X.Y[.Z]
8164         schema_type:
8165           type: string
8166         name:
8167           type: string
8168         description:
8169           type: string
8170         wim:
8171           type: string
8172         wim_type:
8173           $ref: '#/components/schemas/WimType'
8174         wim_url:
8175           type: string
8176           format: uri
8177         user:
8178           type: string
8179         password:
8180           type: string
8181         config:
8182           type: object
8183           additionalProperties: true
8184     ArrayOfWimInfo:
8185       type: array
8186       items:
8187         $ref: '#/components/schemas/WimInfo'
8188     CreateWimRequest:
8189       type: object
8190       properties:
8191         schema_version:
8192           type: string
8193           format: X.Y[.Z]
8194         schema_type:
8195           type: string
8196         name:
8197           type: string
8198         description:
8199           type: string
8200         wim:
8201           type: string
8202         wim_type:
8203           $ref: '#/components/schemas/WimType'
8204         wim_url:
8205           type: string
8206           format: uri
8207         user:
8208           type: string
8209         password:
8210           type: string
8211         config:
8212           type: object
8213           additionalProperties: true
8214       required:
8215         - name
8216         - wim_url
8217         - wim_type
8218       additionalProperties: false
8219     EditWimRequest:
8220       type: object
8221       properties:
8222         name:
8223           type: string
8224         description:
8225           type: string
8226         wim:
8227           type: string
8228         wim_type:
8229           type: string
8230         wim_url:
8231           type: string
8232           format: uri
8233         user:
8234           type: string
8235         password:
8236           type: string
8237         config:
8238           type: object
8239           additionalProperties: true
8240       additionalProperties: false
8241     SdnBasicProperties:
8242       type: object
8243       properties:
8244         name:
8245           type: string
8246         description:
8247           type: string
8248         dpid:
8249           type: string
8250           format: mac_address
8251         ip:
8252           type: string
8253           format: ipv4
8254         port:
8255           type: integer
8256         type:
8257           type: string
8258           enum:
8259             - floodlight
8260             - opendaylight
8261             - onos
8262         version:
8263           type: string
8264         user:
8265           type: string
8266         password:
8267           type: string
8268     SdnExtraProperties:
8269       type: object
8270       properties:
8271         _id:
8272           type: string
8273           format: uuid
8274         schema_version:
8275           type: string
8276           format: X.Y[.Z]
8277     SdnInfo:
8278       allOf:
8279         - $ref: '#/components/schemas/SdnExtraProperties'
8280         - $ref: '#/components/schemas/SdnBasicProperties'
8281     ArrayOfSdnInfo:
8282       type: array
8283       items:
8284         $ref: '#/components/schemas/SdnInfo'
8285     CreateSdnRequest:
8286       allOf:
8287         - $ref: '#/components/schemas/SdnBasicProperties'
8288       required:
8289         - name
8290         - type
8291         - ip
8292         - port
8293         - dpid
8294       additionalProperties: false
8295     EditSdnRequest:
8296       allOf:
8297         - $ref: '#/components/schemas/SdnBasicProperties'
8298       additionalProperties: false
8299     NsPmJobReportInfo:
8300       type: object
8301       properties:
8302         entries:
8303           type: array
8304           items:
8305             type: object
8306             properties:
8307               objectInstanceId:
8308                 type: string
8309                 format: uuid
8310               performanceMetric:
8311                 type: string
8312               performanceValue:
8313                 type: object
8314                 properties:
8315                   performanceValue:
8316                     type: object
8317                     properties:
8318                       performanceValue:
8319                         type: number
8320                       vnfMemberIndex:
8321                         type: string
8322                       vduName:
8323                         type: string
8324                   timestamp:
8325                     type: number
8326     PduInterfaces:
8327       type: array
8328       items:
8329         type: object
8330         properties:
8331           name:
8332             type: string
8333           mgmt:
8334             type: boolean
8335           type:
8336             type: string
8337             enum:
8338               - overlay
8339               - underlay
8340           ip-address:
8341             type: string
8342             format: ipv4
8343           mac-address:
8344             type: string
8345             format: mac_address
8346           vim-network-name:
8347             type: string
8348           vim-network-id:
8349             type: string
8350         required:
8351           - name
8352           - mgmt
8353           - ip-address
8354         additionalProperties: false
8355     PduInfo:
8356       type: object
8357       properties:
8358         _id:
8359           type: string
8360           format: uuid
8361         name:
8362           type: string
8363         type:
8364           type: string
8365         description:
8366           type: string
8367         shared:
8368           type: boolean
8369         vims:
8370           type: array
8371           items:
8372             type: string
8373         vim_accounts:
8374           type: array
8375           items:
8376             type: string
8377         interfaces:
8378           $ref: '#/components/schemas/PduInterfaces'
8379     ArrayOfPduInfo:
8380       type: array
8381       items:
8382         $ref: '#/components/schemas/PduInfo'
8383     CreatePduRequest:
8384       type: object
8385       properties:
8386         name:
8387           type: string
8388         type:
8389           type: string
8390         description:
8391           type: string
8392         shared:
8393           type: boolean
8394         vims:
8395           type: array
8396           items:
8397             type: string
8398         vim_accounts:
8399           type: array
8400           items:
8401             type: string
8402         interfaces:
8403           $ref: '#/components/schemas/PduInterfaces'
8404       required:
8405         - name
8406         - type
8407         - interfaces
8408       additionalProperties: false
8409     EditPduRequest:
8410       type: object
8411       properties:
8412         name:
8413           type: string
8414         type:
8415           type: string
8416         description:
8417           type: string
8418         shared:
8419           type: boolean
8420         vims:
8421           type: array
8422           items:
8423             type: string
8424         vim_accounts:
8425           type: array
8426           items:
8427             type: string
8428         interfaces:
8429           $ref: '#/components/schemas/PduInterfaces'
8430       additionalProperties: false
8431     K8sClusterNetList:
8432       type: array
8433       items:
8434         type: object
8435         additionalProperties: true
8436     K8sClusterInfo:
8437       type: object
8438       properties:
8439         _id:
8440           type: string
8441           format: uuid
8442         schema_version:
8443           type: string
8444           format: X.Y[.Z]
8445         schema_type:
8446           type: string
8447         name:
8448           type: string
8449         description:
8450           type: string
8451         credentials:
8452           type: object
8453           additionalProperties: true
8454         vim_account:
8455           type: string
8456           format: uuid
8457         k8s_version:
8458           type: string
8459         nets:
8460           $ref: '#/components/schemas/K8sClusterNetList'
8461         namespace:
8462           type: string
8463         cni:
8464           type: array
8465           items:
8466             type: string
8467     ArrayOfK8sClusterInfo:
8468       type: array
8469       items:
8470         $ref: '#/components/schemas/K8sClusterInfo'
8471     CreateK8sClusterRequest:
8472       type: object
8473       properties:
8474         schema_version:
8475           type: string
8476           format: X.Y[.Z]
8477         schema_type:
8478           type: string
8479         name:
8480           type: string
8481         description:
8482           type: string
8483         credentials:
8484           type: object
8485           additionalProperties: true
8486         vim_account:
8487           type: string
8488           format: uuid
8489         k8s_version:
8490           type: string
8491         nets:
8492           $ref: '#/components/schemas/K8sClusterNetList'
8493         namespace:
8494           type: string
8495         cni:
8496           type: array
8497           items:
8498             type: string
8499       required:
8500         - name
8501         - credentials
8502         - vim_account
8503         - k8s_version
8504         - nets
8505       additionalProperties: false
8506     EditK8sClusterRequest:
8507       type: object
8508       properties:
8509         name:
8510           type: string
8511         description:
8512           type: string
8513         credentials:
8514           type: object
8515           additionalProperties: true
8516         vim_account:
8517           type: string
8518           format: uuid
8519         k8s_version:
8520           type: string
8521         nets:
8522           $ref: '#/components/schemas/K8sClusterNetList'
8523         namespace:
8524           type: string
8525         cni:
8526           type: array
8527           items:
8528             type: string
8529       additionalProperties: false
8530     VcaInfo:
8531       type: object
8532       properties:
8533         _id:
8534           type: string
8535           format: uuid
8536         schema_version:
8537           type: string
8538           format: X.Y[.Z]
8539         schema_type:
8540           type: string
8541         name:
8542           type: string
8543         description:
8544           type: string
8545         endpoints:
8546           type: string
8547         user:
8548           type: string
8549         secret:
8550           type: string
8551         cacert:
8552           type: string
8553         lxd-cloud:
8554           type: string
8555         lxd-credentials:
8556           type: string
8557         k8s-cloud:
8558           type: string
8559         k8s-credentials:
8560           type: string
8561         model-config:
8562           type: object
8563           additionalProperties: true
8564     ArrayOfVcaInfo:
8565       type: array
8566       items:
8567         $ref: '#/components/schemas/VcaInfo'
8568     CreateVcaRequest:
8569       type: object
8570       properties:
8571         schema_version:
8572           type: string
8573           format: X.Y[.Z]
8574         schema_type:
8575           type: string
8576         name:
8577           type: string
8578         description:
8579           type: string
8580         endpoints:
8581           type: string
8582         user:
8583           type: string
8584         secret:
8585           type: string
8586         cacert:
8587           type: string
8588         lxd-cloud:
8589           type: string
8590         lxd-credentials:
8591           type: string
8592         k8s-cloud:
8593           type: string
8594         k8s-credentials:
8595           type: string
8596         model-config:
8597           type: object
8598           additionalProperties: true
8599       required:
8600         - name
8601         - endpoints
8602         - user
8603         - secret
8604         - cacert
8605         - lxd-cloud
8606         - lxd-credentials
8607         - k8s-cloud
8608         - k8s-credentials
8609       additionalProperties: false
8610     EditVcaRequest:
8611       type: object
8612       properties:
8613         name:
8614           type: string
8615         description:
8616           type: string
8617         endpoints:
8618           type: string
8619         user:
8620           type: string
8621         secret:
8622           type: string
8623         cacert:
8624           type: string
8625         lxd-cloud:
8626           type: string
8627         lxd-credentials:
8628           type: string
8629         k8s-cloud:
8630           type: string
8631         k8s-credentials:
8632           type: string
8633         model-config:
8634           type: object
8635           additionalProperties: true
8636       additionalProperties: false
8637     K8sRepoType:
8638       type: string
8639       enum:
8640         - chart
8641         - bundle
8642     K8sRepoInfo:
8643       type: object
8644       properties:
8645         _id:
8646           type: string
8647           format: uuid
8648         name:
8649           type: string
8650         description:
8651           type: string
8652         type:
8653           $ref: '#/components/schemas/K8sRepoType'
8654         url:
8655           type: string
8656           format: uri
8657         username:
8658           type: string
8659           description: repository username
8660         password:
8661           type: string
8662           description: repository password
8663         ca-file:
8664           type: string
8665           description: verify certificates of HTTPS-enabled servers using this CA bundle
8666         cert-file:
8667           type: string
8668           description: identify HTTPS client using this SSL certificate file
8669         skip-tls-verify:
8670           type: boolean
8671           description: skip tls certificate checks for the repository
8672         key-file:
8673           type: string
8674           description: identify HTTPS client using this SSL key file
8675     ArrayOfK8sRepoInfo:
8676       type: array
8677       items:
8678         $ref: '#/components/schemas/K8sRepoInfo'
8679     CreateK8sRepoRequest:
8680       type: object
8681       properties:
8682         name:
8683           type: string
8684         description:
8685           type: string
8686         type:
8687           $ref: '#/components/schemas/K8sRepoType'
8688         url:
8689           type: string
8690           format: uri
8691       required:
8692         - name
8693         - type
8694         - url
8695       additionalProperties: false
8696     NslcmSubscriptionResponse:
8697       type: object
8698       properties:
8699         id:
8700           type: string
8701           format: uuid
8702         filter:
8703           type: object
8704         CallbackUri:
8705           type: string
8706           format: uri
8707         _links:
8708           type: object
8709     NslcmSubscriptionInfo:
8710       type: object
8711       properties:
8712         _id:
8713           type: string
8714           format: uuid
8715         _admin:
8716           type: object
8717         schema_version:
8718           type: string
8719           format: 'X.Y[.Z]'
8720         CallbackUri:
8721           type: string
8722           format: uri
8723         filter:
8724           type: object
8725         authentication:
8726           $ref: '#/components/schemas/Authenticationschema'
8727     ArrayOfNslcmSubscriptionInfo:
8728       type: array
8729       items:
8730         $ref: '#/components/schemas/NslcmSubscriptionInfo'
8731     NsInstanceSubscriptionFilter:
8732       description: |
8733         used to identify the network service
8734       type: object
8735       oneOf:
8736         - $ref: '#/components/schemas/nsdIds'
8737         - $ref: '#/components/schemas/vnfdIds'
8738         - $ref: '#/components/schemas/pnfdIds'
8739         - $ref: '#/components/schemas/nsInstanceIds'
8740         - $ref: '#/components/schemas/nsInstanceNames'
8741     nsdIds:
8742       type: array
8743       items:
8744         type: string
8745     vnfdIds:
8746       type: array
8747       items:
8748         type: string
8749     pnfdIds:
8750       type: array
8751       items:
8752         type: string
8753     nsInstanceIds:
8754       type: array
8755       items:
8756         type: string
8757     nsInstanceNames:
8758       type: array
8759       items:
8760         type: string
8761     Nslcmsubschema:
8762       type: object
8763       properties:
8764         nsInstanceSubscriptionFilter:
8765            $ref: '#/components/schemas/NsInstanceSubscriptionFilter'
8766         notificationTypes:
8767           description: |
8768             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
8769           type: array
8770           items:
8771             type: string
8772             enum:
8773               - NsIdentifierCreationNotification
8774               - NsIdentifierDeletionNotification
8775               - NsLcmOperationOccurrenceNotification
8776               - NsChangeNotification
8777         operationTypes:
8778           type: array
8779           items:
8780             type: string
8781             enum:
8782               - INSTANTIATE
8783               - SCALE
8784               - TERMINATE
8785               - UPDATE
8786               - HEAL
8787         operationStates:
8788           type: array
8789           items:
8790             type: string
8791             enum:
8792               - PROCESSING
8793               - COMPLETED
8794               - PARTIALLY_COMPLETED
8795               - FAILED
8796               - FAILED_TEMP
8797               - ROLLING_BACK
8798               - ROLLED_BACK
8799         nsComponentTypes:
8800           type: array
8801           items:
8802             type: string
8803             enum:
8804               - VNF
8805               - NS
8806               - PNF
8807         lcmOpNameImpactingNsComponent:
8808           type: array
8809           items:
8810             type: string
8811             enum:
8812               - VNF_INSTANTIATE
8813               - VNF_SCALE
8814               - VNF_SCALE_TO_LEVEL
8815               - VNF_CHANGE_FLAVOUR
8816               - VNF_TERMINATE
8817               - VNF_HEAL
8818               - VNF_OPERATE
8819               - VNF_CHANGE_EXT_CONN
8820               - VNF_MODIFY_INFO
8821               - NS_INSTANTIATE
8822               - NS_SCALE
8823               - NS_UPDATE
8824               - NS_TERMINATE
8825               - NS_HEAL
8826         lcmOpOccStatusImpactingNsComponent:
8827           type: array
8828           items:
8829             type: string
8830             enum:
8831               - START
8832               - COMPLETED
8833               - PARTIALLY_COMPLETED
8834               - FAILED
8835               - ROLLED_BACK
8836     Authenticationschema:
8837       type: object
8838       properties:
8839         authType:
8840           type: string
8841           enum:
8842             - basic
8843         paramsBasic:
8844           type: object
8845           properties:
8846             userName:
8847               type: string
8848             password:
8849               type: string
8850     NslcmSubscriptionRequest:
8851       type: object
8852       properties:
8853         filter:
8854           $ref: '#/components/schemas/Nslcmsubschema'
8855         CallbackUri:
8856           type: string
8857           format: uri
8858         authentication:
8859           $ref: '#/components/schemas/Authenticationschema'
8860       required:
8861         - CallbackUri
8862   # END SCHEMAS
8863
8864   requestBodies:
8865     CreateNsdInfoRequest:
8866       content:
8867         application/json:
8868           schema:
8869             $ref: '#/components/schemas/CreateNsdInfoRequest'
8870         application/yaml:
8871           schema:
8872             $ref: '#/components/schemas/CreateNsdInfoRequest'
8873     NsdInfoModifications:
8874       content:
8875         application/json:
8876           schema:
8877             $ref: '#/components/schemas/NsdInfoModifications'
8878         application/yaml:
8879           schema:
8880             $ref: '#/components/schemas/NsdInfoModifications'
8881     AlarmInfoModifications:
8882       content:
8883         application/json:
8884           schema:
8885             $ref: '#/components/schemas/AlarmInfoModifications'
8886         application/yaml:
8887           schema:
8888             $ref: '#/components/schemas/AlarmInfoModifications'
8889     NsDescriptor:
8890       content:
8891         text/plain:
8892           schema:
8893             $ref: '#/components/schemas/NsDescriptor'
8894     NsPackage:
8895       content:
8896         application/zip:
8897           schema:
8898             $ref: '#/components/schemas/NsPackage'
8899     CreateVnfPkgInfoRequest:
8900       content:
8901         application/json:
8902           schema:
8903             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
8904         application/yaml:
8905           schema:
8906             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
8907     VnfPkgInfoModifications:
8908       content:
8909         application/json:
8910           schema:
8911             $ref: '#/components/schemas/VnfPkgInfoModifications'
8912         application/yaml:
8913           schema:
8914             $ref: '#/components/schemas/VnfPkgInfoModifications'
8915     VnfPackage:
8916       content:
8917         application/zip:
8918           schema:
8919             $ref: '#/components/schemas/VnfPackage'
8920     VnfDescriptor:
8921       content:
8922         text/plain:
8923           schema:
8924             $ref: '#/components/schemas/VnfDescriptor'
8925     # CreateNsRequest:
8926       # Substituted by InstantiateNsRequest
8927     InstantiateNsRequest:
8928       content:
8929         application/json:
8930           schema:
8931             $ref: '#/components/schemas/InstantiateNsRequest'
8932         application/yaml:
8933           schema:
8934             $ref: '#/components/schemas/InstantiateNsRequest'
8935     HealNsRequest:
8936       content:
8937         application/json:
8938           schema:
8939             $ref: '#/components/schemas/HealNsRequest'
8940         application/yaml:
8941           schema:
8942             $ref: '#/components/schemas/HealNsRequest'
8943     ScaleNsRequest:
8944       content:
8945         application/json:
8946           schema:
8947             $ref: '#/components/schemas/ScaleNsRequest'
8948         application/yaml:
8949           schema:
8950             $ref: '#/components/schemas/ScaleNsRequest'
8951     TerminateNsRequest:
8952       content:
8953         application/json:
8954           schema:
8955             $ref: '#/components/schemas/TerminateNsRequest'
8956         application/yaml:
8957           schema:
8958             $ref: '#/components/schemas/TerminateNsRequest'
8959     # CreateNSinstanceContentRequest:
8960       # Substituted by InstantiateNsRequest
8961     CreateNstInfoRequest:
8962       content:
8963         application/json:
8964           schema:
8965             $ref: '#/components/schemas/CreateNstInfoRequest'
8966         application/yaml:
8967           schema:
8968             $ref: '#/components/schemas/CreateNstInfoRequest'
8969     NetSliceTemplate:
8970       content:
8971         text/plain:
8972           schema:
8973             $ref: '#/components/schemas/NetSliceTemplate'
8974     NetSlicePackage:
8975       content:
8976         application/zip:
8977           schema:
8978             $ref: '#/components/schemas/NetSlicePackage'
8979     NstInfoModifications:
8980       content:
8981         application/json:
8982           schema:
8983             $ref: '#/components/schemas/NstInfoModifications'
8984         application/yaml:
8985           schema:
8986             $ref: '#/components/schemas/NstInfoModifications'
8987     # CreateNsiRequest:
8988       # Substituted by InstantiateNsiRequest
8989     InstantiateNsiRequest:
8990       content:
8991         application/json:
8992           schema:
8993             $ref: '#/components/schemas/InstantiateNsiRequest'
8994         application/yaml:
8995           schema:
8996             $ref: '#/components/schemas/InstantiateNsiRequest'
8997     TerminateNsiRequest:
8998       content:
8999         application/json:
9000           schema:
9001             $ref: '#/components/schemas/TerminateNsiRequest'
9002         application/yaml:
9003           schema:
9004             $ref: '#/components/schemas/TerminateNsiRequest'
9005     NsiActionRequest:
9006       content:
9007         application/json:
9008           schema:
9009             $ref: '#/components/schemas/NsiActionRequest'
9010         application/yaml:
9011           schema:
9012             $ref: '#/components/schemas/NsiActionRequest'
9013     # CreateNsiContentRequest:
9014       # Substituted by InstantiateNsiRequest
9015     CreateTokenRequest:
9016       content:
9017         application/json:
9018           schema:
9019             $ref: '#/components/schemas/CreateTokenRequest'
9020         application/yaml:
9021           schema:
9022             $ref: '#/components/schemas/CreateTokenRequest'
9023     CreateUserRequest:
9024       content:
9025         application/json:
9026           schema:
9027             $ref: '#/components/schemas/CreateUserRequest'
9028         application/yaml:
9029           schema:
9030             $ref: '#/components/schemas/CreateUserRequest'
9031     EditUserRequest:
9032       content:
9033         application/json:
9034           schema:
9035             $ref: '#/components/schemas/EditUserRequest'
9036         application/yaml:
9037           schema:
9038             $ref: '#/components/schemas/EditUserRequest'
9039     CreateProjectRequest:
9040       content:
9041         application/json:
9042           schema:
9043             $ref: '#/components/schemas/CreateProjectRequest'
9044         application/yaml:
9045           schema:
9046             $ref: '#/components/schemas/CreateProjectRequest'
9047     EditProjectRequest:
9048       content:
9049         application/json:
9050           schema:
9051             $ref: '#/components/schemas/EditProjectRequest'
9052         application/yaml:
9053           schema:
9054             $ref: '#/components/schemas/EditProjectRequest'
9055     CreateRoleRequest:
9056       content:
9057         application/json:
9058           schema:
9059             $ref: '#/components/schemas/CreateRoleRequest'
9060         application/yaml:
9061           schema:
9062             $ref: '#/components/schemas/CreateRoleRequest'
9063     EditRoleRequest:
9064       content:
9065         application/json:
9066           schema:
9067             $ref: '#/components/schemas/EditRoleRequest'
9068         application/yaml:
9069           schema:
9070             $ref: '#/components/schemas/EditRoleRequest'
9071     CreateVimRequest:
9072       content:
9073         application/json:
9074           schema:
9075             $ref: '#/components/schemas/CreateVimRequest'
9076         application/yaml:
9077           schema:
9078             $ref: '#/components/schemas/CreateVimRequest'
9079     EditVimRequest:
9080       content:
9081         application/json:
9082           schema:
9083             $ref: '#/components/schemas/EditVimRequest'
9084         application/yaml:
9085           schema:
9086             $ref: '#/components/schemas/EditVimRequest'
9087     CreateWimRequest:
9088       content:
9089         application/json:
9090           schema:
9091             $ref: '#/components/schemas/CreateWimRequest'
9092         application/yaml:
9093           schema:
9094             $ref: '#/components/schemas/CreateWimRequest'
9095     EditWimRequest:
9096       content:
9097         application/json:
9098           schema:
9099             $ref: '#/components/schemas/EditWimRequest'
9100         application/yaml:
9101           schema:
9102             $ref: '#/components/schemas/EditWimRequest'
9103     CreateSdnRequest:
9104       content:
9105         application/json:
9106           schema:
9107             $ref: '#/components/schemas/CreateSdnRequest'
9108         application/yaml:
9109           schema:
9110             $ref: '#/components/schemas/CreateSdnRequest'
9111     EditSdnRequest:
9112       content:
9113         application/json:
9114           schema:
9115             $ref: '#/components/schemas/EditSdnRequest'
9116         application/yaml:
9117           schema:
9118             $ref: '#/components/schemas/EditSdnRequest'
9119     CreatePduRequest:
9120       content:
9121         application/json:
9122           schema:
9123             $ref: '#/components/schemas/CreatePduRequest'
9124         application/yaml:
9125           schema:
9126             $ref: '#/components/schemas/CreatePduRequest'
9127     EditPduRequest:
9128       content:
9129         application/json:
9130           schema:
9131             $ref: '#/components/schemas/EditPduRequest'
9132         application/yaml:
9133           schema:
9134             $ref: '#/components/schemas/EditPduRequest'
9135     CreateK8sClusterRequest:
9136       content:
9137         application/json:
9138           schema:
9139             $ref: '#/components/schemas/CreateK8sClusterRequest'
9140         application/yaml:
9141           schema:
9142             $ref: '#/components/schemas/CreateK8sClusterRequest'
9143     EditK8sClusterRequest:
9144       content:
9145         application/json:
9146           schema:
9147             $ref: '#/components/schemas/EditK8sClusterRequest'
9148         application/yaml:
9149           schema:
9150             $ref: '#/components/schemas/EditK8sClusterRequest'
9151     CreateVcaRequest:
9152       content:
9153         application/json:
9154           schema:
9155             $ref: '#/components/schemas/CreateVcaRequest'
9156         application/yaml:
9157           schema:
9158             $ref: '#/components/schemas/CreateVcaRequest'
9159     EditVcaRequest:
9160       content:
9161         application/json:
9162           schema:
9163             $ref: '#/components/schemas/EditVcaRequest'
9164         application/yaml:
9165           schema:
9166             $ref: '#/components/schemas/EditVcaRequest'
9167     CreateK8sRepoRequest:
9168       content:
9169         application/json:
9170           schema:
9171             $ref: '#/components/schemas/CreateK8sRepoRequest'
9172         application/yaml:
9173           schema:
9174             $ref: '#/components/schemas/CreateK8sRepoRequest'
9175     NslcmSubscriptionRequest:
9176       content:
9177         application/json:
9178           schema:
9179             $ref: '#/components/schemas/NslcmSubscriptionRequest'
9180         application/yaml:
9181           schema:
9182             $ref: '#/components/schemas/NslcmSubscriptionRequest'
9183   # END REQUEST BODIES
9184
9185   securitySchemes:
9186     bearerAuth:
9187       type: http
9188       scheme: bearer