Feature 10997: add oci flag as new property in k8s repos
[osm/SOL005.git] / osm-openapi.yaml
1 openapi: 3.0.0
2
3 servers:
4   - description: OSM NB API
5     url: 'https://osm.etsi.org/nbapi/v1.0.0'
6
7 info:
8   description: |
9     This is Open Source MANO Northbound API featuring ETSI NFV SOL005.
10     For more information on OSM, you can visit [http://osm.etsi.org](http://osm.etsi.org).
11     You can send us your comments and questions to OSM_TECH@list.etsi.org
12     or join the [OpenSourceMANO Slack Workplace](https://join.slack.com/t/opensourcemano/shared_invite/enQtMzQ3MzYzNTQ0NDIyLWVkNTE4ZjZjNWI0ZTQyN2VhOTI1MjViMzU1NWYwMWM3ODI4NTQyY2VlODA2ZjczMWIyYTFkZWNiZmFkM2M2ZDk)
13   version: "1.0.0"
14   title: OSM NB API featuring ETSI NFV SOL005
15   contact:
16     email: OSM_TECH@list.etsi.org
17   license:
18     name: Apache 2.0
19     url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
20
21 tags:
22   - name: 'VNF packages'
23     description: Management operations of VNF descriptors and packages
24   - name: 'NS packages'
25     description: Management operations of NS descriptors and packages
26   - name: 'NS instances'
27     description: Management operations of NS instances
28   - name: 'NetSlice templates'
29     description: Management operations of NetSlice Templates
30   - name: 'NetSlice instances'
31     description: Management operations of NetSlice Instances
32   - name: 'NS Performance Management'
33     description: Management operations related to Performance Mangement of NS instances
34   - name: 'Physical Data Units (PDU)'
35     description: Management operations of PDUs
36   - name: 'Authentication'
37     description: Authentication operations
38   - name: 'Identity'
39     description: Management operations of users, projects and roles
40   - name: 'Infrastructure'
41     description: Management operations of VIM, VIM accounts, WIM and SDN controllers
42   - name: 'Repositories'
43     description: Management operations of repositories
44   - name: 'Admin'
45     description: Management operations of Administration items
46
47 security:
48   - bearerAuth: []
49
50 paths:
51
52 # BEGIN NS Packages
53   '/nsd/v1/ns_descriptors':
54     get:
55       tags:
56         - "NS packages"
57       summary: Query information about multiple NS descriptor resources
58       description: Query information about multiple NS descriptor resources
59       operationId: getNSDs
60       responses:
61         '200':
62           description: OK
63           content:
64             application/json:
65               schema:
66                 $ref: '#/components/schemas/ArrayOfNsdInfo'
67             application/yaml:
68               schema:
69                 $ref: '#/components/schemas/ArrayOfNsdInfo'
70         '400':
71           $ref: '#/components/responses/BadRequest'
72         '401':
73           $ref: '#/components/responses/Unauthorized'
74         '403':
75           $ref: '#/components/responses/Forbidden'
76         '404':
77           $ref: '#/components/responses/NotFound'
78         '405':
79           $ref: '#/components/responses/MethodNotAllowed'
80         '406':
81           $ref: '#/components/responses/NotAcceptable'
82         '409':
83           $ref: '#/components/responses/Conflict'
84         '422':
85           $ref: '#/components/responses/UnprocessableEntity'
86         '500':
87           $ref: '#/components/responses/InternalServerError'
88         '503':
89           $ref: '#/components/responses/ServiceUnavailable'
90         '5XX':
91           $ref: '#/components/responses/UnexpectedError'
92         default:
93           $ref: '#/components/responses/UnexpectedError'
94     post:
95       tags:
96         - "NS packages"
97       summary: Create a new NS descriptor resource
98       description: Create a new NS descriptor resource
99       operationId: addNSD
100       requestBody:
101         $ref: '#/components/requestBodies/CreateNsdInfoRequest'
102       responses:
103         '201':
104           description: Created
105           headers:
106             Location:
107               schema:
108                 type: string
109                 format: uri
110           content:
111             application/json:
112               schema:
113                 $ref: '#/components/schemas/ObjectId'
114             application/yaml:
115               schema:
116                 $ref: '#/components/schemas/ObjectId'
117         '400':
118           $ref: '#/components/responses/BadRequest'
119         '401':
120           $ref: '#/components/responses/Unauthorized'
121         '403':
122           $ref: '#/components/responses/Forbidden'
123         '404':
124           $ref: '#/components/responses/NotFound'
125         '405':
126           $ref: '#/components/responses/MethodNotAllowed'
127         '406':
128           $ref: '#/components/responses/NotAcceptable'
129         '409':
130           $ref: '#/components/responses/Conflict'
131         '422':
132           $ref: '#/components/responses/UnprocessableEntity'
133         '500':
134           $ref: '#/components/responses/InternalServerError'
135         '503':
136           $ref: '#/components/responses/ServiceUnavailable'
137         '5XX':
138           $ref: '#/components/responses/UnexpectedError'
139         default:
140           $ref: '#/components/responses/UnexpectedError'
141   '/nsd/v1/ns_descriptors/{nsdInfoId}':
142     parameters:
143       - name: nsdInfoId
144         in: path
145         required: true
146         description: NSD Info ID
147         schema:
148           type: string
149     get:
150       tags:
151         - "NS packages"
152       summary: Read information about an individual NS descriptor resource
153       description: Read information about an individual NS descriptor resource
154       operationId: getNSD
155       responses:
156         '200':
157           description: OK
158           content:
159             application/json:
160               schema:
161                 $ref: '#/components/schemas/NsdInfo'
162             application/yaml:
163               schema:
164                 $ref: '#/components/schemas/NsdInfo'
165         '400':
166           $ref: '#/components/responses/BadRequest'
167         '401':
168           $ref: '#/components/responses/Unauthorized'
169         '403':
170           $ref: '#/components/responses/Forbidden'
171         '404':
172           $ref: '#/components/responses/NotFound'
173         '405':
174           $ref: '#/components/responses/MethodNotAllowed'
175         '406':
176           $ref: '#/components/responses/NotAcceptable'
177         '409':
178           $ref: '#/components/responses/Conflict'
179         '422':
180           $ref: '#/components/responses/UnprocessableEntity'
181         '500':
182           $ref: '#/components/responses/InternalServerError'
183         '503':
184           $ref: '#/components/responses/ServiceUnavailable'
185         '5XX':
186           $ref: '#/components/responses/UnexpectedError'
187         default:
188           $ref: '#/components/responses/UnexpectedError'
189     delete:
190       tags:
191         - "NS packages"
192       summary: Delete an individual NS descriptor resource
193       description: Delete an individual NS descriptor resource
194       operationId: deleteNSD
195       responses:
196         '204':
197           description: No Content
198         '400':
199           $ref: '#/components/responses/BadRequest'
200         '401':
201           $ref: '#/components/responses/Unauthorized'
202         '403':
203           $ref: '#/components/responses/Forbidden'
204         '404':
205           $ref: '#/components/responses/NotFound'
206         '405':
207           $ref: '#/components/responses/MethodNotAllowed'
208         '406':
209           $ref: '#/components/responses/NotAcceptable'
210         '409':
211           $ref: '#/components/responses/Conflict'
212         '422':
213           $ref: '#/components/responses/UnprocessableEntity'
214         '500':
215           $ref: '#/components/responses/InternalServerError'
216         '503':
217           $ref: '#/components/responses/ServiceUnavailable'
218         '5XX':
219           $ref: '#/components/responses/UnexpectedError'
220         default:
221           $ref: '#/components/responses/UnexpectedError'
222     patch:
223       tags:
224         - "NS packages"
225       summary: Modify the data of an  individual NS descriptor resource
226       description: Modify the data of an  individual NS descriptor resource
227       operationId: updateNSD
228       requestBody:
229         $ref: '#/components/requestBodies/NsdInfoModifications'
230       responses:
231         '204':
232           description: No Content
233         '400':
234           $ref: '#/components/responses/BadRequest'
235         '401':
236           $ref: '#/components/responses/Unauthorized'
237         '403':
238           $ref: '#/components/responses/Forbidden'
239         '404':
240           $ref: '#/components/responses/NotFound'
241         '405':
242           $ref: '#/components/responses/MethodNotAllowed'
243         '406':
244           $ref: '#/components/responses/NotAcceptable'
245         '409':
246           $ref: '#/components/responses/Conflict'
247         '422':
248           $ref: '#/components/responses/UnprocessableEntity'
249         '500':
250           $ref: '#/components/responses/InternalServerError'
251         '503':
252           $ref: '#/components/responses/ServiceUnavailable'
253         '5XX':
254           $ref: '#/components/responses/UnexpectedError'
255         default:
256           $ref: '#/components/responses/UnexpectedError'
257   '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content':
258     parameters:
259       - name: nsdInfoId
260         in: path
261         required: true
262         description: NSD Info ID
263         schema:
264           type: string
265     get:
266       tags:
267         - "NS packages"
268       summary: Fetch the content of a NSD
269       description: Fetch the content of a NSD
270       operationId: getNSDcontent
271       responses:
272         '200':
273           description: OK
274           content:
275             application/zip:
276               schema:
277                 $ref: '#/components/schemas/NsPackage'
278         '206':
279           description: Partial Content
280           headers:
281             Content-Range:
282               schema:
283                 type: string
284           content:
285             application/zip:
286               schema:
287                 $ref: '#/components/schemas/NsPackage'
288         '400':
289           $ref: '#/components/responses/BadRequest'
290         '401':
291           $ref: '#/components/responses/Unauthorized'
292         '403':
293           $ref: '#/components/responses/Forbidden'
294         '404':
295           $ref: '#/components/responses/NotFound'
296         '405':
297           $ref: '#/components/responses/MethodNotAllowed'
298         '406':
299           $ref: '#/components/responses/NotAcceptable'
300         '409':
301           $ref: '#/components/responses/Conflict'
302         '422':
303           $ref: '#/components/responses/UnprocessableEntity'
304         '500':
305           $ref: '#/components/responses/InternalServerError'
306         '503':
307           $ref: '#/components/responses/ServiceUnavailable'
308         '5XX':
309           $ref: '#/components/responses/UnexpectedError'
310         default:
311           $ref: '#/components/responses/UnexpectedError'
312     put:
313       tags:
314         - "NS packages"
315       summary: Upload the content of a NSD
316       description: Upload the content of a NSD
317       operationId: updateNSDcontent
318       requestBody:
319         $ref: '#/components/requestBodies/NsPackage'
320       responses:
321         '202':
322           description: Accepted
323         '204':
324           description: No Content
325         '400':
326           $ref: '#/components/responses/BadRequest'
327         '401':
328           $ref: '#/components/responses/Unauthorized'
329         '403':
330           $ref: '#/components/responses/Forbidden'
331         '404':
332           $ref: '#/components/responses/NotFound'
333         '405':
334           $ref: '#/components/responses/MethodNotAllowed'
335         '406':
336           $ref: '#/components/responses/NotAcceptable'
337         '409':
338           $ref: '#/components/responses/Conflict'
339         '422':
340           $ref: '#/components/responses/UnprocessableEntity'
341         '500':
342           $ref: '#/components/responses/InternalServerError'
343         '503':
344           $ref: '#/components/responses/ServiceUnavailable'
345         '5XX':
346           $ref: '#/components/responses/UnexpectedError'
347         default:
348           $ref: '#/components/responses/UnexpectedError'
349   '/nsd/v1/ns_descriptors/{nsdInfoId}/artifacts/{artifactPath}':
350     parameters:
351       - name: nsdInfoId
352         in: path
353         required: true
354         description: NS Package ID
355         schema:
356           type: string
357       - name: artifactPath
358         in: path
359         required: true
360         description: Artifact Path
361         schema:
362           type: string
363     get:
364       tags:
365         - "NS packages"
366       summary: Fetch individual NS package artifact
367       description: Fetch individual NS package artifact
368       operationId: getNsPkgArtifact
369       responses:
370         '200':
371           description: OK
372           content:
373             application/octet-stream:
374               schema:
375                 type: string
376                 format: binary
377         '206':
378           description: Partial Content
379           headers:
380             Content-Range:
381               schema:
382                 type: string
383           content:
384             application/octet-stream:
385               schema:
386                 type: string
387                 format: binary
388         '400':
389           $ref: '#/components/responses/BadRequest'
390         '401':
391           $ref: '#/components/responses/Unauthorized'
392         '403':
393           $ref: '#/components/responses/Forbidden'
394         '404':
395           $ref: '#/components/responses/NotFound'
396         '405':
397           $ref: '#/components/responses/MethodNotAllowed'
398         '406':
399           $ref: '#/components/responses/NotAcceptable'
400         '409':
401           $ref: '#/components/responses/Conflict'
402         '422':
403           $ref: '#/components/responses/UnprocessableEntity'
404         '500':
405           $ref: '#/components/responses/InternalServerError'
406         '503':
407           $ref: '#/components/responses/ServiceUnavailable'
408         '5XX':
409           $ref: '#/components/responses/UnexpectedError'
410         default:
411           $ref: '#/components/responses/UnexpectedError'
412   '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd':
413     parameters:
414       - name: nsdInfoId
415         in: path
416         required: true
417         description: NS Package ID
418         schema:
419           type: string
420     get:
421       tags:
422         - "NS packages"
423       summary: Read NSD of an on-boarded NS package
424       description: Read NSD of an on-boarded NS package
425       operationId: getNsPkgNsd
426       responses:
427         '200':
428           description: OK
429           content:
430             text/plain:
431               schema:
432                 $ref: '#/components/schemas/NsDescriptor'
433         '400':
434           $ref: '#/components/responses/BadRequest'
435         '401':
436           $ref: '#/components/responses/Unauthorized'
437         '403':
438           $ref: '#/components/responses/Forbidden'
439         '404':
440           $ref: '#/components/responses/NotFound'
441         '405':
442           $ref: '#/components/responses/MethodNotAllowed'
443         '406':
444           $ref: '#/components/responses/NotAcceptable'
445         '409':
446           $ref: '#/components/responses/Conflict'
447         '422':
448           $ref: '#/components/responses/UnprocessableEntity'
449         '500':
450           $ref: '#/components/responses/InternalServerError'
451         '503':
452           $ref: '#/components/responses/ServiceUnavailable'
453         '5XX':
454           $ref: '#/components/responses/UnexpectedError'
455         default:
456           $ref: '#/components/responses/UnexpectedError'
457   '/nsd/v1/ns_descriptors_content':
458     post:
459       tags:
460         - "NS packages"
461       summary: Upload a NS package by providing the content of the NS package
462       description: Upload a NS package by providing the content of the NS package
463       operationId: uploadNsPkgsContent
464       requestBody:
465         content:
466           application/zip:
467             schema:
468               $ref: '#/components/schemas/NsPackage'
469       responses:
470         '201':
471           description: Created
472           headers:
473             Location:
474               schema:
475                 type: string
476                 format: uri
477           content:
478             application/json:
479               schema:
480                 $ref: '#/components/schemas/ObjectId'
481             application/yaml:
482               schema:
483                 $ref: '#/components/schemas/ObjectId'
484         '202':
485           description: Accepted
486         '204':
487           description: No Content
488         '400':
489           $ref: '#/components/responses/BadRequest'
490         '401':
491           $ref: '#/components/responses/Unauthorized'
492         '403':
493           $ref: '#/components/responses/Forbidden'
494         '404':
495           $ref: '#/components/responses/NotFound'
496         '405':
497           $ref: '#/components/responses/MethodNotAllowed'
498         '406':
499           $ref: '#/components/responses/NotAcceptable'
500         '409':
501           $ref: '#/components/responses/Conflict'
502         '422':
503           $ref: '#/components/responses/UnprocessableEntity'
504         '500':
505           $ref: '#/components/responses/InternalServerError'
506         '503':
507           $ref: '#/components/responses/ServiceUnavailable'
508         '5XX':
509           $ref: '#/components/responses/UnexpectedError'
510         default:
511           $ref: '#/components/responses/UnexpectedError'
512     get:
513       tags:
514         - "NS packages"
515       summary: Query information about multiple NS package resources
516       description: Query information about multiple NS package resources
517       operationId: getNsPkgsContent
518       responses:
519         '200':
520           description: OK
521           content:
522             application/json:
523               schema:
524                 $ref: '#/components/schemas/ArrayOfNsdInfo'
525             application/yaml:
526               schema:
527                 $ref: '#/components/schemas/ArrayOfNsdInfo'
528         '206':
529           description: Partial Content
530           headers:
531             Content-Range:
532               schema:
533                 type: string
534           content:
535             application/octet-stream:
536               schema:
537                 type: string
538                 format: binary
539         '400':
540           $ref: '#/components/responses/BadRequest'
541         '401':
542           $ref: '#/components/responses/Unauthorized'
543         '403':
544           $ref: '#/components/responses/Forbidden'
545         '404':
546           $ref: '#/components/responses/NotFound'
547         '405':
548           $ref: '#/components/responses/MethodNotAllowed'
549         '406':
550           $ref: '#/components/responses/NotAcceptable'
551         '409':
552           $ref: '#/components/responses/Conflict'
553         '422':
554           $ref: '#/components/responses/UnprocessableEntity'
555         '500':
556           $ref: '#/components/responses/InternalServerError'
557         '503':
558           $ref: '#/components/responses/ServiceUnavailable'
559         '5XX':
560           $ref: '#/components/responses/UnexpectedError'
561         default:
562           $ref: '#/components/responses/UnexpectedError'
563   '/nsd/v1/ns_descriptors_content/{nsdInfoId}':
564     parameters:
565       - name: nsdInfoId
566         in: path
567         required: true
568         description: NS Package ID
569         schema:
570           type: string
571     get:
572       tags:
573         - "NS packages"
574       summary: Read information about an individual NS package resource
575       description: Read information about an individual NS package resource
576       operationId: getNsPkgsIdContent
577       responses:
578         '200':
579           description: OK
580           content:
581             application/json:
582               schema:
583                 $ref: '#/components/schemas/NsdInfo'
584             application/yaml:
585               schema:
586                 $ref: '#/components/schemas/NsdInfo'
587         '400':
588           $ref: '#/components/responses/BadRequest'
589         '401':
590           $ref: '#/components/responses/Unauthorized'
591         '403':
592           $ref: '#/components/responses/Forbidden'
593         '404':
594           $ref: '#/components/responses/NotFound'
595         '405':
596           $ref: '#/components/responses/MethodNotAllowed'
597         '406':
598           $ref: '#/components/responses/NotAcceptable'
599         '409':
600           $ref: '#/components/responses/Conflict'
601         '422':
602           $ref: '#/components/responses/UnprocessableEntity'
603         '500':
604           $ref: '#/components/responses/InternalServerError'
605         '503':
606           $ref: '#/components/responses/ServiceUnavailable'
607         '5XX':
608           $ref: '#/components/responses/UnexpectedError'
609         default:
610           $ref: '#/components/responses/UnexpectedError'
611     put:
612       tags:
613         - "NS packages"
614       summary: Modify an individual NS package resource
615       description: Modify an individual NS package resource
616       operationId: updateNsPkgsIdContent
617       requestBody:
618         $ref: '#/components/requestBodies/NsdInfoModifications'
619       responses:
620         '204':
621           description: No Content
622         '400':
623           $ref: '#/components/responses/BadRequest'
624         '401':
625           $ref: '#/components/responses/Unauthorized'
626         '403':
627           $ref: '#/components/responses/Forbidden'
628         '404':
629           $ref: '#/components/responses/NotFound'
630         '405':
631           $ref: '#/components/responses/MethodNotAllowed'
632         '406':
633           $ref: '#/components/responses/NotAcceptable'
634         '409':
635           $ref: '#/components/responses/Conflict'
636         '422':
637           $ref: '#/components/responses/UnprocessableEntity'
638         '500':
639           $ref: '#/components/responses/InternalServerError'
640         '503':
641           $ref: '#/components/responses/ServiceUnavailable'
642         '5XX':
643           $ref: '#/components/responses/UnexpectedError'
644         default:
645           $ref: '#/components/responses/UnexpectedError'
646     delete:
647       tags:
648         - "NS packages"
649       summary: Delete an individual NS package resource
650       description: Delete an individual NS package resource
651       operationId: deleteNSPkgsIdContent
652       responses:
653         '204':
654           description: No Content
655         '400':
656           $ref: '#/components/responses/BadRequest'
657         '401':
658           $ref: '#/components/responses/Unauthorized'
659         '403':
660           $ref: '#/components/responses/Forbidden'
661         '404':
662           $ref: '#/components/responses/NotFound'
663         '405':
664           $ref: '#/components/responses/MethodNotAllowed'
665         '406':
666           $ref: '#/components/responses/NotAcceptable'
667         '409':
668           $ref: '#/components/responses/Conflict'
669         '422':
670           $ref: '#/components/responses/UnprocessableEntity'
671         '500':
672           $ref: '#/components/responses/InternalServerError'
673         '503':
674           $ref: '#/components/responses/ServiceUnavailable'
675         '5XX':
676           $ref: '#/components/responses/UnexpectedError'
677         default:
678           $ref: '#/components/responses/UnexpectedError'
679 # END NS Packages
680
681 # BEGIN VNF Packages
682   '/vnfpkgm/v1/vnf_packages':
683     get:
684       tags:
685         - "VNF packages"
686       summary: Query information about multiple VNF package resources
687       description: Query information about multiple VNF package resources
688       operationId: getVnfPkgs
689       responses:
690         '200':
691           description: OK
692           content:
693             application/json:
694               schema:
695                 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
696             application/yaml:
697               schema:
698                 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
699         '400':
700           $ref: '#/components/responses/BadRequest'
701         '401':
702           $ref: '#/components/responses/Unauthorized'
703         '403':
704           $ref: '#/components/responses/Forbidden'
705         '404':
706           $ref: '#/components/responses/NotFound'
707         '405':
708           $ref: '#/components/responses/MethodNotAllowed'
709         '406':
710           $ref: '#/components/responses/NotAcceptable'
711         '409':
712           $ref: '#/components/responses/Conflict'
713         '422':
714           $ref: '#/components/responses/UnprocessableEntity'
715         '500':
716           $ref: '#/components/responses/InternalServerError'
717         '503':
718           $ref: '#/components/responses/ServiceUnavailable'
719         '5XX':
720           $ref: '#/components/responses/UnexpectedError'
721         default:
722           $ref: '#/components/responses/UnexpectedError'
723     post:
724       tags:
725         - "VNF packages"
726       summary: Create a new VNF package resource
727       description: Create a new VNF package resource
728       operationId: addVnfPkg
729       requestBody:
730         $ref: '#/components/requestBodies/CreateVnfPkgInfoRequest'
731       responses:
732         '201':
733           description: Created
734           headers:
735             Location:
736               schema:
737                 type: string
738                 format: uri
739           content:
740             application/json:
741               schema:
742                 $ref: '#/components/schemas/ObjectId'
743             application/yaml:
744               schema:
745                 $ref: '#/components/schemas/ObjectId'
746         '400':
747           $ref: '#/components/responses/BadRequest'
748         '401':
749           $ref: '#/components/responses/Unauthorized'
750         '403':
751           $ref: '#/components/responses/Forbidden'
752         '404':
753           $ref: '#/components/responses/NotFound'
754         '405':
755           $ref: '#/components/responses/MethodNotAllowed'
756         '406':
757           $ref: '#/components/responses/NotAcceptable'
758         '409':
759           $ref: '#/components/responses/Conflict'
760         '422':
761           $ref: '#/components/responses/UnprocessableEntity'
762         '500':
763           $ref: '#/components/responses/InternalServerError'
764         '503':
765           $ref: '#/components/responses/ServiceUnavailable'
766         '5XX':
767           $ref: '#/components/responses/UnexpectedError'
768         default:
769           $ref: '#/components/responses/UnexpectedError'
770   '/vnfpkgm/v1/vnf_packages/{vnfPkgId}':
771     parameters:
772       - name: vnfPkgId
773         in: path
774         required: true
775         description: VNF Package ID
776         schema:
777           type: string
778     get:
779       tags:
780         - "VNF packages"
781       summary: Read information about an individual VNF package resource
782       description: Read information about an individual VNF package resource
783       operationId: getVnfPkg
784       responses:
785         '200':
786           description: OK
787           content:
788             application/json:
789               schema:
790                 $ref: '#/components/schemas/VnfPkgInfo'
791             application/yaml:
792               schema:
793                 $ref: '#/components/schemas/VnfPkgInfo'
794         '400':
795           $ref: '#/components/responses/BadRequest'
796         '401':
797           $ref: '#/components/responses/Unauthorized'
798         '403':
799           $ref: '#/components/responses/Forbidden'
800         '404':
801           $ref: '#/components/responses/NotFound'
802         '405':
803           $ref: '#/components/responses/MethodNotAllowed'
804         '406':
805           $ref: '#/components/responses/NotAcceptable'
806         '409':
807           $ref: '#/components/responses/Conflict'
808         '422':
809           $ref: '#/components/responses/UnprocessableEntity'
810         '500':
811           $ref: '#/components/responses/InternalServerError'
812         '503':
813           $ref: '#/components/responses/ServiceUnavailable'
814         '5XX':
815           $ref: '#/components/responses/UnexpectedError'
816         default:
817           $ref: '#/components/responses/UnexpectedError'
818     delete:
819       tags:
820         - "VNF packages"
821       summary: Delete an individual VNF package resource
822       description: Delete an individual VNF package resource
823       operationId: deleteVnfPkg
824       responses:
825         '204':
826           description: No Content
827         '400':
828           $ref: '#/components/responses/BadRequest'
829         '401':
830           $ref: '#/components/responses/Unauthorized'
831         '403':
832           $ref: '#/components/responses/Forbidden'
833         '404':
834           $ref: '#/components/responses/NotFound'
835         '405':
836           $ref: '#/components/responses/MethodNotAllowed'
837         '406':
838           $ref: '#/components/responses/NotAcceptable'
839         '409':
840           $ref: '#/components/responses/Conflict'
841         '422':
842           $ref: '#/components/responses/UnprocessableEntity'
843         '500':
844           $ref: '#/components/responses/InternalServerError'
845         '503':
846           $ref: '#/components/responses/ServiceUnavailable'
847         '5XX':
848           $ref: '#/components/responses/UnexpectedError'
849         default:
850           $ref: '#/components/responses/UnexpectedError'
851     patch:
852       tags:
853         - "VNF packages"
854       summary: Modify an individual VNF package resource
855       description: Modify an individual VNF package resource
856       operationId: updateVnfPkg
857       requestBody:
858         $ref: '#/components/requestBodies/VnfPkgInfoModifications'
859       responses:
860         '204':
861           description: No Content
862         '400':
863           $ref: '#/components/responses/BadRequest'
864         '401':
865           $ref: '#/components/responses/Unauthorized'
866         '403':
867           $ref: '#/components/responses/Forbidden'
868         '404':
869           $ref: '#/components/responses/NotFound'
870         '405':
871           $ref: '#/components/responses/MethodNotAllowed'
872         '406':
873           $ref: '#/components/responses/NotAcceptable'
874         '409':
875           $ref: '#/components/responses/Conflict'
876         '422':
877           $ref: '#/components/responses/UnprocessableEntity'
878         '500':
879           $ref: '#/components/responses/InternalServerError'
880         '503':
881           $ref: '#/components/responses/ServiceUnavailable'
882         '5XX':
883           $ref: '#/components/responses/UnexpectedError'
884         default:
885           $ref: '#/components/responses/UnexpectedError'
886   '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd':
887     parameters:
888       - name: vnfPkgId
889         in: path
890         required: true
891         description: VNF Package ID
892         schema:
893           type: string
894     get:
895       tags:
896         - "VNF packages"
897       summary: Read VNFD of an on-boarded VNF package
898       description: Read VNFD of an on-boarded VNF package
899       operationId: getVnfPkgVnfd
900       responses:
901         '200':
902           description: OK
903           content:
904             text/plain:
905               schema:
906                 $ref: '#/components/schemas/VnfDescriptor'
907         '400':
908           $ref: '#/components/responses/BadRequest'
909         '401':
910           $ref: '#/components/responses/Unauthorized'
911         '403':
912           $ref: '#/components/responses/Forbidden'
913         '404':
914           $ref: '#/components/responses/NotFound'
915         '405':
916           $ref: '#/components/responses/MethodNotAllowed'
917         '406':
918           $ref: '#/components/responses/NotAcceptable'
919         '409':
920           $ref: '#/components/responses/Conflict'
921         '422':
922           $ref: '#/components/responses/UnprocessableEntity'
923         '500':
924           $ref: '#/components/responses/InternalServerError'
925         '503':
926           $ref: '#/components/responses/ServiceUnavailable'
927         '5XX':
928           $ref: '#/components/responses/UnexpectedError'
929         default:
930           $ref: '#/components/responses/UnexpectedError'
931   '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content':
932     parameters:
933       - name: vnfPkgId
934         in: path
935         required: true
936         description: VNF Package ID
937         schema:
938           type: string
939     get:
940       tags:
941         - "VNF packages"
942       summary: Fetch an on-boarded VNF package
943       description: Fetch an on-boarded VNF package
944       operationId: getVnfPkgContent
945       responses:
946         '200':
947           description: OK
948           content:
949             application/zip:
950               schema:
951                 $ref: '#/components/schemas/VnfPackage'
952         '206':
953           description: Partial Content
954           headers:
955             Content-Range:
956               schema:
957                 type: string
958           content:
959             application/zip:
960               schema:
961                 $ref: '#/components/schemas/VnfPackage'
962         '400':
963           $ref: '#/components/responses/BadRequest'
964         '401':
965           $ref: '#/components/responses/Unauthorized'
966         '403':
967           $ref: '#/components/responses/Forbidden'
968         '404':
969           $ref: '#/components/responses/NotFound'
970         '405':
971           $ref: '#/components/responses/MethodNotAllowed'
972         '406':
973           $ref: '#/components/responses/NotAcceptable'
974         '409':
975           $ref: '#/components/responses/Conflict'
976         '422':
977           $ref: '#/components/responses/UnprocessableEntity'
978         '500':
979           $ref: '#/components/responses/InternalServerError'
980         '503':
981           $ref: '#/components/responses/ServiceUnavailable'
982         '5XX':
983           $ref: '#/components/responses/UnexpectedError'
984         default:
985           $ref: '#/components/responses/UnexpectedError'
986     put:
987       tags:
988         - "VNF packages"
989       summary: Upload a VNF package by providing the content of the VNF package
990       description: Upload a VNF package by providing the content of the VNF package
991       operationId: uploadVnfPkgContent
992       requestBody:
993         content:
994           application/zip:
995             schema:
996               $ref: '#/components/schemas/VnfPackage'
997       responses:
998         '202':
999           description: Accepted
1000         '204':
1001           description: No Content
1002         '400':
1003           $ref: '#/components/responses/BadRequest'
1004         '401':
1005           $ref: '#/components/responses/Unauthorized'
1006         '403':
1007           $ref: '#/components/responses/Forbidden'
1008         '404':
1009           $ref: '#/components/responses/NotFound'
1010         '405':
1011           $ref: '#/components/responses/MethodNotAllowed'
1012         '406':
1013           $ref: '#/components/responses/NotAcceptable'
1014         '409':
1015           $ref: '#/components/responses/Conflict'
1016         '422':
1017           $ref: '#/components/responses/UnprocessableEntity'
1018         '500':
1019           $ref: '#/components/responses/InternalServerError'
1020         '503':
1021           $ref: '#/components/responses/ServiceUnavailable'
1022         '5XX':
1023           $ref: '#/components/responses/UnexpectedError'
1024         default:
1025           $ref: '#/components/responses/UnexpectedError'
1026   '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
1027     parameters:
1028       - name: vnfPkgId
1029         in: path
1030         required: true
1031         description: VNF Package ID
1032         schema:
1033           type: string
1034       - name: artifactPath
1035         in: path
1036         required: true
1037         description: Artifact Path
1038         schema:
1039           type: string
1040     get:
1041       tags:
1042         - "VNF packages"
1043       summary: Fetch individual VNF package artifact
1044       description: Fetch individual VNF package artifact
1045       operationId: getVnfPkgArtifact
1046       responses:
1047         '200':
1048           description: OK
1049           content:
1050             application/octet-stream:
1051               schema:
1052                 type: string
1053                 format: binary
1054         '206':
1055           description: Partial Content
1056           headers:
1057             Content-Range:
1058               schema:
1059                 type: string
1060           content:
1061             application/octet-stream:
1062               schema:
1063                 type: string
1064                 format: binary
1065         '400':
1066           $ref: '#/components/responses/BadRequest'
1067         '401':
1068           $ref: '#/components/responses/Unauthorized'
1069         '403':
1070           $ref: '#/components/responses/Forbidden'
1071         '404':
1072           $ref: '#/components/responses/NotFound'
1073         '405':
1074           $ref: '#/components/responses/MethodNotAllowed'
1075         '406':
1076           $ref: '#/components/responses/NotAcceptable'
1077         '409':
1078           $ref: '#/components/responses/Conflict'
1079         '422':
1080           $ref: '#/components/responses/UnprocessableEntity'
1081         '500':
1082           $ref: '#/components/responses/InternalServerError'
1083         '503':
1084           $ref: '#/components/responses/ServiceUnavailable'
1085         '5XX':
1086           $ref: '#/components/responses/UnexpectedError'
1087         default:
1088           $ref: '#/components/responses/UnexpectedError'
1089   '/vnfpkgm/v1/vnf_packages_content':
1090     post:
1091       tags:
1092         - "VNF packages"
1093       summary: Upload a VNF package by providing the content of the VNF package
1094       description: Upload a VNF package by providing the content of the VNF package
1095       operationId: uploadVnfPkgsContent
1096       requestBody:
1097         content:
1098           application/zip:
1099             schema:
1100               $ref: '#/components/schemas/VnfPackage'
1101       responses:
1102         '201':
1103           description: Created
1104           headers:
1105             Location:
1106               schema:
1107                 type: string
1108                 format: uri
1109           content:
1110             application/json:
1111               schema:
1112                 $ref: '#/components/schemas/ObjectId'
1113             application/yaml:
1114               schema:
1115                 $ref: '#/components/schemas/ObjectId'
1116         '202':
1117           description: Accepted
1118         '204':
1119           description: No Content
1120         '400':
1121           $ref: '#/components/responses/BadRequest'
1122         '401':
1123           $ref: '#/components/responses/Unauthorized'
1124         '403':
1125           $ref: '#/components/responses/Forbidden'
1126         '404':
1127           $ref: '#/components/responses/NotFound'
1128         '405':
1129           $ref: '#/components/responses/MethodNotAllowed'
1130         '406':
1131           $ref: '#/components/responses/NotAcceptable'
1132         '409':
1133           $ref: '#/components/responses/Conflict'
1134         '422':
1135           $ref: '#/components/responses/UnprocessableEntity'
1136         '500':
1137           $ref: '#/components/responses/InternalServerError'
1138         '503':
1139           $ref: '#/components/responses/ServiceUnavailable'
1140         '5XX':
1141           $ref: '#/components/responses/UnexpectedError'
1142         default:
1143           $ref: '#/components/responses/UnexpectedError'
1144     get:
1145       tags:
1146         - "VNF packages"
1147       summary: Query information about multiple VNF package resources
1148       description: Query information about multiple VNF package resources
1149       operationId: getVnfPkgsContent
1150       responses:
1151         '200':
1152           description: OK
1153           content:
1154             application/json:
1155               schema:
1156                 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
1157             application/yaml:
1158               schema:
1159                 $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
1160         '206':
1161           description: Partial Content
1162           headers:
1163             Content-Range:
1164               schema:
1165                 type: string
1166           content:
1167             application/octet-stream:
1168               schema:
1169                 type: string
1170                 format: binary
1171         '400':
1172           $ref: '#/components/responses/BadRequest'
1173         '401':
1174           $ref: '#/components/responses/Unauthorized'
1175         '403':
1176           $ref: '#/components/responses/Forbidden'
1177         '404':
1178           $ref: '#/components/responses/NotFound'
1179         '405':
1180           $ref: '#/components/responses/MethodNotAllowed'
1181         '406':
1182           $ref: '#/components/responses/NotAcceptable'
1183         '409':
1184           $ref: '#/components/responses/Conflict'
1185         '422':
1186           $ref: '#/components/responses/UnprocessableEntity'
1187         '500':
1188           $ref: '#/components/responses/InternalServerError'
1189         '503':
1190           $ref: '#/components/responses/ServiceUnavailable'
1191         '5XX':
1192           $ref: '#/components/responses/UnexpectedError'
1193         default:
1194           $ref: '#/components/responses/UnexpectedError'
1195   '/vnfpkgm/v1/vnf_packages_content/{packageContentId}':
1196     parameters:
1197       - name: packageContentId
1198         in: path
1199         required: true
1200         description: VNF Package Content ID
1201         schema:
1202           type: string
1203     get:
1204       tags:
1205         - "VNF packages"
1206       summary: Read information about an individual VNF package resource
1207       description: Read information about an individual VNF package resource
1208       operationId: getVnfPkgsIdContent
1209       responses:
1210         '200':
1211           description: OK
1212           content:
1213             application/json:
1214               schema:
1215                 $ref: '#/components/schemas/VnfPkgInfo'
1216             application/yaml:
1217               schema:
1218                 $ref: '#/components/schemas/VnfPkgInfo'
1219         '400':
1220           $ref: '#/components/responses/BadRequest'
1221         '401':
1222           $ref: '#/components/responses/Unauthorized'
1223         '403':
1224           $ref: '#/components/responses/Forbidden'
1225         '404':
1226           $ref: '#/components/responses/NotFound'
1227         '405':
1228           $ref: '#/components/responses/MethodNotAllowed'
1229         '406':
1230           $ref: '#/components/responses/NotAcceptable'
1231         '409':
1232           $ref: '#/components/responses/Conflict'
1233         '422':
1234           $ref: '#/components/responses/UnprocessableEntity'
1235         '500':
1236           $ref: '#/components/responses/InternalServerError'
1237         '503':
1238           $ref: '#/components/responses/ServiceUnavailable'
1239         '5XX':
1240           $ref: '#/components/responses/UnexpectedError'
1241         default:
1242           $ref: '#/components/responses/UnexpectedError'
1243     put:
1244       tags:
1245         - "VNF packages"
1246       summary: Modify an individual VNF package resource
1247       description: Modify an individual VNF package resource
1248       operationId: updateVnfPkgsIdContent
1249       requestBody:
1250         $ref: '#/components/requestBodies/VnfPkgInfoModifications'
1251       responses:
1252         '204':
1253           description: No Content
1254         '400':
1255           $ref: '#/components/responses/BadRequest'
1256         '401':
1257           $ref: '#/components/responses/Unauthorized'
1258         '403':
1259           $ref: '#/components/responses/Forbidden'
1260         '404':
1261           $ref: '#/components/responses/NotFound'
1262         '405':
1263           $ref: '#/components/responses/MethodNotAllowed'
1264         '406':
1265           $ref: '#/components/responses/NotAcceptable'
1266         '409':
1267           $ref: '#/components/responses/Conflict'
1268         '422':
1269           $ref: '#/components/responses/UnprocessableEntity'
1270         '500':
1271           $ref: '#/components/responses/InternalServerError'
1272         '503':
1273           $ref: '#/components/responses/ServiceUnavailable'
1274         '5XX':
1275           $ref: '#/components/responses/UnexpectedError'
1276         default:
1277           $ref: '#/components/responses/UnexpectedError'
1278     delete:
1279       tags:
1280         - "VNF packages"
1281       summary: Delete an individual VNF package resource
1282       description: Delete an individual VNF package resource
1283       operationId: deleteVnfPkgsIdContent
1284       responses:
1285         '204':
1286           description: No Content
1287         '400':
1288           $ref: '#/components/responses/BadRequest'
1289         '401':
1290           $ref: '#/components/responses/Unauthorized'
1291         '403':
1292           $ref: '#/components/responses/Forbidden'
1293         '404':
1294           $ref: '#/components/responses/NotFound'
1295         '405':
1296           $ref: '#/components/responses/MethodNotAllowed'
1297         '406':
1298           $ref: '#/components/responses/NotAcceptable'
1299         '409':
1300           $ref: '#/components/responses/Conflict'
1301         '422':
1302           $ref: '#/components/responses/UnprocessableEntity'
1303         '500':
1304           $ref: '#/components/responses/InternalServerError'
1305         '503':
1306           $ref: '#/components/responses/ServiceUnavailable'
1307         '5XX':
1308           $ref: '#/components/responses/UnexpectedError'
1309         default:
1310           $ref: '#/components/responses/UnexpectedError'
1311 # END VNF Packages
1312
1313 # BEGIN NS Instances
1314   '/nslcm/v1/ns_instances':
1315     get:
1316       tags:
1317         - "NS instances"
1318       summary: Query information about multiple NS instances
1319       description: Query information about multiple NS isntances
1320       operationId: getNSinstances
1321       responses:
1322         '200':
1323           description: OK
1324           content:
1325             application/json:
1326               schema:
1327                 $ref: '#/components/schemas/ArrayOfNsInstance'
1328             application/yaml:
1329               schema:
1330                 $ref: '#/components/schemas/ArrayOfNsInstance'
1331         '400':
1332           $ref: '#/components/responses/BadRequest'
1333         '401':
1334           $ref: '#/components/responses/Unauthorized'
1335         '403':
1336           $ref: '#/components/responses/Forbidden'
1337         '404':
1338           $ref: '#/components/responses/NotFound'
1339         '405':
1340           $ref: '#/components/responses/MethodNotAllowed'
1341         '406':
1342           $ref: '#/components/responses/NotAcceptable'
1343         '409':
1344           $ref: '#/components/responses/Conflict'
1345         '422':
1346           $ref: '#/components/responses/UnprocessableEntity'
1347         '500':
1348           $ref: '#/components/responses/InternalServerError'
1349         '503':
1350           $ref: '#/components/responses/ServiceUnavailable'
1351         '5XX':
1352           $ref: '#/components/responses/UnexpectedError'
1353         default:
1354           $ref: '#/components/responses/UnexpectedError'
1355     post:
1356       tags:
1357         - "NS instances"
1358       summary: Create a new NS instance resource
1359       description: Create a new NS instance resource
1360       operationId: addNSinstance
1361       requestBody:
1362         $ref: '#/components/requestBodies/InstantiateNsRequest'
1363       responses:
1364         '201':
1365           description: Created
1366           headers:
1367             Location:
1368               schema:
1369                 type: string
1370                 format: uri
1371           content:
1372             application/json:
1373               schema:
1374                 $ref: '#/components/schemas/ObjectId'
1375             application/yaml:
1376               schema:
1377                 $ref: '#/components/schemas/ObjectId'
1378         '400':
1379           $ref: '#/components/responses/BadRequest'
1380         '401':
1381           $ref: '#/components/responses/Unauthorized'
1382         '403':
1383           $ref: '#/components/responses/Forbidden'
1384         '404':
1385           $ref: '#/components/responses/NotFound'
1386         '405':
1387           $ref: '#/components/responses/MethodNotAllowed'
1388         '406':
1389           $ref: '#/components/responses/NotAcceptable'
1390         '409':
1391           $ref: '#/components/responses/Conflict'
1392         '422':
1393           $ref: '#/components/responses/UnprocessableEntity'
1394         '500':
1395           $ref: '#/components/responses/InternalServerError'
1396         '503':
1397           $ref: '#/components/responses/ServiceUnavailable'
1398         '5XX':
1399           $ref: '#/components/responses/UnexpectedError'
1400         default:
1401           $ref: '#/components/responses/UnexpectedError'
1402   '/nslcm/v1/ns_instances/{nsInstanceId}':
1403     parameters:
1404       - name: nsInstanceId
1405         in: path
1406         required: true
1407         description: NS Instance ID
1408         schema:
1409           type: string
1410       - name: vcaStatusRefresh
1411         in: query
1412         required: false
1413         description: Set to true if vca status needs to be refreshed.
1414         schema:
1415           type: boolean
1416     get:
1417       tags:
1418         - "NS instances"
1419       summary: Read an individual NS instance resource
1420       description: Read an individual NS instance resource
1421       operationId: getNSinstance
1422       responses:
1423         '200':
1424           description: OK
1425           content:
1426             application/json:
1427               schema:
1428                 $ref: '#/components/schemas/NsInstance'
1429             application/yaml:
1430               schema:
1431                 $ref: '#/components/schemas/NsInstance'
1432         '400':
1433           $ref: '#/components/responses/BadRequest'
1434         '401':
1435           $ref: '#/components/responses/Unauthorized'
1436         '403':
1437           $ref: '#/components/responses/Forbidden'
1438         '404':
1439           $ref: '#/components/responses/NotFound'
1440         '405':
1441           $ref: '#/components/responses/MethodNotAllowed'
1442         '406':
1443           $ref: '#/components/responses/NotAcceptable'
1444         '409':
1445           $ref: '#/components/responses/Conflict'
1446         '422':
1447           $ref: '#/components/responses/UnprocessableEntity'
1448         '500':
1449           $ref: '#/components/responses/InternalServerError'
1450         '503':
1451           $ref: '#/components/responses/ServiceUnavailable'
1452         '5XX':
1453           $ref: '#/components/responses/UnexpectedError'
1454         default:
1455           $ref: '#/components/responses/UnexpectedError'
1456     delete:
1457       tags:
1458         - "NS instances"
1459       summary: Delete an individual NS instance resource
1460       description: Delete an individual NS instance resource
1461       operationId: deleteNSinstance
1462       responses:
1463         '204':
1464           description: No Content
1465         '400':
1466           $ref: '#/components/responses/BadRequest'
1467         '401':
1468           $ref: '#/components/responses/Unauthorized'
1469         '403':
1470           $ref: '#/components/responses/Forbidden'
1471         '404':
1472           $ref: '#/components/responses/NotFound'
1473         '405':
1474           $ref: '#/components/responses/MethodNotAllowed'
1475         '406':
1476           $ref: '#/components/responses/NotAcceptable'
1477         '409':
1478           $ref: '#/components/responses/Conflict'
1479         '422':
1480           $ref: '#/components/responses/UnprocessableEntity'
1481         '500':
1482           $ref: '#/components/responses/InternalServerError'
1483         '503':
1484           $ref: '#/components/responses/ServiceUnavailable'
1485         '5XX':
1486           $ref: '#/components/responses/UnexpectedError'
1487         default:
1488           $ref: '#/components/responses/UnexpectedError'
1489   '/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
1490     parameters:
1491       - name: nsInstanceId
1492         in: path
1493         required: true
1494         description: NS Instance ID
1495         schema:
1496           type: string
1497     post:
1498       tags:
1499         - "NS instances"
1500       summary: Instantiate a NS
1501       description: |
1502         Instantiate a NS. The precondition is that the NS instance must have
1503         been created and must be in NOT_INSTANTIATED state. As a result of the
1504         success of this operation, the NFVO creates a "NS Lifecycle Operation
1505         Occurrence" resource for the request, and the NS instance state becomes
1506         INSTANTIATED.
1507       operationId: instantiateNSinstance
1508       requestBody:
1509         $ref: '#/components/requestBodies/InstantiateNsRequest'
1510       responses:
1511         '202':
1512           description: Accepted
1513           headers:
1514             Location:
1515               description: |
1516                 It must point to the new "NS Lifecycle Operation Occurrence"
1517                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1518               schema:
1519                 type: string
1520                 format: uri
1521           content:
1522             application/json:
1523               schema:
1524                 $ref: '#/components/schemas/ObjectId'
1525             application/yaml:
1526               schema:
1527                 $ref: '#/components/schemas/ObjectId'
1528         '400':
1529           $ref: '#/components/responses/BadRequest'
1530         '401':
1531           $ref: '#/components/responses/Unauthorized'
1532         '403':
1533           $ref: '#/components/responses/Forbidden'
1534         '404':
1535           $ref: '#/components/responses/NotFound'
1536         '405':
1537           $ref: '#/components/responses/MethodNotAllowed'
1538         '406':
1539           $ref: '#/components/responses/NotAcceptable'
1540         '409':
1541           $ref: '#/components/responses/Conflict'
1542         '422':
1543           $ref: '#/components/responses/UnprocessableEntity'
1544         '500':
1545           $ref: '#/components/responses/InternalServerError'
1546         '503':
1547           $ref: '#/components/responses/ServiceUnavailable'
1548         '5XX':
1549           $ref: '#/components/responses/UnexpectedError'
1550         default:
1551           $ref: '#/components/responses/UnexpectedError'
1552   '/nslcm/v1/ns_instances/{nsInstanceId}/scale':
1553     parameters:
1554       - name: nsInstanceId
1555         in: path
1556         required: true
1557         description: NS Instance ID
1558         schema:
1559           type: string
1560     post:
1561       tags:
1562         - "NS instances"
1563       summary: Scale a NS instance
1564       description: |
1565         Scale a NS instance. The precondition is that the NS instance must have
1566         been created and must be in INSTANTIATED state. As a result of the
1567         success of this operation, the NFVO creates a "NS Lifecycle Operation
1568         Occurrence" resource for the request, and the NS instance state remains
1569         INSTANTIATED.
1570       operationId: scaleNSinstance
1571       requestBody:
1572         $ref: '#/components/requestBodies/ScaleNsRequest'
1573       responses:
1574         '202':
1575           description: Accepted
1576           headers:
1577             Location:
1578               description: |
1579                 It must point to the new "NS Lifecycle Operation Occurrence"
1580                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1581               schema:
1582                 type: string
1583                 format: uri
1584         '400':
1585           $ref: '#/components/responses/BadRequest'
1586         '401':
1587           $ref: '#/components/responses/Unauthorized'
1588         '403':
1589           $ref: '#/components/responses/Forbidden'
1590         '404':
1591           $ref: '#/components/responses/NotFound'
1592         '405':
1593           $ref: '#/components/responses/MethodNotAllowed'
1594         '406':
1595           $ref: '#/components/responses/NotAcceptable'
1596         '409':
1597           $ref: '#/components/responses/Conflict'
1598         '422':
1599           $ref: '#/components/responses/UnprocessableEntity'
1600         '500':
1601           $ref: '#/components/responses/InternalServerError'
1602         '503':
1603           $ref: '#/components/responses/ServiceUnavailable'
1604         '5XX':
1605           $ref: '#/components/responses/UnexpectedError'
1606         default:
1607           $ref: '#/components/responses/UnexpectedError'
1608   '/nslcm/v1/ns_instances/{nsInstanceId}/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}/migrate':
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: Migrate VNFs in a NS instance
1676       description: |
1677         Migrate the VNFs and VDUs in a NS instance. The precondition is
1678         that the NS instance must have been created and must be in
1679         INSTANTIATED state. As a result of the success of this operation,
1680         the NFVO creates a "NS Lifecycle Operation Occurrence" resource
1681         for the request, and the NS instance state remains INSTANTIATED.
1682       operationId: migrateNSinstance
1683       requestBody:
1684         $ref: '#/components/requestBodies/NSinstanceMigrateRequest'
1685       responses:
1686         '202':
1687           description: Accepted
1688           headers:
1689             Location:
1690               description: |
1691                 It must point to the new "NS Lifecycle Operation Occurrence"
1692                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1693               schema:
1694                 type: string
1695                 format: uri
1696         '400':
1697           $ref: '#/components/responses/BadRequest'
1698         '401':
1699           $ref: '#/components/responses/Unauthorized'
1700         '403':
1701           $ref: '#/components/responses/Forbidden'
1702         '404':
1703           $ref: '#/components/responses/NotFound'
1704         '405':
1705           $ref: '#/components/responses/MethodNotAllowed'
1706         '406':
1707           $ref: '#/components/responses/NotAcceptable'
1708         '409':
1709           $ref: '#/components/responses/Conflict'
1710         '422':
1711           $ref: '#/components/responses/UnprocessableEntity'
1712         '500':
1713           $ref: '#/components/responses/InternalServerError'
1714         '503':
1715           $ref: '#/components/responses/ServiceUnavailable'
1716         '5XX':
1717           $ref: '#/components/responses/UnexpectedError'
1718         default:
1719           $ref: '#/components/responses/UnexpectedError'
1720   '/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
1721     parameters:
1722       - name: nsInstanceId
1723         in: path
1724         required: true
1725         description: NS Instance ID
1726         schema:
1727           type: string
1728     post:
1729       tags:
1730         - "NS instances"
1731       summary: Terminate a NS instance
1732       description: |
1733         Terminate a NS instance. The precondition is that the NS instance must have
1734         been created and must be in INSTANTIATED state. As a result of the
1735         success of this operation, the NFVO creates a "NS Lifecycle Operation
1736         Occurrence" resource for the request, and the NS instance state becomes
1737         NOT_INSTANTIATED.
1738       operationId: terminateNSinstance
1739       requestBody:
1740         # Request data is not required
1741         $ref: '#/components/requestBodies/TerminateNsRequest'
1742       responses:
1743         '202':
1744           description: Accepted
1745           headers:
1746             Location:
1747               description: |
1748                 It must point to the new "NS Lifecycle Operation Occurrence"
1749                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1750               schema:
1751                 type: string
1752                 format: uri
1753           content:
1754             application/json:
1755               schema:
1756                 $ref: '#/components/schemas/ObjectId'
1757             application/yaml:
1758               schema:
1759                 $ref: '#/components/schemas/ObjectId'
1760         '400':
1761           $ref: '#/components/responses/BadRequest'
1762         '401':
1763           $ref: '#/components/responses/Unauthorized'
1764         '403':
1765           $ref: '#/components/responses/Forbidden'
1766         '404':
1767           $ref: '#/components/responses/NotFound'
1768         '405':
1769           $ref: '#/components/responses/MethodNotAllowed'
1770         '406':
1771           $ref: '#/components/responses/NotAcceptable'
1772         '409':
1773           $ref: '#/components/responses/Conflict'
1774         '422':
1775           $ref: '#/components/responses/UnprocessableEntity'
1776         '500':
1777           $ref: '#/components/responses/InternalServerError'
1778         '503':
1779           $ref: '#/components/responses/ServiceUnavailable'
1780         '5XX':
1781           $ref: '#/components/responses/UnexpectedError'
1782         default:
1783           $ref: '#/components/responses/UnexpectedError'
1784   '/nslcm/v1/ns_instances/{nsInstanceId}/action':
1785     parameters:
1786       - name: nsInstanceId
1787         in: path
1788         required: true
1789         description: NS Instance ID
1790         schema:
1791           type: string
1792     post:
1793       tags:
1794         - "NS instances"
1795       summary: Execute an action on a NS instance
1796       description: |
1797         Execute an action on a NS instance.
1798         The NS instance must have been created and must be in INSTANTIATED state.
1799       operationId: actionOnNSinstance
1800       requestBody:
1801         content:
1802           application/json:
1803             schema:
1804               $ref: '#/components/schemas/NSinstanceActionRequest'
1805           application/yaml:
1806             schema:
1807               $ref: '#/components/schemas/NSinstanceActionRequest'
1808       responses:
1809         '202':
1810           description: Accepted
1811           headers:
1812             Location:
1813               description: |
1814                 It must point to the new "NS Lifecycle Operation Occurrence"
1815                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1816               schema:
1817                 type: string
1818                 format: uri
1819           content:
1820             application/json:
1821               schema:
1822                 $ref: '#/components/schemas/ObjectId'
1823             application/yaml:
1824               schema:
1825                 $ref: '#/components/schemas/ObjectId'
1826         '400':
1827           $ref: '#/components/responses/BadRequest'
1828         '401':
1829           $ref: '#/components/responses/Unauthorized'
1830         '403':
1831           $ref: '#/components/responses/Forbidden'
1832         '404':
1833           $ref: '#/components/responses/NotFound'
1834         '405':
1835           $ref: '#/components/responses/MethodNotAllowed'
1836         '406':
1837           $ref: '#/components/responses/NotAcceptable'
1838         '409':
1839           $ref: '#/components/responses/Conflict'
1840         '422':
1841           $ref: '#/components/responses/UnprocessableEntity'
1842         '500':
1843           $ref: '#/components/responses/InternalServerError'
1844         '503':
1845           $ref: '#/components/responses/ServiceUnavailable'
1846         '5XX':
1847           $ref: '#/components/responses/UnexpectedError'
1848         default:
1849           $ref: '#/components/responses/UnexpectedError'
1850   '/nslcm/v1/ns_instances/{nsInstanceId}/update':
1851     parameters:
1852       - name: nsInstanceId
1853         in: path
1854         required: true
1855         description: NS Instance ID
1856         schema:
1857           type: string
1858     post:
1859       tags:
1860         - "NS instances"
1861       summary: Update a NS instance
1862       description: |
1863         Update a NS instance. The precondition is that the NS instance must have
1864         been created and must be in INSTANTIATED state. As a result of the
1865         success of this operation, the NFVO creates a "NS Lifecycle Operation
1866         Occurrence" resource for the request, and the NS instance state remains
1867         INSTANTIATED.
1868       operationId: updateNSinstance
1869       requestBody:
1870         $ref: '#/components/requestBodies/UpdateNsRequest'
1871       responses:
1872         '202':
1873           description: Accepted
1874           headers:
1875             Location:
1876               description: |
1877                 It must point to the new "NS Lifecycle Operation Occurrence"
1878                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1879               schema:
1880                 type: string
1881                 format: uri
1882         '400':
1883           $ref: '#/components/responses/BadRequest'
1884         '401':
1885           $ref: '#/components/responses/Unauthorized'
1886         '403':
1887           $ref: '#/components/responses/Forbidden'
1888         '404':
1889           $ref: '#/components/responses/NotFound'
1890         '405':
1891           $ref: '#/components/responses/MethodNotAllowed'
1892         '406':
1893           $ref: '#/components/responses/NotAcceptable'
1894         '409':
1895           $ref: '#/components/responses/Conflict'
1896         '422':
1897           $ref: '#/components/responses/UnprocessableEntity'
1898         '500':
1899           $ref: '#/components/responses/InternalServerError'
1900         '503':
1901           $ref: '#/components/responses/ServiceUnavailable'
1902         '5XX':
1903           $ref: '#/components/responses/UnexpectedError'
1904         default:
1905           $ref: '#/components/responses/UnexpectedError'
1906   '/nslcm/v1/ns_instances/{nsInstanceId}/verticalscale':
1907     parameters:
1908       - name: nsInstanceId
1909         in: path
1910         required: true
1911         description: NS Instance ID
1912         schema:
1913           type: string
1914     post:
1915       tags:
1916         - "NS instances"
1917       summary: Vertical scale a NS instance
1918       description:
1919         Execute an verticalscale on a NS instance.
1920         The NS instance must have been created and must be in INSTANTIATED state.
1921       operationId: verticalscaleNSinstance
1922       requestBody:
1923         $ref: '#/components/requestBodies/VerticalscaleNsRequest'
1924       responses:
1925         '202':
1926           description: Accepted
1927           headers:
1928             Location:
1929               description: |
1930                 It must point to the new "NS Lifecycle Operation Occurrence"
1931                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1932               schema:
1933                 type: string
1934                 format: uri
1935         '400':
1936           $ref: '#/components/responses/BadRequest'
1937         '401':
1938           $ref: '#/components/responses/Unauthorized'
1939         '403':
1940           $ref: '#/components/responses/Forbidden'
1941         '404':
1942           $ref: '#/components/responses/NotFound'
1943         '405':
1944           $ref: '#/components/responses/MethodNotAllowed'
1945         '406':
1946           $ref: '#/components/responses/NotAcceptable'
1947         '409':
1948           $ref: '#/components/responses/Conflict'
1949         '422':
1950           $ref: '#/components/responses/UnprocessableEntity'
1951         '500':
1952           $ref: '#/components/responses/InternalServerError'
1953         '503':
1954           $ref: '#/components/responses/ServiceUnavailable'
1955         '5XX':
1956           $ref: '#/components/responses/UnexpectedError'
1957         default:
1958           $ref: '#/components/responses/UnexpectedError'
1959   '/nslcm/v1/ns_instances_content':
1960     get:
1961       tags:
1962         - "NS instances"
1963       summary: Query information about multiple NS instances
1964       description: Query information about multiple NS isntances
1965       operationId: getNSinstancesContent
1966       responses:
1967         '200':
1968           description: OK
1969           content:
1970             application/json:
1971               schema:
1972                 $ref: '#/components/schemas/ArrayOfNsInstance'
1973             application/yaml:
1974               schema:
1975                 $ref: '#/components/schemas/ArrayOfNsInstance'
1976         '400':
1977           $ref: '#/components/responses/BadRequest'
1978         '401':
1979           $ref: '#/components/responses/Unauthorized'
1980         '403':
1981           $ref: '#/components/responses/Forbidden'
1982         '404':
1983           $ref: '#/components/responses/NotFound'
1984         '405':
1985           $ref: '#/components/responses/MethodNotAllowed'
1986         '406':
1987           $ref: '#/components/responses/NotAcceptable'
1988         '409':
1989           $ref: '#/components/responses/Conflict'
1990         '422':
1991           $ref: '#/components/responses/UnprocessableEntity'
1992         '500':
1993           $ref: '#/components/responses/InternalServerError'
1994         '503':
1995           $ref: '#/components/responses/ServiceUnavailable'
1996         '5XX':
1997           $ref: '#/components/responses/UnexpectedError'
1998         default:
1999           $ref: '#/components/responses/UnexpectedError'
2000     post:
2001       tags:
2002         - "NS instances"
2003       summary: Create a new NS instance
2004       description: Create a new NS instance
2005       operationId: createNSinstanceContent
2006       requestBody:
2007         $ref: '#/components/requestBodies/InstantiateNsRequest'
2008       responses:
2009         '201':
2010           description: Created
2011           headers:
2012             Location:
2013               schema:
2014                 type: string
2015                 format: uri
2016           content:
2017             application/json:
2018               schema:
2019                 $ref: '#/components/schemas/CreateNSinstanceContentResponse'
2020             application/yaml:
2021               schema:
2022                 $ref: '#/components/schemas/CreateNSinstanceContentResponse'
2023         '400':
2024           $ref: '#/components/responses/BadRequest'
2025         '401':
2026           $ref: '#/components/responses/Unauthorized'
2027         '403':
2028           $ref: '#/components/responses/Forbidden'
2029         '404':
2030           $ref: '#/components/responses/NotFound'
2031         '405':
2032           $ref: '#/components/responses/MethodNotAllowed'
2033         '406':
2034           $ref: '#/components/responses/NotAcceptable'
2035         '409':
2036           $ref: '#/components/responses/Conflict'
2037         '422':
2038           $ref: '#/components/responses/UnprocessableEntity'
2039         '500':
2040           $ref: '#/components/responses/InternalServerError'
2041         '503':
2042           $ref: '#/components/responses/ServiceUnavailable'
2043         '5XX':
2044           $ref: '#/components/responses/UnexpectedError'
2045         default:
2046           $ref: '#/components/responses/UnexpectedError'
2047   '/nslcm/v1/ns_instances_content/{nsInstanceContentId}':
2048     parameters:
2049       - name: nsInstanceContentId
2050         in: path
2051         required: true
2052         description: NS Instance Content ID
2053         schema:
2054           type: string
2055     get:
2056       tags:
2057         - "NS instances"
2058       summary: Read an individual NS instance resource
2059       description: Read an individual NS instance resource
2060       operationId: getNSinstanceContent
2061       responses:
2062         '200':
2063           description: OK
2064           content:
2065             application/json:
2066               schema:
2067                 $ref: '#/components/schemas/NsInstance'
2068             application/yaml:
2069               schema:
2070                 $ref: '#/components/schemas/NsInstance'
2071         '400':
2072           $ref: '#/components/responses/BadRequest'
2073         '401':
2074           $ref: '#/components/responses/Unauthorized'
2075         '403':
2076           $ref: '#/components/responses/Forbidden'
2077         '404':
2078           $ref: '#/components/responses/NotFound'
2079         '405':
2080           $ref: '#/components/responses/MethodNotAllowed'
2081         '406':
2082           $ref: '#/components/responses/NotAcceptable'
2083         '409':
2084           $ref: '#/components/responses/Conflict'
2085         '422':
2086           $ref: '#/components/responses/UnprocessableEntity'
2087         '500':
2088           $ref: '#/components/responses/InternalServerError'
2089         '503':
2090           $ref: '#/components/responses/ServiceUnavailable'
2091         '5XX':
2092           $ref: '#/components/responses/UnexpectedError'
2093         default:
2094           $ref: '#/components/responses/UnexpectedError'
2095     delete:
2096       tags:
2097         - "NS instances"
2098       summary: Delete an individual NS instance resource
2099       description: Delete an individual NS instance resource
2100       operationId: deleteNSinstanceContent
2101       responses:
2102         '202':
2103           description: Accepted
2104           content:
2105             application/json:
2106               schema:
2107                 $ref: '#/components/schemas/ObjectId'
2108             application/yaml:
2109               schema:
2110                 $ref: '#/components/schemas/ObjectId'
2111         '204':
2112           description: No Content
2113         '400':
2114           $ref: '#/components/responses/BadRequest'
2115         '401':
2116           $ref: '#/components/responses/Unauthorized'
2117         '403':
2118           $ref: '#/components/responses/Forbidden'
2119         '404':
2120           $ref: '#/components/responses/NotFound'
2121         '405':
2122           $ref: '#/components/responses/MethodNotAllowed'
2123         '406':
2124           $ref: '#/components/responses/NotAcceptable'
2125         '409':
2126           $ref: '#/components/responses/Conflict'
2127         '422':
2128           $ref: '#/components/responses/UnprocessableEntity'
2129         '500':
2130           $ref: '#/components/responses/InternalServerError'
2131         '503':
2132           $ref: '#/components/responses/ServiceUnavailable'
2133         '5XX':
2134           $ref: '#/components/responses/UnexpectedError'
2135         default:
2136           $ref: '#/components/responses/UnexpectedError'
2137   '/nslcm/v1/ns_lcm_op_occs':
2138     get:
2139       tags:
2140         - "NS instances"
2141       summary: Query information about multiple NS LCM Operation Occurrences
2142       description: Query information about multiple NS LCM Operation Occurrences
2143       operationId: getNSLCMOpOccs
2144       responses:
2145         '200':
2146           description: OK
2147           content:
2148             application/json:
2149               schema:
2150                 $ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
2151             application/yaml:
2152               schema:
2153                 $ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
2154         '400':
2155           $ref: '#/components/responses/BadRequest'
2156         '401':
2157           $ref: '#/components/responses/Unauthorized'
2158         '403':
2159           $ref: '#/components/responses/Forbidden'
2160         '404':
2161           $ref: '#/components/responses/NotFound'
2162         '405':
2163           $ref: '#/components/responses/MethodNotAllowed'
2164         '406':
2165           $ref: '#/components/responses/NotAcceptable'
2166         '409':
2167           $ref: '#/components/responses/Conflict'
2168         '422':
2169           $ref: '#/components/responses/UnprocessableEntity'
2170         '500':
2171           $ref: '#/components/responses/InternalServerError'
2172         '503':
2173           $ref: '#/components/responses/ServiceUnavailable'
2174         '5XX':
2175           $ref: '#/components/responses/UnexpectedError'
2176         default:
2177           $ref: '#/components/responses/UnexpectedError'
2178   '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}':
2179     parameters:
2180       - name: nsLcmOpOccId
2181         in: path
2182         required: true
2183         description: NS LCM Operation Occurrence ID
2184         schema:
2185           type: string
2186     get:
2187       tags:
2188         - "NS instances"
2189       summary: Query information about an individual NS LCM Operation Occurrence
2190       description: Query information about an individual NS LCM Operation Occurrence
2191       operationId: getNSLCMOpOcc
2192       responses:
2193         '200':
2194           description: OK
2195           content:
2196             application/json:
2197               schema:
2198                 $ref: '#/components/schemas/NsLcmOpOcc'
2199             application/yaml:
2200               schema:
2201                 $ref: '#/components/schemas/NsLcmOpOcc'
2202         '400':
2203           $ref: '#/components/responses/BadRequest'
2204         '401':
2205           $ref: '#/components/responses/Unauthorized'
2206         '403':
2207           $ref: '#/components/responses/Forbidden'
2208         '404':
2209           $ref: '#/components/responses/NotFound'
2210         '405':
2211           $ref: '#/components/responses/MethodNotAllowed'
2212         '406':
2213           $ref: '#/components/responses/NotAcceptable'
2214         '409':
2215           $ref: '#/components/responses/Conflict'
2216         '422':
2217           $ref: '#/components/responses/UnprocessableEntity'
2218         '500':
2219           $ref: '#/components/responses/InternalServerError'
2220         '503':
2221           $ref: '#/components/responses/ServiceUnavailable'
2222         '5XX':
2223           $ref: '#/components/responses/UnexpectedError'
2224         default:
2225           $ref: '#/components/responses/UnexpectedError'
2226   '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel':
2227     parameters:
2228       - name: nsLcmOpOccId
2229         in: path
2230         required: true
2231         description: NS LCM Operation Occurrence ID
2232         schema:
2233           type: string
2234     post:
2235       tags:
2236         - "NS instances"
2237       summary: Cancel an ongoing NS lifecycle management operation
2238       description: Cancel an ongoing NS lifecycle management operation while it is being executed or rolled back
2239       operationId: cancelNSLCMOpOcc
2240       requestBody:
2241         $ref: '#/components/requestBodies/CancelNSLCMOpOccRequest'
2242       responses:
2243         '202':
2244           description: Accepted
2245         '400':
2246           $ref: '#/components/responses/BadRequest'
2247         '401':
2248           $ref: '#/components/responses/Unauthorized'
2249         '403':
2250           $ref: '#/components/responses/Forbidden'
2251         '404':
2252           $ref: '#/components/responses/NotFound'
2253         '405':
2254           $ref: '#/components/responses/MethodNotAllowed'
2255         '406':
2256           $ref: '#/components/responses/NotAcceptable'
2257         '409':
2258           $ref: '#/components/responses/Conflict'
2259         '422':
2260           $ref: '#/components/responses/UnprocessableEntity'
2261         '500':
2262           $ref: '#/components/responses/InternalServerError'
2263         '503':
2264           $ref: '#/components/responses/ServiceUnavailable'
2265         '5XX':
2266           $ref: '#/components/responses/UnexpectedError'
2267         default:
2268           $ref: '#/components/responses/UnexpectedError'
2269   '/nslcm/v1/vnf_instances':
2270     get:
2271       tags:
2272         - "NS instances"
2273       summary: Query information about multiple VNF Instances
2274       description: Query information about multiple VNF Instances
2275       operationId: getVnfInstances
2276       responses:
2277         '200':
2278           description: OK
2279           content:
2280             application/json:
2281               schema:
2282                 $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
2283             application/yaml:
2284               schema:
2285                 $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
2286         '400':
2287           $ref: '#/components/responses/BadRequest'
2288         '401':
2289           $ref: '#/components/responses/Unauthorized'
2290         '403':
2291           $ref: '#/components/responses/Forbidden'
2292         '404':
2293           $ref: '#/components/responses/NotFound'
2294         '405':
2295           $ref: '#/components/responses/MethodNotAllowed'
2296         '406':
2297           $ref: '#/components/responses/NotAcceptable'
2298         '409':
2299           $ref: '#/components/responses/Conflict'
2300         '422':
2301           $ref: '#/components/responses/UnprocessableEntity'
2302         '500':
2303           $ref: '#/components/responses/InternalServerError'
2304         '503':
2305           $ref: '#/components/responses/ServiceUnavailable'
2306         '5XX':
2307           $ref: '#/components/responses/UnexpectedError'
2308         default:
2309           $ref: '#/components/responses/UnexpectedError'
2310   '/nslcm/v1/vnf_instances/{vnfInstanceId}':
2311     parameters:
2312       - name: vnfInstanceId
2313         in: path
2314         required: true
2315         description: VNF Instance ID
2316         schema:
2317           type: string
2318     get:
2319       tags:
2320         - "NS instances"
2321       summary: Query information about an individual VNF Instance
2322       description: Query information about an individual VNF Instance
2323       operationId: getVnfInstance
2324       responses:
2325         '200':
2326           description: OK
2327           content:
2328             application/json:
2329               schema:
2330                 $ref: '#/components/schemas/VnfInstanceInfo'
2331             application/yaml:
2332               schema:
2333                 $ref: '#/components/schemas/VnfInstanceInfo'
2334         '400':
2335           $ref: '#/components/responses/BadRequest'
2336         '401':
2337           $ref: '#/components/responses/Unauthorized'
2338         '403':
2339           $ref: '#/components/responses/Forbidden'
2340         '404':
2341           $ref: '#/components/responses/NotFound'
2342         '405':
2343           $ref: '#/components/responses/MethodNotAllowed'
2344         '406':
2345           $ref: '#/components/responses/NotAcceptable'
2346         '409':
2347           $ref: '#/components/responses/Conflict'
2348         '422':
2349           $ref: '#/components/responses/UnprocessableEntity'
2350         '500':
2351           $ref: '#/components/responses/InternalServerError'
2352         '503':
2353           $ref: '#/components/responses/ServiceUnavailable'
2354         '5XX':
2355           $ref: '#/components/responses/UnexpectedError'
2356         default:
2357           $ref: '#/components/responses/UnexpectedError'
2358   '/nslcm/v1/subscriptions':
2359     get:
2360       tags:
2361         - NS instances
2362       summary: Query information about multiple NS instance subscription
2363       description: Query information about multiple NS instance subscription
2364       operationId: getNsSubcriptions
2365       responses:
2366         '200':
2367           description: OK
2368           content:
2369             application/json:
2370               schema:
2371                 $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
2372             application/yaml:
2373               schema:
2374                 $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
2375         '400':
2376           $ref: '#/components/responses/BadRequest'
2377         '401':
2378           $ref: '#/components/responses/Unauthorized'
2379         '403':
2380           $ref: '#/components/responses/Forbidden'
2381         '404':
2382           $ref: '#/components/responses/NotFound'
2383         '405':
2384           $ref: '#/components/responses/MethodNotAllowed'
2385         '406':
2386           $ref: '#/components/responses/NotAcceptable'
2387         '409':
2388           $ref: '#/components/responses/Conflict'
2389         '422':
2390           $ref: '#/components/responses/UnprocessableEntity'
2391         '500':
2392           $ref: '#/components/responses/InternalServerError'
2393         '503':
2394           $ref: '#/components/responses/ServiceUnavailable'
2395         5XX:
2396           $ref: '#/components/responses/UnexpectedError'
2397         default:
2398           $ref: '#/components/responses/UnexpectedError'
2399     post:
2400       tags:
2401         - NS instances
2402       summary: Create a new subscription for the Network service
2403       description: Create a new subscription for the Network service
2404       operationId: addNsSubcriptions
2405       requestBody:
2406         $ref: '#/components/requestBodies/NslcmSubscriptionRequest'
2407       responses:
2408         '201':
2409           description: Created
2410           headers:
2411             Location:
2412               schema:
2413                 type: object
2414           content:
2415             application/json:
2416               schema:
2417                 $ref: '#/components/schemas/NslcmSubscriptionResponse'
2418             application/yaml:
2419               schema:
2420                 $ref: '#/components/schemas/NslcmSubscriptionResponse'
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   '/nslcm/v1/subscriptions/{nsSubscriptionsId}':
2446     parameters:
2447       - name: nsSubscriptionsId
2448         in: path
2449         required: true
2450         description: Network Service Subscription ID
2451         schema:
2452           type: string
2453     get:
2454       tags:
2455         - NS instances
2456       summary: Read information about an individual Network Service Subscription
2457       description: Read information about an individual Network Service Subscription
2458       operationId: getNsSubcriptionId
2459       responses:
2460         '200':
2461           description: OK
2462           content:
2463             application/json:
2464               schema:
2465                 $ref: '#/components/schemas/NslcmSubscriptionInfo'
2466             application/yaml:
2467               schema:
2468                 $ref: '#/components/schemas/NslcmSubscriptionInfo'
2469         '400':
2470           $ref: '#/components/responses/BadRequest'
2471         '401':
2472           $ref: '#/components/responses/Unauthorized'
2473         '403':
2474           $ref: '#/components/responses/Forbidden'
2475         '404':
2476           $ref: '#/components/responses/NotFound'
2477         '405':
2478           $ref: '#/components/responses/MethodNotAllowed'
2479         '406':
2480           $ref: '#/components/responses/NotAcceptable'
2481         '409':
2482           $ref: '#/components/responses/Conflict'
2483         '422':
2484           $ref: '#/components/responses/UnprocessableEntity'
2485         '500':
2486           $ref: '#/components/responses/InternalServerError'
2487         '503':
2488           $ref: '#/components/responses/ServiceUnavailable'
2489         5XX:
2490           $ref: '#/components/responses/UnexpectedError'
2491         default:
2492           $ref: '#/components/responses/UnexpectedError'
2493     delete:
2494       tags:
2495         - NS instances
2496       summary: Delete an individual Network Service Subscription
2497       description: Delete an individual Network Service Subscription
2498       operationId: deleteNsSubcriptionId
2499       responses:
2500         '204':
2501           description: No Content
2502         '400':
2503           $ref: '#/components/responses/BadRequest'
2504         '401':
2505           $ref: '#/components/responses/Unauthorized'
2506         '403':
2507           $ref: '#/components/responses/Forbidden'
2508         '404':
2509           $ref: '#/components/responses/NotFound'
2510         '405':
2511           $ref: '#/components/responses/MethodNotAllowed'
2512         '406':
2513           $ref: '#/components/responses/NotAcceptable'
2514         '409':
2515           $ref: '#/components/responses/Conflict'
2516         '422':
2517           $ref: '#/components/responses/UnprocessableEntity'
2518         '500':
2519           $ref: '#/components/responses/InternalServerError'
2520         '503':
2521           $ref: '#/components/responses/ServiceUnavailable'
2522         5XX:
2523           $ref: '#/components/responses/UnexpectedError'
2524         default:
2525           $ref: '#/components/responses/UnexpectedError'
2526 # END NS Instances
2527
2528 # BEGIN Alarms
2529   '/nsfm/v1/alarms':
2530     get:
2531       tags:
2532         - "Alarms"
2533       summary: Query information about multiple alarms
2534       description: Query information about multiple alarms
2535       operationId: getAlarms
2536       responses:
2537         '200':
2538           description: OK
2539           content:
2540             application/json:
2541               schema:
2542                 $ref: '#/components/schemas/ArrayOfAlarm'
2543             application/yaml:
2544               schema:
2545                 $ref: '#/components/schemas/ArrayOfAlarm'
2546         '400':
2547           $ref: '#/components/responses/BadRequest'
2548         '401':
2549           $ref: '#/components/responses/Unauthorized'
2550         '403':
2551           $ref: '#/components/responses/Forbidden'
2552         '404':
2553           $ref: '#/components/responses/NotFound'
2554         '405':
2555           $ref: '#/components/responses/MethodNotAllowed'
2556         '406':
2557           $ref: '#/components/responses/NotAcceptable'
2558         '409':
2559           $ref: '#/components/responses/Conflict'
2560         '422':
2561           $ref: '#/components/responses/UnprocessableEntity'
2562         '500':
2563           $ref: '#/components/responses/InternalServerError'
2564         '503':
2565           $ref: '#/components/responses/ServiceUnavailable'
2566         '5XX':
2567           $ref: '#/components/responses/UnexpectedError'
2568         default:
2569           $ref: '#/components/responses/UnexpectedError'
2570   '/nsfm/v1/alarms/{uuid}':
2571     parameters:
2572       - name: uuid
2573         in: path
2574         required: true
2575         description: Alarm UUID
2576         schema:
2577           type: string
2578     get:
2579       tags:
2580         - "Alarms"
2581       summary: Read an individual Alarm
2582       description: Read an individual Alarm
2583       operationId: getAlarm
2584       responses:
2585         '200':
2586           description: OK
2587           content:
2588             application/json:
2589               schema:
2590                 $ref: '#/components/schemas/Alarm'
2591             application/yaml:
2592               schema:
2593                 $ref: '#/components/schemas/Alarm'
2594         '400':
2595           $ref: '#/components/responses/BadRequest'
2596         '401':
2597           $ref: '#/components/responses/Unauthorized'
2598         '403':
2599           $ref: '#/components/responses/Forbidden'
2600         '404':
2601           $ref: '#/components/responses/NotFound'
2602         '405':
2603           $ref: '#/components/responses/MethodNotAllowed'
2604         '406':
2605           $ref: '#/components/responses/NotAcceptable'
2606         '409':
2607           $ref: '#/components/responses/Conflict'
2608         '422':
2609           $ref: '#/components/responses/UnprocessableEntity'
2610         '500':
2611           $ref: '#/components/responses/InternalServerError'
2612         '503':
2613           $ref: '#/components/responses/ServiceUnavailable'
2614         '5XX':
2615           $ref: '#/components/responses/UnexpectedError'
2616         default:
2617           $ref: '#/components/responses/UnexpectedError'
2618     patch:
2619       tags:
2620         - "Alarms"
2621       summary: Modify the data of an  individual Alarm
2622       description: Modify the data of an  individual Alarm
2623       operationId: updateAlarm
2624       requestBody:
2625         $ref: '#/components/requestBodies/AlarmInfoModifications'
2626       responses:
2627         '204':
2628           description: No Content
2629         '400':
2630           $ref: '#/components/responses/BadRequest'
2631         '401':
2632           $ref: '#/components/responses/Unauthorized'
2633         '403':
2634           $ref: '#/components/responses/Forbidden'
2635         '404':
2636           $ref: '#/components/responses/NotFound'
2637         '405':
2638           $ref: '#/components/responses/MethodNotAllowed'
2639         '406':
2640           $ref: '#/components/responses/NotAcceptable'
2641         '409':
2642           $ref: '#/components/responses/Conflict'
2643         '422':
2644           $ref: '#/components/responses/UnprocessableEntity'
2645         '500':
2646           $ref: '#/components/responses/InternalServerError'
2647         '503':
2648           $ref: '#/components/responses/ServiceUnavailable'
2649         '5XX':
2650           $ref: '#/components/responses/UnexpectedError'
2651         default:
2652           $ref: '#/components/responses/UnexpectedError'
2653 # END Alarms
2654
2655 # BEGIN NetSlice Templates
2656   '/nst/v1/netslice_templates':
2657     get:
2658       tags:
2659         - "NetSlice templates"
2660       summary: Query information about multiple NetSlice template resources
2661       description: Query information about multiple NetSlice template resources
2662       operationId: getNSTs
2663       responses:
2664         '200':
2665           description: OK
2666           content:
2667             application/json:
2668               schema:
2669                 $ref: '#/components/schemas/ArrayOfNstInfo'
2670             application/yaml:
2671               schema:
2672                 $ref: '#/components/schemas/ArrayOfNstInfo'
2673         '400':
2674           $ref: '#/components/responses/BadRequest'
2675         '401':
2676           $ref: '#/components/responses/Unauthorized'
2677         '403':
2678           $ref: '#/components/responses/Forbidden'
2679         '404':
2680           $ref: '#/components/responses/NotFound'
2681         '405':
2682           $ref: '#/components/responses/MethodNotAllowed'
2683         '406':
2684           $ref: '#/components/responses/NotAcceptable'
2685         '409':
2686           $ref: '#/components/responses/Conflict'
2687         '422':
2688           $ref: '#/components/responses/UnprocessableEntity'
2689         '500':
2690           $ref: '#/components/responses/InternalServerError'
2691         '503':
2692           $ref: '#/components/responses/ServiceUnavailable'
2693         '5XX':
2694           $ref: '#/components/responses/UnexpectedError'
2695         default:
2696           $ref: '#/components/responses/UnexpectedError'
2697     post:
2698       tags:
2699         - "NetSlice templates"
2700       summary: Create a new NetSlice template resource
2701       description: Create a new NetSlice template resource
2702       operationId: addNST
2703       requestBody:
2704         $ref: '#/components/requestBodies/CreateNstInfoRequest'
2705       responses:
2706         '201':
2707           description: Created
2708           headers:
2709             Location:
2710               schema:
2711                 type: string
2712                 format: uri
2713           content:
2714             application/json:
2715               schema:
2716                 $ref: '#/components/schemas/ObjectId'
2717             application/yaml:
2718               schema:
2719                 $ref: '#/components/schemas/ObjectId'
2720         '400':
2721           $ref: '#/components/responses/BadRequest'
2722         '401':
2723           $ref: '#/components/responses/Unauthorized'
2724         '403':
2725           $ref: '#/components/responses/Forbidden'
2726         '404':
2727           $ref: '#/components/responses/NotFound'
2728         '405':
2729           $ref: '#/components/responses/MethodNotAllowed'
2730         '406':
2731           $ref: '#/components/responses/NotAcceptable'
2732         '409':
2733           $ref: '#/components/responses/Conflict'
2734         '422':
2735           $ref: '#/components/responses/UnprocessableEntity'
2736         '500':
2737           $ref: '#/components/responses/InternalServerError'
2738         '503':
2739           $ref: '#/components/responses/ServiceUnavailable'
2740         '5XX':
2741           $ref: '#/components/responses/UnexpectedError'
2742         default:
2743           $ref: '#/components/responses/UnexpectedError'
2744   '/nst/v1/netslice_templates/{netsliceTemplateId}':
2745     parameters:
2746       - name: netsliceTemplateId
2747         in: path
2748         required: true
2749         description: NetSlice Template ID
2750         schema:
2751           type: string
2752     get:
2753       tags:
2754         - "NetSlice templates"
2755       summary: Read information about an individual NetSlice template resource
2756       description: Read information about an individual NetSlice template resource
2757       operationId: getNST
2758       responses:
2759         '200':
2760           description: OK
2761           content:
2762             application/json:
2763               schema:
2764                 $ref: '#/components/schemas/NstInfo'
2765             application/yaml:
2766               schema:
2767                 $ref: '#/components/schemas/NstInfo'
2768         '400':
2769           $ref: '#/components/responses/BadRequest'
2770         '401':
2771           $ref: '#/components/responses/Unauthorized'
2772         '403':
2773           $ref: '#/components/responses/Forbidden'
2774         '404':
2775           $ref: '#/components/responses/NotFound'
2776         '405':
2777           $ref: '#/components/responses/MethodNotAllowed'
2778         '406':
2779           $ref: '#/components/responses/NotAcceptable'
2780         '409':
2781           $ref: '#/components/responses/Conflict'
2782         '422':
2783           $ref: '#/components/responses/UnprocessableEntity'
2784         '500':
2785           $ref: '#/components/responses/InternalServerError'
2786         '503':
2787           $ref: '#/components/responses/ServiceUnavailable'
2788         '5XX':
2789           $ref: '#/components/responses/UnexpectedError'
2790         default:
2791           $ref: '#/components/responses/UnexpectedError'
2792     delete:
2793       tags:
2794         - "NetSlice templates"
2795       summary: Delete an individual NetSlice template resource
2796       description: Delete an individual NetSlice template resource
2797       operationId: deleteNST
2798       responses:
2799         '204':
2800           description: No Content
2801         '400':
2802           $ref: '#/components/responses/BadRequest'
2803         '401':
2804           $ref: '#/components/responses/Unauthorized'
2805         '403':
2806           $ref: '#/components/responses/Forbidden'
2807         '404':
2808           $ref: '#/components/responses/NotFound'
2809         '405':
2810           $ref: '#/components/responses/MethodNotAllowed'
2811         '406':
2812           $ref: '#/components/responses/NotAcceptable'
2813         '409':
2814           $ref: '#/components/responses/Conflict'
2815         '422':
2816           $ref: '#/components/responses/UnprocessableEntity'
2817         '500':
2818           $ref: '#/components/responses/InternalServerError'
2819         '503':
2820           $ref: '#/components/responses/ServiceUnavailable'
2821         '5XX':
2822           $ref: '#/components/responses/UnexpectedError'
2823         default:
2824           $ref: '#/components/responses/UnexpectedError'
2825   '/nst/v1/netslice_templates/{netsliceTemplateId}/artifacts/{artifactPath}':
2826     parameters:
2827       - name: netsliceTemplateId
2828         in: path
2829         required: true
2830         description: NetSlice Template ID
2831         schema:
2832           type: string
2833       - name: artifactPath
2834         in: path
2835         required: true
2836         description: Artifact Path
2837         schema:
2838           type: string
2839     get:
2840       tags:
2841         - "NetSlice templates"
2842       summary: Fetch individual NetSlice Template artifact
2843       description: Fetch individual NetSlice Template artifact
2844       operationId: getNstArtifact
2845       responses:
2846         '200':
2847           description: OK
2848           content:
2849             application/octet-stream:
2850               schema:
2851                 type: string
2852                 format: binary
2853         '206':
2854           description: Partial Content
2855           headers:
2856             Content-Range:
2857               schema:
2858                 type: string
2859           content:
2860             application/octet-stream:
2861               schema:
2862                 type: string
2863                 format: binary
2864         '400':
2865           $ref: '#/components/responses/BadRequest'
2866         '401':
2867           $ref: '#/components/responses/Unauthorized'
2868         '403':
2869           $ref: '#/components/responses/Forbidden'
2870         '404':
2871           $ref: '#/components/responses/NotFound'
2872         '405':
2873           $ref: '#/components/responses/MethodNotAllowed'
2874         '406':
2875           $ref: '#/components/responses/NotAcceptable'
2876         '409':
2877           $ref: '#/components/responses/Conflict'
2878         '422':
2879           $ref: '#/components/responses/UnprocessableEntity'
2880         '500':
2881           $ref: '#/components/responses/InternalServerError'
2882         '503':
2883           $ref: '#/components/responses/ServiceUnavailable'
2884         '5XX':
2885           $ref: '#/components/responses/UnexpectedError'
2886         default:
2887           $ref: '#/components/responses/UnexpectedError'
2888   '/nst/v1/netslice_templates/{netsliceTemplateId}/nst':
2889     parameters:
2890       - name: netsliceTemplateId
2891         in: path
2892         required: true
2893         description: NetSlice Template ID
2894         schema:
2895           type: string
2896     get:
2897       tags:
2898         - "NetSlice templates"
2899       summary: Read NST of an on-boarded NetSlice Template
2900       description: Read NST of an on-boarded NetSlice Template
2901       operationId: getNstNst
2902       responses:
2903         '200':
2904           description: OK
2905           content:
2906             text/plain:
2907               schema:
2908                 $ref: '#/components/schemas/NetSliceTemplate'
2909         '400':
2910           $ref: '#/components/responses/BadRequest'
2911         '401':
2912           $ref: '#/components/responses/Unauthorized'
2913         '403':
2914           $ref: '#/components/responses/Forbidden'
2915         '404':
2916           $ref: '#/components/responses/NotFound'
2917         '405':
2918           $ref: '#/components/responses/MethodNotAllowed'
2919         '406':
2920           $ref: '#/components/responses/NotAcceptable'
2921         '409':
2922           $ref: '#/components/responses/Conflict'
2923         '422':
2924           $ref: '#/components/responses/UnprocessableEntity'
2925         '500':
2926           $ref: '#/components/responses/InternalServerError'
2927         '503':
2928           $ref: '#/components/responses/ServiceUnavailable'
2929         '5XX':
2930           $ref: '#/components/responses/UnexpectedError'
2931         default:
2932           $ref: '#/components/responses/UnexpectedError'
2933   '/nst/v1/netslice_templates/{netsliceTemplateId}/nst_content':
2934     parameters:
2935       - name: netsliceTemplateId
2936         in: path
2937         required: true
2938         description: NetSlice Template ID
2939         schema:
2940           type: string
2941     get:
2942       tags:
2943         - "NetSlice templates"
2944       summary: Fetch the content of a NST
2945       description: Fetch the content of a NST
2946       operationId: getNSTcontent
2947       responses:
2948         '200':
2949           description: OK
2950           content:
2951             application/zip:
2952               schema:
2953                 $ref: '#/components/schemas/NetSlicePackage'
2954         '206':
2955           description: Partial Content
2956           headers:
2957             Content-Range:
2958               schema:
2959                 type: string
2960           content:
2961             application/zip:
2962               schema:
2963                 $ref: '#/components/schemas/NetSlicePackage'
2964         '400':
2965           $ref: '#/components/responses/BadRequest'
2966         '401':
2967           $ref: '#/components/responses/Unauthorized'
2968         '403':
2969           $ref: '#/components/responses/Forbidden'
2970         '404':
2971           $ref: '#/components/responses/NotFound'
2972         '405':
2973           $ref: '#/components/responses/MethodNotAllowed'
2974         '406':
2975           $ref: '#/components/responses/NotAcceptable'
2976         '409':
2977           $ref: '#/components/responses/Conflict'
2978         '422':
2979           $ref: '#/components/responses/UnprocessableEntity'
2980         '500':
2981           $ref: '#/components/responses/InternalServerError'
2982         '503':
2983           $ref: '#/components/responses/ServiceUnavailable'
2984         '5XX':
2985           $ref: '#/components/responses/UnexpectedError'
2986         default:
2987           $ref: '#/components/responses/UnexpectedError'
2988     put:
2989       tags:
2990         - "NetSlice templates"
2991       summary: Upload the content of a NST
2992       description: Upload the content of a NST
2993       operationId: updateNSTcontent
2994       requestBody:
2995         $ref: '#/components/requestBodies/NetSlicePackage'
2996       responses:
2997         '202':
2998           description: Accepted
2999         '204':
3000           description: No Content
3001         '400':
3002           $ref: '#/components/responses/BadRequest'
3003         '401':
3004           $ref: '#/components/responses/Unauthorized'
3005         '403':
3006           $ref: '#/components/responses/Forbidden'
3007         '404':
3008           $ref: '#/components/responses/NotFound'
3009         '405':
3010           $ref: '#/components/responses/MethodNotAllowed'
3011         '406':
3012           $ref: '#/components/responses/NotAcceptable'
3013         '409':
3014           $ref: '#/components/responses/Conflict'
3015         '422':
3016           $ref: '#/components/responses/UnprocessableEntity'
3017         '500':
3018           $ref: '#/components/responses/InternalServerError'
3019         '503':
3020           $ref: '#/components/responses/ServiceUnavailable'
3021         '5XX':
3022           $ref: '#/components/responses/UnexpectedError'
3023         default:
3024           $ref: '#/components/responses/UnexpectedError'
3025   '/nst/v1/netslice_templates_content':
3026     post:
3027       tags:
3028         - "NetSlice templates"
3029       summary: Upload a NetSlice package by providing the content of the NetSlice package
3030       description: Upload a NetSlice package by providing the content of the NetSlice package
3031       operationId: uploadNstContent
3032       requestBody:
3033         content:
3034           application/zip:
3035             schema:
3036               $ref: '#/components/schemas/NetSlicePackage'
3037       responses:
3038         '201':
3039           description: Created
3040           headers:
3041             Location:
3042               schema:
3043                 type: string
3044                 format: uri
3045           content:
3046             application/json:
3047               schema:
3048                 $ref: '#/components/schemas/ObjectId'
3049             application/yaml:
3050               schema:
3051                 $ref: '#/components/schemas/ObjectId'
3052         '202':
3053           description: Accepted
3054         '204':
3055           description: No Content
3056         '400':
3057           $ref: '#/components/responses/BadRequest'
3058         '401':
3059           $ref: '#/components/responses/Unauthorized'
3060         '403':
3061           $ref: '#/components/responses/Forbidden'
3062         '404':
3063           $ref: '#/components/responses/NotFound'
3064         '405':
3065           $ref: '#/components/responses/MethodNotAllowed'
3066         '406':
3067           $ref: '#/components/responses/NotAcceptable'
3068         '409':
3069           $ref: '#/components/responses/Conflict'
3070         '422':
3071           $ref: '#/components/responses/UnprocessableEntity'
3072         '500':
3073           $ref: '#/components/responses/InternalServerError'
3074         '503':
3075           $ref: '#/components/responses/ServiceUnavailable'
3076         '5XX':
3077           $ref: '#/components/responses/UnexpectedError'
3078         default:
3079           $ref: '#/components/responses/UnexpectedError'
3080     get:
3081       tags:
3082         - "NetSlice templates"
3083       summary: Query information about multiple NetSlice Template resources
3084       description: Query information about multiple NetSlice Template resources
3085       operationId: getNstContent
3086       responses:
3087         '200':
3088           description: OK
3089           content:
3090             application/json:
3091               schema:
3092                 $ref: '#/components/schemas/ArrayOfNstInfo'
3093             application/yaml:
3094               schema:
3095                 $ref: '#/components/schemas/ArrayOfNstInfo'
3096         '206':
3097           description: Partial Content
3098           headers:
3099             Content-Range:
3100               schema:
3101                 type: string
3102           content:
3103             application/octet-stream:
3104               schema:
3105                 type: string
3106                 format: binary
3107         '400':
3108           $ref: '#/components/responses/BadRequest'
3109         '401':
3110           $ref: '#/components/responses/Unauthorized'
3111         '403':
3112           $ref: '#/components/responses/Forbidden'
3113         '404':
3114           $ref: '#/components/responses/NotFound'
3115         '405':
3116           $ref: '#/components/responses/MethodNotAllowed'
3117         '406':
3118           $ref: '#/components/responses/NotAcceptable'
3119         '409':
3120           $ref: '#/components/responses/Conflict'
3121         '422':
3122           $ref: '#/components/responses/UnprocessableEntity'
3123         '500':
3124           $ref: '#/components/responses/InternalServerError'
3125         '503':
3126           $ref: '#/components/responses/ServiceUnavailable'
3127         '5XX':
3128           $ref: '#/components/responses/UnexpectedError'
3129         default:
3130           $ref: '#/components/responses/UnexpectedError'
3131   '/nst/v1/netslice_templates_content/{netsliceTemplateContentId}':
3132     parameters:
3133       - name: netsliceTemplateContentId
3134         in: path
3135         required: true
3136         description: NetSlice Template ID
3137         schema:
3138           type: string
3139     get:
3140       tags:
3141         - "NetSlice templates"
3142       summary: Read information about an individual NetSlice Template resource
3143       description: Read information about an individual NetSlice Template resource
3144       operationId: getNstIdContent
3145       responses:
3146         '200':
3147           description: OK
3148           content:
3149             application/json:
3150               schema:
3151                 $ref: '#/components/schemas/NstInfo'
3152             application/yaml:
3153               schema:
3154                 $ref: '#/components/schemas/NstInfo'
3155         '400':
3156           $ref: '#/components/responses/BadRequest'
3157         '401':
3158           $ref: '#/components/responses/Unauthorized'
3159         '403':
3160           $ref: '#/components/responses/Forbidden'
3161         '404':
3162           $ref: '#/components/responses/NotFound'
3163         '405':
3164           $ref: '#/components/responses/MethodNotAllowed'
3165         '406':
3166           $ref: '#/components/responses/NotAcceptable'
3167         '409':
3168           $ref: '#/components/responses/Conflict'
3169         '422':
3170           $ref: '#/components/responses/UnprocessableEntity'
3171         '500':
3172           $ref: '#/components/responses/InternalServerError'
3173         '503':
3174           $ref: '#/components/responses/ServiceUnavailable'
3175         '5XX':
3176           $ref: '#/components/responses/UnexpectedError'
3177         default:
3178           $ref: '#/components/responses/UnexpectedError'
3179     put:
3180       tags:
3181         - "NetSlice templates"
3182       summary: Modify an individual NetSlice Template resource
3183       description: Modify an individual NetSlice Template resource
3184       operationId: updateNstIdContent
3185       requestBody:
3186         $ref: '#/components/requestBodies/NstInfoModifications'
3187       responses:
3188         '204':
3189           description: No Content
3190         '400':
3191           $ref: '#/components/responses/BadRequest'
3192         '401':
3193           $ref: '#/components/responses/Unauthorized'
3194         '403':
3195           $ref: '#/components/responses/Forbidden'
3196         '404':
3197           $ref: '#/components/responses/NotFound'
3198         '405':
3199           $ref: '#/components/responses/MethodNotAllowed'
3200         '406':
3201           $ref: '#/components/responses/NotAcceptable'
3202         '409':
3203           $ref: '#/components/responses/Conflict'
3204         '422':
3205           $ref: '#/components/responses/UnprocessableEntity'
3206         '500':
3207           $ref: '#/components/responses/InternalServerError'
3208         '503':
3209           $ref: '#/components/responses/ServiceUnavailable'
3210         '5XX':
3211           $ref: '#/components/responses/UnexpectedError'
3212         default:
3213           $ref: '#/components/responses/UnexpectedError'
3214     delete:
3215       tags:
3216         - "NetSlice templates"
3217       summary: Delete an individual NetSlice Template resource
3218       description: Delete an individual NetSlice Template resource
3219       operationId: deleteNstIdContent
3220       responses:
3221         '204':
3222           description: No Content
3223         '400':
3224           $ref: '#/components/responses/BadRequest'
3225         '401':
3226           $ref: '#/components/responses/Unauthorized'
3227         '403':
3228           $ref: '#/components/responses/Forbidden'
3229         '404':
3230           $ref: '#/components/responses/NotFound'
3231         '405':
3232           $ref: '#/components/responses/MethodNotAllowed'
3233         '406':
3234           $ref: '#/components/responses/NotAcceptable'
3235         '409':
3236           $ref: '#/components/responses/Conflict'
3237         '422':
3238           $ref: '#/components/responses/UnprocessableEntity'
3239         '500':
3240           $ref: '#/components/responses/InternalServerError'
3241         '503':
3242           $ref: '#/components/responses/ServiceUnavailable'
3243         '5XX':
3244           $ref: '#/components/responses/UnexpectedError'
3245         default:
3246           $ref: '#/components/responses/UnexpectedError'
3247 # END NetSlice Templates
3248
3249 # BEGIN NetSlice Instances
3250   '/nsilcm/v1/netslice_instances':
3251     get:
3252       tags:
3253         - "NetSlice instances"
3254       summary: Query information about multiple NetSlice instances
3255       description: Query information about multiple NetSlice isntances
3256       operationId: getNSIs
3257       responses:
3258         '200':
3259           description: OK
3260           content:
3261             application/json:
3262               schema:
3263                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3264             application/yaml:
3265               schema:
3266                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3267         '400':
3268           $ref: '#/components/responses/BadRequest'
3269         '401':
3270           $ref: '#/components/responses/Unauthorized'
3271         '403':
3272           $ref: '#/components/responses/Forbidden'
3273         '404':
3274           $ref: '#/components/responses/NotFound'
3275         '405':
3276           $ref: '#/components/responses/MethodNotAllowed'
3277         '406':
3278           $ref: '#/components/responses/NotAcceptable'
3279         '409':
3280           $ref: '#/components/responses/Conflict'
3281         '422':
3282           $ref: '#/components/responses/UnprocessableEntity'
3283         '500':
3284           $ref: '#/components/responses/InternalServerError'
3285         '503':
3286           $ref: '#/components/responses/ServiceUnavailable'
3287         '5XX':
3288           $ref: '#/components/responses/UnexpectedError'
3289         default:
3290           $ref: '#/components/responses/UnexpectedError'
3291     post:
3292       tags:
3293         - "NetSlice instances"
3294       summary: Create a new NetSlice instance resource
3295       description: Create a new NetSlice instance resource
3296       operationId: addNSI
3297       requestBody:
3298         $ref: '#/components/requestBodies/InstantiateNsiRequest'
3299       responses:
3300         '201':
3301           description: Created
3302           headers:
3303             Location:
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}':
3339     parameters:
3340       - name: netsliceInstanceId
3341         in: path
3342         required: true
3343         description: NetSlice Instance ID
3344         schema:
3345           type: string
3346     get:
3347       tags:
3348         - "NetSlice instances"
3349       summary: Read an individual NetSlice instance resource
3350       description: Read an individual NetSlice instance resource
3351       operationId: getNSI
3352       responses:
3353         '200':
3354           description: OK
3355           content:
3356             application/json:
3357               schema:
3358                 $ref: '#/components/schemas/NetSliceInstance'
3359             application/yaml:
3360               schema:
3361                 $ref: '#/components/schemas/NetSliceInstance'
3362         '400':
3363           $ref: '#/components/responses/BadRequest'
3364         '401':
3365           $ref: '#/components/responses/Unauthorized'
3366         '403':
3367           $ref: '#/components/responses/Forbidden'
3368         '404':
3369           $ref: '#/components/responses/NotFound'
3370         '405':
3371           $ref: '#/components/responses/MethodNotAllowed'
3372         '406':
3373           $ref: '#/components/responses/NotAcceptable'
3374         '409':
3375           $ref: '#/components/responses/Conflict'
3376         '422':
3377           $ref: '#/components/responses/UnprocessableEntity'
3378         '500':
3379           $ref: '#/components/responses/InternalServerError'
3380         '503':
3381           $ref: '#/components/responses/ServiceUnavailable'
3382         '5XX':
3383           $ref: '#/components/responses/UnexpectedError'
3384         default:
3385           $ref: '#/components/responses/UnexpectedError'
3386     delete:
3387       tags:
3388         - "NetSlice instances"
3389       summary: Delete an individual NetSlice instance resource
3390       description: Delete an individual NetSlice instance resource
3391       operationId: deleteNSI
3392       responses:
3393         '204':
3394           description: No Content
3395         '400':
3396           $ref: '#/components/responses/BadRequest'
3397         '401':
3398           $ref: '#/components/responses/Unauthorized'
3399         '403':
3400           $ref: '#/components/responses/Forbidden'
3401         '404':
3402           $ref: '#/components/responses/NotFound'
3403         '405':
3404           $ref: '#/components/responses/MethodNotAllowed'
3405         '406':
3406           $ref: '#/components/responses/NotAcceptable'
3407         '409':
3408           $ref: '#/components/responses/Conflict'
3409         '422':
3410           $ref: '#/components/responses/UnprocessableEntity'
3411         '500':
3412           $ref: '#/components/responses/InternalServerError'
3413         '503':
3414           $ref: '#/components/responses/ServiceUnavailable'
3415         '5XX':
3416           $ref: '#/components/responses/UnexpectedError'
3417         default:
3418           $ref: '#/components/responses/UnexpectedError'
3419   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/instantiate':
3420     parameters:
3421       - name: netsliceInstanceId
3422         in: path
3423         required: true
3424         description: NetSlice Instance ID
3425         schema:
3426           type: string
3427     post:
3428       tags:
3429         - "NetSlice instances"
3430       summary: Instantiate a NetSlice
3431       description: |
3432         Instantiate a NetSlice. The precondition is that the NetSlice instance
3433         must have been created and must be in NOT_INSTANTIATED state. As a result
3434         of the success of this operation, the NFVO creates a "NetSlice Lifecycle
3435         Operation Occurrence" resource for the request, and the NS instance state
3436         becomes INSTANTIATED.
3437       operationId: instantiateNSI
3438       requestBody:
3439         $ref: '#/components/requestBodies/InstantiateNsiRequest'
3440       responses:
3441         '202':
3442           description: Accepted
3443           headers:
3444             Location:
3445               description: |
3446                 It must point to the new "NetSlice Lifecycle Operation Occurrence"
3447                 resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
3448               schema:
3449                 type: string
3450                 format: uri
3451           content:
3452             application/json:
3453               schema:
3454                 $ref: '#/components/schemas/ObjectId'
3455             application/yaml:
3456               schema:
3457                 $ref: '#/components/schemas/ObjectId'
3458         '400':
3459           $ref: '#/components/responses/BadRequest'
3460         '401':
3461           $ref: '#/components/responses/Unauthorized'
3462         '403':
3463           $ref: '#/components/responses/Forbidden'
3464         '404':
3465           $ref: '#/components/responses/NotFound'
3466         '405':
3467           $ref: '#/components/responses/MethodNotAllowed'
3468         '406':
3469           $ref: '#/components/responses/NotAcceptable'
3470         '409':
3471           $ref: '#/components/responses/Conflict'
3472         '422':
3473           $ref: '#/components/responses/UnprocessableEntity'
3474         '500':
3475           $ref: '#/components/responses/InternalServerError'
3476         '503':
3477           $ref: '#/components/responses/ServiceUnavailable'
3478         '5XX':
3479           $ref: '#/components/responses/UnexpectedError'
3480         default:
3481           $ref: '#/components/responses/UnexpectedError'
3482   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/terminate':
3483     parameters:
3484       - name: netsliceInstanceId
3485         in: path
3486         required: true
3487         description: NetSlice Instance ID
3488         schema:
3489           type: string
3490     post:
3491       tags:
3492         - "NetSlice instances"
3493       summary: Terminate a NetSlice instance
3494       description: |
3495         Terminate a NetSlice instance. The precondition is that the NetSlice instance
3496         must have been created and must be in INSTANTIATED state. As a result of the
3497         success of this operation, the NFVO creates a "NetSlice Lifecycle Operation
3498         Occurrence" resource for the request, and the NetSlice instance state becomes
3499         NOT_INSTANTIATED.
3500       operationId: terminateNSI
3501       requestBody:
3502         # Request data is not required
3503         $ref: '#/components/requestBodies/TerminateNsiRequest'
3504       responses:
3505         '202':
3506           description: Accepted
3507           headers:
3508             Location:
3509               description: |
3510                 It must point to the new "NetSlice Lifecycle Operation Occurrence"
3511                 resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
3512               schema:
3513                 type: string
3514                 format: uri
3515           content:
3516             application/json:
3517               schema:
3518                 $ref: '#/components/schemas/ObjectId'
3519             application/yaml:
3520               schema:
3521                 $ref: '#/components/schemas/ObjectId'
3522         '400':
3523           $ref: '#/components/responses/BadRequest'
3524         '401':
3525           $ref: '#/components/responses/Unauthorized'
3526         '403':
3527           $ref: '#/components/responses/Forbidden'
3528         '404':
3529           $ref: '#/components/responses/NotFound'
3530         '405':
3531           $ref: '#/components/responses/MethodNotAllowed'
3532         '406':
3533           $ref: '#/components/responses/NotAcceptable'
3534         '409':
3535           $ref: '#/components/responses/Conflict'
3536         '422':
3537           $ref: '#/components/responses/UnprocessableEntity'
3538         '500':
3539           $ref: '#/components/responses/InternalServerError'
3540         '503':
3541           $ref: '#/components/responses/ServiceUnavailable'
3542         '5XX':
3543           $ref: '#/components/responses/UnexpectedError'
3544         default:
3545           $ref: '#/components/responses/UnexpectedError'
3546   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/action':
3547     parameters:
3548       - name: netsliceInstanceId
3549         in: path
3550         required: true
3551         description: NetSlice Instance ID
3552         schema:
3553           type: string
3554     post:
3555       tags:
3556         - "NetSlice instances"
3557       summary: Execute an action on a NetSlice instance
3558       description: |
3559         Execute an action on a NetSlice instance.
3560         The NetSlice instance must have been created and must be in INSTANTIATED state.
3561       operationId: actionOnNSI
3562       requestBody:
3563         content:
3564           application/json:
3565             schema:
3566               $ref: '#/components/schemas/NsiActionRequest'
3567           application/yaml:
3568             schema:
3569               $ref: '#/components/schemas/NsiActionRequest'
3570       responses:
3571         '202':
3572           description: Accepted
3573           headers:
3574             Location:
3575               description: |
3576                 It must point to the new "NS Lifecycle Operation Occurrence"
3577                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
3578               schema:
3579                 type: string
3580                 format: uri
3581           content:
3582             application/json:
3583               schema:
3584                 $ref: '#/components/schemas/ObjectId'
3585             application/yaml:
3586               schema:
3587                 $ref: '#/components/schemas/ObjectId'
3588         '400':
3589           $ref: '#/components/responses/BadRequest'
3590         '401':
3591           $ref: '#/components/responses/Unauthorized'
3592         '403':
3593           $ref: '#/components/responses/Forbidden'
3594         '404':
3595           $ref: '#/components/responses/NotFound'
3596         '405':
3597           $ref: '#/components/responses/MethodNotAllowed'
3598         '406':
3599           $ref: '#/components/responses/NotAcceptable'
3600         '409':
3601           $ref: '#/components/responses/Conflict'
3602         '422':
3603           $ref: '#/components/responses/UnprocessableEntity'
3604         '500':
3605           $ref: '#/components/responses/InternalServerError'
3606         '503':
3607           $ref: '#/components/responses/ServiceUnavailable'
3608         '5XX':
3609           $ref: '#/components/responses/UnexpectedError'
3610         default:
3611           $ref: '#/components/responses/UnexpectedError'
3612   '/nsilcm/v1/netslice_instances_content':
3613     get:
3614       tags:
3615         - "NetSlice instances"
3616       summary: Query information about multiple NetSlice instances
3617       description: Query information about multiple NetSlice isntances
3618       operationId: getNSIsContent
3619       responses:
3620         '200':
3621           description: OK
3622           content:
3623             application/json:
3624               schema:
3625                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3626             application/yaml:
3627               schema:
3628                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3629         '400':
3630           $ref: '#/components/responses/BadRequest'
3631         '401':
3632           $ref: '#/components/responses/Unauthorized'
3633         '403':
3634           $ref: '#/components/responses/Forbidden'
3635         '404':
3636           $ref: '#/components/responses/NotFound'
3637         '405':
3638           $ref: '#/components/responses/MethodNotAllowed'
3639         '406':
3640           $ref: '#/components/responses/NotAcceptable'
3641         '409':
3642           $ref: '#/components/responses/Conflict'
3643         '422':
3644           $ref: '#/components/responses/UnprocessableEntity'
3645         '500':
3646           $ref: '#/components/responses/InternalServerError'
3647         '503':
3648           $ref: '#/components/responses/ServiceUnavailable'
3649         '5XX':
3650           $ref: '#/components/responses/UnexpectedError'
3651         default:
3652           $ref: '#/components/responses/UnexpectedError'
3653     post:
3654       tags:
3655         - "NetSlice instances"
3656       summary: Create a new NetSlice instance
3657       description: Create a new NetSlice instance
3658       operationId: createNSIContent
3659       requestBody:
3660         $ref: '#/components/requestBodies/InstantiateNsiRequest'
3661       responses:
3662         '201':
3663           description: Created
3664           headers:
3665             Location:
3666               schema:
3667                 type: string
3668                 format: uri
3669           content:
3670             application/json:
3671               schema:
3672                 $ref: '#/components/schemas/CreateNsiContentResponse'
3673             application/yaml:
3674               schema:
3675                 $ref: '#/components/schemas/CreateNsiContentResponse'
3676         '400':
3677           $ref: '#/components/responses/BadRequest'
3678         '401':
3679           $ref: '#/components/responses/Unauthorized'
3680         '403':
3681           $ref: '#/components/responses/Forbidden'
3682         '404':
3683           $ref: '#/components/responses/NotFound'
3684         '405':
3685           $ref: '#/components/responses/MethodNotAllowed'
3686         '406':
3687           $ref: '#/components/responses/NotAcceptable'
3688         '409':
3689           $ref: '#/components/responses/Conflict'
3690         '422':
3691           $ref: '#/components/responses/UnprocessableEntity'
3692         '500':
3693           $ref: '#/components/responses/InternalServerError'
3694         '503':
3695           $ref: '#/components/responses/ServiceUnavailable'
3696         '5XX':
3697           $ref: '#/components/responses/UnexpectedError'
3698         default:
3699           $ref: '#/components/responses/UnexpectedError'
3700   '/nsilcm/v1/netslice_instances_content/{netsliceInstanceContentId}':
3701     parameters:
3702       - name: netsliceInstanceContentId
3703         in: path
3704         required: true
3705         description: NetSlice Instance Content ID
3706         schema:
3707           type: string
3708     get:
3709       tags:
3710         - "NetSlice instances"
3711       summary: Read an individual NetSlice instance resource
3712       description: Read an individual NetSlice instance resource
3713       operationId: getNSIContent
3714       responses:
3715         '200':
3716           description: OK
3717           content:
3718             application/json:
3719               schema:
3720                 $ref: '#/components/schemas/NetSliceInstance'
3721             application/yaml:
3722               schema:
3723                 $ref: '#/components/schemas/NetSliceInstance'
3724         '400':
3725           $ref: '#/components/responses/BadRequest'
3726         '401':
3727           $ref: '#/components/responses/Unauthorized'
3728         '403':
3729           $ref: '#/components/responses/Forbidden'
3730         '404':
3731           $ref: '#/components/responses/NotFound'
3732         '405':
3733           $ref: '#/components/responses/MethodNotAllowed'
3734         '406':
3735           $ref: '#/components/responses/NotAcceptable'
3736         '409':
3737           $ref: '#/components/responses/Conflict'
3738         '422':
3739           $ref: '#/components/responses/UnprocessableEntity'
3740         '500':
3741           $ref: '#/components/responses/InternalServerError'
3742         '503':
3743           $ref: '#/components/responses/ServiceUnavailable'
3744         '5XX':
3745           $ref: '#/components/responses/UnexpectedError'
3746         default:
3747           $ref: '#/components/responses/UnexpectedError'
3748     delete:
3749       tags:
3750         - "NetSlice instances"
3751       summary: Delete an individual NS instance resource
3752       description: Delete an individual NS instance resource
3753       operationId: deleteNSIContent
3754       responses:
3755         '202':
3756           description: Accepted
3757           content:
3758             application/json:
3759               schema:
3760                 $ref: '#/components/schemas/ObjectId'
3761             application/yaml:
3762               schema:
3763                 $ref: '#/components/schemas/ObjectId'
3764         '204':
3765           description: No Content
3766         '400':
3767           $ref: '#/components/responses/BadRequest'
3768         '401':
3769           $ref: '#/components/responses/Unauthorized'
3770         '403':
3771           $ref: '#/components/responses/Forbidden'
3772         '404':
3773           $ref: '#/components/responses/NotFound'
3774         '405':
3775           $ref: '#/components/responses/MethodNotAllowed'
3776         '406':
3777           $ref: '#/components/responses/NotAcceptable'
3778         '409':
3779           $ref: '#/components/responses/Conflict'
3780         '422':
3781           $ref: '#/components/responses/UnprocessableEntity'
3782         '500':
3783           $ref: '#/components/responses/InternalServerError'
3784         '503':
3785           $ref: '#/components/responses/ServiceUnavailable'
3786         '5XX':
3787           $ref: '#/components/responses/UnexpectedError'
3788         default:
3789           $ref: '#/components/responses/UnexpectedError'
3790   '/nsilcm/v1/nsi_lcm_op_occs':
3791     get:
3792       tags:
3793         - "NetSlice instances"
3794       summary: Query information about multiple NetSlice LCM Operation Occurrences
3795       description: Query information about multiple NetSlice LCM Operation Occurrences
3796       operationId: getNsiLcmOpOccs
3797       responses:
3798         '200':
3799           description: OK
3800           content:
3801             application/json:
3802               schema:
3803                 $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
3804             application/yaml:
3805               schema:
3806                 $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
3807         '400':
3808           $ref: '#/components/responses/BadRequest'
3809         '401':
3810           $ref: '#/components/responses/Unauthorized'
3811         '403':
3812           $ref: '#/components/responses/Forbidden'
3813         '404':
3814           $ref: '#/components/responses/NotFound'
3815         '405':
3816           $ref: '#/components/responses/MethodNotAllowed'
3817         '406':
3818           $ref: '#/components/responses/NotAcceptable'
3819         '409':
3820           $ref: '#/components/responses/Conflict'
3821         '422':
3822           $ref: '#/components/responses/UnprocessableEntity'
3823         '500':
3824           $ref: '#/components/responses/InternalServerError'
3825         '503':
3826           $ref: '#/components/responses/ServiceUnavailable'
3827         '5XX':
3828           $ref: '#/components/responses/UnexpectedError'
3829         default:
3830           $ref: '#/components/responses/UnexpectedError'
3831   '/nsilcm/v1/nsi_lcm_op_occs/{nsiLcmOpOccId}':
3832     parameters:
3833       - name: nsiLcmOpOccId
3834         in: path
3835         required: true
3836         description: NetSlice LCM Operation Occurrence ID
3837         schema:
3838           type: string
3839     get:
3840       tags:
3841         - "NetSlice instances"
3842       summary: Query information about an individual NetSlice LCM Operation Occurrence
3843       description: Query information about an individual NetSlice LCM Operation Occurrence
3844       operationId: getNsiLcmOpOcc
3845       responses:
3846         '200':
3847           description: OK
3848           content:
3849             application/json:
3850               schema:
3851                 $ref: '#/components/schemas/NsiLcmOpOcc'
3852             application/yaml:
3853               schema:
3854                 $ref: '#/components/schemas/NsiLcmOpOcc'
3855         '400':
3856           $ref: '#/components/responses/BadRequest'
3857         '401':
3858           $ref: '#/components/responses/Unauthorized'
3859         '403':
3860           $ref: '#/components/responses/Forbidden'
3861         '404':
3862           $ref: '#/components/responses/NotFound'
3863         '405':
3864           $ref: '#/components/responses/MethodNotAllowed'
3865         '406':
3866           $ref: '#/components/responses/NotAcceptable'
3867         '409':
3868           $ref: '#/components/responses/Conflict'
3869         '422':
3870           $ref: '#/components/responses/UnprocessableEntity'
3871         '500':
3872           $ref: '#/components/responses/InternalServerError'
3873         '503':
3874           $ref: '#/components/responses/ServiceUnavailable'
3875         '5XX':
3876           $ref: '#/components/responses/UnexpectedError'
3877         default:
3878           $ref: '#/components/responses/UnexpectedError'
3879 # END NetSlice Instances
3880
3881 # BEGIN NSPM
3882   '/nspm/v1/pm_jobs/{pmJobId}/reports/{nsId}':
3883     parameters:
3884       - name: pmJobId
3885         in: path
3886         required: true
3887         description: NS PM Job ID
3888         schema:
3889           type: string
3890       - name: nsId
3891         in: path
3892         required: true
3893         description: NS ID
3894         schema:
3895           type: string
3896     get:
3897       tags:
3898         - "NS Performance Management"
3899       summary: Query information about an individual NS PM Job Report
3900       description: Query information about an individual NS PM Job Report
3901       operationId: getNsPmJobReport
3902       responses:
3903         '200':
3904           description: OK
3905           content:
3906             application/json:
3907               schema:
3908                 $ref: '#/components/schemas/NsPmJobReportInfo'
3909             application/yaml:
3910               schema:
3911                 $ref: '#/components/schemas/NsPmJobReportInfo'
3912         '400':
3913           $ref: '#/components/responses/BadRequest'
3914         '401':
3915           $ref: '#/components/responses/Unauthorized'
3916         '403':
3917           $ref: '#/components/responses/Forbidden'
3918         '404':
3919           $ref: '#/components/responses/NotFound'
3920         '405':
3921           $ref: '#/components/responses/MethodNotAllowed'
3922         '406':
3923           $ref: '#/components/responses/NotAcceptable'
3924         '409':
3925           $ref: '#/components/responses/Conflict'
3926         '422':
3927           $ref: '#/components/responses/UnprocessableEntity'
3928         '500':
3929           $ref: '#/components/responses/InternalServerError'
3930         '503':
3931           $ref: '#/components/responses/ServiceUnavailable'
3932         '5XX':
3933           $ref: '#/components/responses/UnexpectedError'
3934         default:
3935           $ref: '#/components/responses/UnexpectedError'
3936 # END NSPM
3937
3938 # BEGIN PDU
3939   '/pdu/v1/pdu_descriptors':
3940     get:
3941       tags:
3942         - "Physical Data Units (PDU)"
3943       summary: Query information about multiple PDU Descriptors
3944       description: Query information about multiple PDU Descriptors
3945       operationId: getPDUs
3946       responses:
3947         '200':
3948           description: OK
3949           content:
3950             application/json:
3951               schema:
3952                 $ref: '#/components/schemas/ArrayOfPduInfo'
3953             application/yaml:
3954               schema:
3955                 $ref: '#/components/schemas/ArrayOfPduInfo'
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         - "Physical Data Units (PDU)"
3983       summary: Create a new PDU
3984       description: Create a new PDU Descriptor
3985       operationId: createPDU
3986       requestBody:
3987         $ref: '#/components/requestBodies/CreatePduRequest'
3988       responses:
3989         '200':
3990           description: OK
3991           headers:
3992             Location:
3993               schema:
3994                 type: string
3995                 format: uri
3996           content:
3997             application/json:
3998               schema:
3999                 $ref: '#/components/schemas/ObjectId'
4000             application/yaml:
4001               schema:
4002                 $ref: '#/components/schemas/ObjectId'
4003         '400':
4004           $ref: '#/components/responses/BadRequest'
4005         '401':
4006           $ref: '#/components/responses/Unauthorized'
4007         '403':
4008           $ref: '#/components/responses/Forbidden'
4009         '404':
4010           $ref: '#/components/responses/NotFound'
4011         '405':
4012           $ref: '#/components/responses/MethodNotAllowed'
4013         '406':
4014           $ref: '#/components/responses/NotAcceptable'
4015         '409':
4016           $ref: '#/components/responses/Conflict'
4017         '422':
4018           $ref: '#/components/responses/UnprocessableEntity'
4019         '500':
4020           $ref: '#/components/responses/InternalServerError'
4021         '503':
4022           $ref: '#/components/responses/ServiceUnavailable'
4023         '5XX':
4024           $ref: '#/components/responses/UnexpectedError'
4025         default:
4026           $ref: '#/components/responses/UnexpectedError'
4027   '/pdu/v1/pdu_descriptors/{pduDescriptorId}':
4028     parameters:
4029       - name: pduDescriptorId
4030         in: path
4031         required: true
4032         description: PDU Descriptor ID
4033         schema:
4034           type: string
4035     get:
4036       tags:
4037         - "Physical Data Units (PDU)"
4038       summary: Query information about an individual PDU Descriptor
4039       description: Query information about an individual PDU Descriptor
4040       operationId: getPDU
4041       responses:
4042         '200':
4043           description: OK
4044           content:
4045             application/json:
4046               schema:
4047                 $ref: '#/components/schemas/PduInfo'
4048             application/yaml:
4049               schema:
4050                 $ref: '#/components/schemas/PduInfo'
4051         '400':
4052           $ref: '#/components/responses/BadRequest'
4053         '401':
4054           $ref: '#/components/responses/Unauthorized'
4055         '403':
4056           $ref: '#/components/responses/Forbidden'
4057         '404':
4058           $ref: '#/components/responses/NotFound'
4059         '405':
4060           $ref: '#/components/responses/MethodNotAllowed'
4061         '406':
4062           $ref: '#/components/responses/NotAcceptable'
4063         '409':
4064           $ref: '#/components/responses/Conflict'
4065         '422':
4066           $ref: '#/components/responses/UnprocessableEntity'
4067         '500':
4068           $ref: '#/components/responses/InternalServerError'
4069         '503':
4070           $ref: '#/components/responses/ServiceUnavailable'
4071         '5XX':
4072           $ref: '#/components/responses/UnexpectedError'
4073         default:
4074           $ref: '#/components/responses/UnexpectedError'
4075     patch:
4076       tags:
4077         - "Physical Data Units (PDU)"
4078       summary: Modify an individual PDU Descriptor
4079       description: Modify an individual PDU Descriptor
4080       operationId: editPDU
4081       requestBody:
4082         $ref: '#/components/requestBodies/EditPduRequest'
4083       responses:
4084         '204':
4085           description: No Content
4086         '400':
4087           $ref: '#/components/responses/BadRequest'
4088         '401':
4089           $ref: '#/components/responses/Unauthorized'
4090         '403':
4091           $ref: '#/components/responses/Forbidden'
4092         '404':
4093           $ref: '#/components/responses/NotFound'
4094         '405':
4095           $ref: '#/components/responses/MethodNotAllowed'
4096         '406':
4097           $ref: '#/components/responses/NotAcceptable'
4098         '409':
4099           $ref: '#/components/responses/Conflict'
4100         '422':
4101           $ref: '#/components/responses/UnprocessableEntity'
4102         '500':
4103           $ref: '#/components/responses/InternalServerError'
4104         '503':
4105           $ref: '#/components/responses/ServiceUnavailable'
4106         '5XX':
4107           $ref: '#/components/responses/UnexpectedError'
4108         default:
4109           $ref: '#/components/responses/UnexpectedError'
4110     delete:
4111       tags:
4112         - "Physical Data Units (PDU)"
4113       summary: Delete an individual PDU Descriptor
4114       description: Delete an individual PDU Descriptor
4115       operationId: deletePDU
4116       responses:
4117         '204':
4118           description: No Content
4119         '400':
4120           $ref: '#/components/responses/BadRequest'
4121         '401':
4122           $ref: '#/components/responses/Unauthorized'
4123         '403':
4124           $ref: '#/components/responses/Forbidden'
4125         '404':
4126           $ref: '#/components/responses/NotFound'
4127         '405':
4128           $ref: '#/components/responses/MethodNotAllowed'
4129         '406':
4130           $ref: '#/components/responses/NotAcceptable'
4131         '409':
4132           $ref: '#/components/responses/Conflict'
4133         '422':
4134           $ref: '#/components/responses/UnprocessableEntity'
4135         '500':
4136           $ref: '#/components/responses/InternalServerError'
4137         '503':
4138           $ref: '#/components/responses/ServiceUnavailable'
4139         '5XX':
4140           $ref: '#/components/responses/UnexpectedError'
4141         default:
4142           $ref: '#/components/responses/UnexpectedError'
4143 # END PDU
4144
4145 # BEGIN Admin
4146   '/admin/v1/tokens':
4147     get:
4148       tags:
4149         - "Authentication"
4150         - "Admin"
4151       summary: Query information about multiple Tokens
4152       description: Query information about multiple Tokens
4153       operationId: getTokens
4154       responses:
4155         '200':
4156           description: OK
4157           content:
4158             application/json:
4159               schema:
4160                 $ref: '#/components/schemas/ArrayOfTokenInfo'
4161             application/yaml:
4162               schema:
4163                 $ref: '#/components/schemas/ArrayOfTokenInfo'
4164         '400':
4165           $ref: '#/components/responses/BadRequest'
4166         '401':
4167           $ref: '#/components/responses/Unauthorized'
4168         '403':
4169           $ref: '#/components/responses/Forbidden'
4170         '404':
4171           $ref: '#/components/responses/NotFound'
4172         '405':
4173           $ref: '#/components/responses/MethodNotAllowed'
4174         '406':
4175           $ref: '#/components/responses/NotAcceptable'
4176         '409':
4177           $ref: '#/components/responses/Conflict'
4178         '422':
4179           $ref: '#/components/responses/UnprocessableEntity'
4180         '500':
4181           $ref: '#/components/responses/InternalServerError'
4182         '503':
4183           $ref: '#/components/responses/ServiceUnavailable'
4184         '5XX':
4185           $ref: '#/components/responses/UnexpectedError'
4186         default:
4187           $ref: '#/components/responses/UnexpectedError'
4188     post:
4189       tags:
4190         - "Authentication"
4191         - "Admin"
4192       summary: Request a new Token
4193       description: Request a new Token
4194       operationId: createToken
4195       requestBody:
4196         $ref: '#/components/requestBodies/CreateTokenRequest'
4197       responses:
4198         '200':
4199           description: OK
4200           headers:
4201             Location:
4202               schema:
4203                 type: string
4204                 format: uri
4205           content:
4206             application/json:
4207               schema:
4208                 oneOf:
4209                   - $ref: '#/components/schemas/TokenInfo'
4210                   - $ref: '#/components/schemas/PasswordExpiryInfo'
4211             application/yaml:
4212               schema:
4213                 oneOf:
4214                   - $ref: '#/components/schemas/TokenInfo'
4215                   - $ref: '#/components/schemas/PasswordExpiryInfo'
4216         '400':
4217           $ref: '#/components/responses/BadRequest'
4218         '401':
4219           $ref: '#/components/responses/Unauthorized'
4220         '403':
4221           $ref: '#/components/responses/Forbidden'
4222         '404':
4223           $ref: '#/components/responses/NotFound'
4224         '405':
4225           $ref: '#/components/responses/MethodNotAllowed'
4226         '406':
4227           $ref: '#/components/responses/NotAcceptable'
4228         '409':
4229           $ref: '#/components/responses/Conflict'
4230         '422':
4231           $ref: '#/components/responses/UnprocessableEntity'
4232         '500':
4233           $ref: '#/components/responses/InternalServerError'
4234         '503':
4235           $ref: '#/components/responses/ServiceUnavailable'
4236         '5XX':
4237           $ref: '#/components/responses/UnexpectedError'
4238         default:
4239           $ref: '#/components/responses/UnexpectedError'
4240     delete:
4241       tags:
4242         - "Authentication"
4243         - "Admin"
4244       summary: Delete the Token indicated in the Authorization Header
4245       description: Delete the Token indicated in the Authorization Header
4246       operationId: deleteAuthToken
4247       responses:
4248         '200':
4249           description: OK
4250           content:
4251             application/json:
4252               schema:
4253                 type: string
4254             application/yaml:
4255               schema:
4256                 type: string
4257         '400':
4258           $ref: '#/components/responses/BadRequest'
4259         '401':
4260           $ref: '#/components/responses/Unauthorized'
4261         '403':
4262           $ref: '#/components/responses/Forbidden'
4263         '404':
4264           $ref: '#/components/responses/NotFound'
4265         '405':
4266           $ref: '#/components/responses/MethodNotAllowed'
4267         '406':
4268           $ref: '#/components/responses/NotAcceptable'
4269         '409':
4270           $ref: '#/components/responses/Conflict'
4271         '422':
4272           $ref: '#/components/responses/UnprocessableEntity'
4273         '500':
4274           $ref: '#/components/responses/InternalServerError'
4275         '503':
4276           $ref: '#/components/responses/ServiceUnavailable'
4277         '5XX':
4278           $ref: '#/components/responses/UnexpectedError'
4279         default:
4280           $ref: '#/components/responses/UnexpectedError'
4281   '/admin/v1/tokens/{tokenId}':
4282     parameters:
4283       - name: tokenId
4284         in: path
4285         required: true
4286         description: Token ID
4287         schema:
4288           type: string
4289     get:
4290       tags:
4291         - "Authentication"
4292         - "Admin"
4293       summary: Query information about an individual Token
4294       description: Query information about an individual Token
4295       operationId: getToken
4296       responses:
4297         '200':
4298           description: OK
4299           content:
4300             application/json:
4301               schema:
4302                 $ref: '#/components/schemas/TokenInfo'
4303             application/yaml:
4304               schema:
4305                 $ref: '#/components/schemas/TokenInfo'
4306         '400':
4307           $ref: '#/components/responses/BadRequest'
4308         '401':
4309           $ref: '#/components/responses/Unauthorized'
4310         '403':
4311           $ref: '#/components/responses/Forbidden'
4312         '404':
4313           $ref: '#/components/responses/NotFound'
4314         '405':
4315           $ref: '#/components/responses/MethodNotAllowed'
4316         '406':
4317           $ref: '#/components/responses/NotAcceptable'
4318         '409':
4319           $ref: '#/components/responses/Conflict'
4320         '422':
4321           $ref: '#/components/responses/UnprocessableEntity'
4322         '500':
4323           $ref: '#/components/responses/InternalServerError'
4324         '503':
4325           $ref: '#/components/responses/ServiceUnavailable'
4326         '5XX':
4327           $ref: '#/components/responses/UnexpectedError'
4328         default:
4329           $ref: '#/components/responses/UnexpectedError'
4330     delete:
4331       tags:
4332         - "Authentication"
4333         - "Admin"
4334       summary: Delete the Token indicated as parameter
4335       description: Delete the Token indicated as parameter
4336       operationId: deleteToken
4337       responses:
4338         '200':
4339           description: OK
4340           content:
4341             application/json:
4342               schema:
4343                 type: string
4344             application/yaml:
4345               schema:
4346                 type: string
4347         '400':
4348           $ref: '#/components/responses/BadRequest'
4349         '401':
4350           $ref: '#/components/responses/Unauthorized'
4351         '403':
4352           $ref: '#/components/responses/Forbidden'
4353         '404':
4354           $ref: '#/components/responses/NotFound'
4355         '405':
4356           $ref: '#/components/responses/MethodNotAllowed'
4357         '406':
4358           $ref: '#/components/responses/NotAcceptable'
4359         '409':
4360           $ref: '#/components/responses/Conflict'
4361         '422':
4362           $ref: '#/components/responses/UnprocessableEntity'
4363         '500':
4364           $ref: '#/components/responses/InternalServerError'
4365         '503':
4366           $ref: '#/components/responses/ServiceUnavailable'
4367         '5XX':
4368           $ref: '#/components/responses/UnexpectedError'
4369         default:
4370           $ref: '#/components/responses/UnexpectedError'
4371   '/admin/v1/users':
4372     get:
4373       tags:
4374         - "Identity"
4375         - "Admin"
4376       summary: Query information about multiple Users
4377       description: Query information about multiple Users
4378       operationId: getUsers
4379       responses:
4380         '200':
4381           description: OK
4382           content:
4383             application/json:
4384               schema:
4385                 $ref: '#/components/schemas/ArrayOfUserInfo'
4386             application/yaml:
4387               schema:
4388                 $ref: '#/components/schemas/ArrayOfUserInfo'
4389         '400':
4390           $ref: '#/components/responses/BadRequest'
4391         '401':
4392           $ref: '#/components/responses/Unauthorized'
4393         '403':
4394           $ref: '#/components/responses/Forbidden'
4395         '404':
4396           $ref: '#/components/responses/NotFound'
4397         '405':
4398           $ref: '#/components/responses/MethodNotAllowed'
4399         '406':
4400           $ref: '#/components/responses/NotAcceptable'
4401         '409':
4402           $ref: '#/components/responses/Conflict'
4403         '422':
4404           $ref: '#/components/responses/UnprocessableEntity'
4405         '500':
4406           $ref: '#/components/responses/InternalServerError'
4407         '503':
4408           $ref: '#/components/responses/ServiceUnavailable'
4409         '5XX':
4410           $ref: '#/components/responses/UnexpectedError'
4411         default:
4412           $ref: '#/components/responses/UnexpectedError'
4413     post:
4414       tags:
4415         - "Identity"
4416         - "Admin"
4417       summary: Create a new User
4418       description: Create a new User
4419       operationId: createUser
4420       requestBody:
4421         $ref: '#/components/requestBodies/CreateUserRequest'
4422       responses:
4423         '201':
4424           description: Created
4425           headers:
4426             Location:
4427               schema:
4428                 type: string
4429                 format: uri
4430           content:
4431             application/json:
4432               schema:
4433                 $ref: '#/components/schemas/ObjectId'
4434             application/yaml:
4435               schema:
4436                 $ref: '#/components/schemas/ObjectId'
4437         '400':
4438           $ref: '#/components/responses/BadRequest'
4439         '401':
4440           $ref: '#/components/responses/Unauthorized'
4441         '403':
4442           $ref: '#/components/responses/Forbidden'
4443         '404':
4444           $ref: '#/components/responses/NotFound'
4445         '405':
4446           $ref: '#/components/responses/MethodNotAllowed'
4447         '406':
4448           $ref: '#/components/responses/NotAcceptable'
4449         '409':
4450           $ref: '#/components/responses/Conflict'
4451         '422':
4452           $ref: '#/components/responses/UnprocessableEntity'
4453         '500':
4454           $ref: '#/components/responses/InternalServerError'
4455         '503':
4456           $ref: '#/components/responses/ServiceUnavailable'
4457         '5XX':
4458           $ref: '#/components/responses/UnexpectedError'
4459         default:
4460           $ref: '#/components/responses/UnexpectedError'
4461   '/admin/v1/users/{userId}':
4462     parameters:
4463       - name: userId
4464         in: path
4465         required: true
4466         description: User ID/Name
4467         schema:
4468           type: string
4469     get:
4470       tags:
4471         - "Identity"
4472         - "Admin"
4473       summary: Query information about an individual User
4474       description: Query information about an individual User
4475       operationId: getUser
4476       responses:
4477         '200':
4478           description: OK
4479           content:
4480             application/json:
4481               schema:
4482                 $ref: '#/components/schemas/UserInfo'
4483             application/yaml:
4484               schema:
4485                 $ref: '#/components/schemas/UserInfo'
4486         '400':
4487           $ref: '#/components/responses/BadRequest'
4488         '401':
4489           $ref: '#/components/responses/Unauthorized'
4490         '403':
4491           $ref: '#/components/responses/Forbidden'
4492         '404':
4493           $ref: '#/components/responses/NotFound'
4494         '405':
4495           $ref: '#/components/responses/MethodNotAllowed'
4496         '406':
4497           $ref: '#/components/responses/NotAcceptable'
4498         '409':
4499           $ref: '#/components/responses/Conflict'
4500         '422':
4501           $ref: '#/components/responses/UnprocessableEntity'
4502         '500':
4503           $ref: '#/components/responses/InternalServerError'
4504         '503':
4505           $ref: '#/components/responses/ServiceUnavailable'
4506         '5XX':
4507           $ref: '#/components/responses/UnexpectedError'
4508         default:
4509           $ref: '#/components/responses/UnexpectedError'
4510     patch:
4511       tags:
4512         - "Identity"
4513         - "Admin"
4514       summary: Modify a User
4515       description: Modify a User
4516       operationId: editUser
4517       requestBody:
4518         $ref: '#/components/requestBodies/EditUserRequest'
4519       responses:
4520         '204':
4521           description: No Content
4522         '400':
4523           $ref: '#/components/responses/BadRequest'
4524         '401':
4525           $ref: '#/components/responses/Unauthorized'
4526         '403':
4527           $ref: '#/components/responses/Forbidden'
4528         '404':
4529           $ref: '#/components/responses/NotFound'
4530         '405':
4531           $ref: '#/components/responses/MethodNotAllowed'
4532         '406':
4533           $ref: '#/components/responses/NotAcceptable'
4534         '409':
4535           $ref: '#/components/responses/Conflict'
4536         '422':
4537           $ref: '#/components/responses/UnprocessableEntity'
4538         '500':
4539           $ref: '#/components/responses/InternalServerError'
4540         '503':
4541           $ref: '#/components/responses/ServiceUnavailable'
4542         '5XX':
4543           $ref: '#/components/responses/UnexpectedError'
4544         default:
4545           $ref: '#/components/responses/UnexpectedError'
4546     delete:
4547       tags:
4548         - "Identity"
4549         - "Admin"
4550       summary: Delete a User
4551       description: Delete a User
4552       operationId: deleteUser
4553       responses:
4554         '204':
4555           description: No Content
4556         '400':
4557           $ref: '#/components/responses/BadRequest'
4558         '401':
4559           $ref: '#/components/responses/Unauthorized'
4560         '403':
4561           $ref: '#/components/responses/Forbidden'
4562         '404':
4563           $ref: '#/components/responses/NotFound'
4564         '405':
4565           $ref: '#/components/responses/MethodNotAllowed'
4566         '406':
4567           $ref: '#/components/responses/NotAcceptable'
4568         '409':
4569           $ref: '#/components/responses/Conflict'
4570         '422':
4571           $ref: '#/components/responses/UnprocessableEntity'
4572         '500':
4573           $ref: '#/components/responses/InternalServerError'
4574         '503':
4575           $ref: '#/components/responses/ServiceUnavailable'
4576         '5XX':
4577           $ref: '#/components/responses/UnexpectedError'
4578         default:
4579           $ref: '#/components/responses/UnexpectedError'
4580   '/admin/v1/projects':
4581     get:
4582       tags:
4583         - "Identity"
4584         - "Admin"
4585       summary: Query information about multiple Projects
4586       description: Query information about multiple Projects
4587       operationId: getProjects
4588       responses:
4589         '200':
4590           description: OK
4591           content:
4592             application/json:
4593               schema:
4594                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4595             application/yaml:
4596               schema:
4597                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4598         '400':
4599           $ref: '#/components/responses/BadRequest'
4600         '401':
4601           $ref: '#/components/responses/Unauthorized'
4602         '403':
4603           $ref: '#/components/responses/Forbidden'
4604         '404':
4605           $ref: '#/components/responses/NotFound'
4606         '405':
4607           $ref: '#/components/responses/MethodNotAllowed'
4608         '406':
4609           $ref: '#/components/responses/NotAcceptable'
4610         '409':
4611           $ref: '#/components/responses/Conflict'
4612         '422':
4613           $ref: '#/components/responses/UnprocessableEntity'
4614         '500':
4615           $ref: '#/components/responses/InternalServerError'
4616         '503':
4617           $ref: '#/components/responses/ServiceUnavailable'
4618         '5XX':
4619           $ref: '#/components/responses/UnexpectedError'
4620         default:
4621           $ref: '#/components/responses/UnexpectedError'
4622     post:
4623       tags:
4624         - "Identity"
4625         - "Admin"
4626       summary: Create a new Project
4627       description: Create a new Project
4628       operationId: createProject
4629       requestBody:
4630         $ref: '#/components/requestBodies/CreateProjectRequest'
4631       responses:
4632         '201':
4633           description: Created
4634           headers:
4635             Location:
4636               schema:
4637                 type: string
4638                 format: uri
4639           content:
4640             application/json:
4641               schema:
4642                 $ref: '#/components/schemas/ObjectId'
4643             application/yaml:
4644               schema:
4645                 $ref: '#/components/schemas/ObjectId'
4646         '400':
4647           $ref: '#/components/responses/BadRequest'
4648         '401':
4649           $ref: '#/components/responses/Unauthorized'
4650         '403':
4651           $ref: '#/components/responses/Forbidden'
4652         '404':
4653           $ref: '#/components/responses/NotFound'
4654         '405':
4655           $ref: '#/components/responses/MethodNotAllowed'
4656         '406':
4657           $ref: '#/components/responses/NotAcceptable'
4658         '409':
4659           $ref: '#/components/responses/Conflict'
4660         '422':
4661           $ref: '#/components/responses/UnprocessableEntity'
4662         '500':
4663           $ref: '#/components/responses/InternalServerError'
4664         '503':
4665           $ref: '#/components/responses/ServiceUnavailable'
4666         '5XX':
4667           $ref: '#/components/responses/UnexpectedError'
4668         default:
4669           $ref: '#/components/responses/UnexpectedError'
4670   '/admin/v1/projects/{projectId}':
4671     parameters:
4672       - name: projectId
4673         in: path
4674         required: true
4675         description: Project ID/Name
4676         schema:
4677           type: string
4678     get:
4679       tags:
4680         - "Identity"
4681         - "Admin"
4682       summary: Query information about an individual Project
4683       description: Query information about an individual Project
4684       operationId: getProject
4685       responses:
4686         '200':
4687           description: OK
4688           content:
4689             application/json:
4690               schema:
4691                 $ref: '#/components/schemas/ProjectInfo'
4692             application/yaml:
4693               schema:
4694                 $ref: '#/components/schemas/ProjectInfo'
4695         '400':
4696           $ref: '#/components/responses/BadRequest'
4697         '401':
4698           $ref: '#/components/responses/Unauthorized'
4699         '403':
4700           $ref: '#/components/responses/Forbidden'
4701         '404':
4702           $ref: '#/components/responses/NotFound'
4703         '405':
4704           $ref: '#/components/responses/MethodNotAllowed'
4705         '406':
4706           $ref: '#/components/responses/NotAcceptable'
4707         '409':
4708           $ref: '#/components/responses/Conflict'
4709         '422':
4710           $ref: '#/components/responses/UnprocessableEntity'
4711         '500':
4712           $ref: '#/components/responses/InternalServerError'
4713         '503':
4714           $ref: '#/components/responses/ServiceUnavailable'
4715         '5XX':
4716           $ref: '#/components/responses/UnexpectedError'
4717         default:
4718           $ref: '#/components/responses/UnexpectedError'
4719     patch:
4720       tags:
4721         - "Identity"
4722         - "Admin"
4723       summary: Modify a Project
4724       description: Modify a Project
4725       operationId: editProject
4726       requestBody:
4727         $ref: '#/components/requestBodies/EditProjectRequest'
4728       responses:
4729         '204':
4730           description: No Content
4731         '400':
4732           $ref: '#/components/responses/BadRequest'
4733         '401':
4734           $ref: '#/components/responses/Unauthorized'
4735         '403':
4736           $ref: '#/components/responses/Forbidden'
4737         '404':
4738           $ref: '#/components/responses/NotFound'
4739         '405':
4740           $ref: '#/components/responses/MethodNotAllowed'
4741         '406':
4742           $ref: '#/components/responses/NotAcceptable'
4743         '409':
4744           $ref: '#/components/responses/Conflict'
4745         '422':
4746           $ref: '#/components/responses/UnprocessableEntity'
4747         '500':
4748           $ref: '#/components/responses/InternalServerError'
4749         '503':
4750           $ref: '#/components/responses/ServiceUnavailable'
4751         '5XX':
4752           $ref: '#/components/responses/UnexpectedError'
4753         default:
4754           $ref: '#/components/responses/UnexpectedError'
4755     delete:
4756       tags:
4757         - "Identity"
4758         - "Admin"
4759       summary: Delete a Project
4760       description: Delete a Project
4761       operationId: deleteProject
4762       responses:
4763         '204':
4764           description: No Content
4765         '400':
4766           $ref: '#/components/responses/BadRequest'
4767         '401':
4768           $ref: '#/components/responses/Unauthorized'
4769         '403':
4770           $ref: '#/components/responses/Forbidden'
4771         '404':
4772           $ref: '#/components/responses/NotFound'
4773         '405':
4774           $ref: '#/components/responses/MethodNotAllowed'
4775         '406':
4776           $ref: '#/components/responses/NotAcceptable'
4777         '409':
4778           $ref: '#/components/responses/Conflict'
4779         '422':
4780           $ref: '#/components/responses/UnprocessableEntity'
4781         '500':
4782           $ref: '#/components/responses/InternalServerError'
4783         '503':
4784           $ref: '#/components/responses/ServiceUnavailable'
4785         '5XX':
4786           $ref: '#/components/responses/UnexpectedError'
4787         default:
4788           $ref: '#/components/responses/UnexpectedError'
4789   '/admin/v1/roles':
4790     get:
4791       tags:
4792         - "Identity"
4793         - "Admin"
4794       summary: Query information about multiple Roles
4795       description: Query information about multiple Roles
4796       operationId: getRoles
4797       responses:
4798         '200':
4799           description: OK
4800           content:
4801             application/json:
4802               schema:
4803                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4804             application/yaml:
4805               schema:
4806                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4807         '400':
4808           $ref: '#/components/responses/BadRequest'
4809         '401':
4810           $ref: '#/components/responses/Unauthorized'
4811         '403':
4812           $ref: '#/components/responses/Forbidden'
4813         '404':
4814           $ref: '#/components/responses/NotFound'
4815         '405':
4816           $ref: '#/components/responses/MethodNotAllowed'
4817         '406':
4818           $ref: '#/components/responses/NotAcceptable'
4819         '409':
4820           $ref: '#/components/responses/Conflict'
4821         '422':
4822           $ref: '#/components/responses/UnprocessableEntity'
4823         '500':
4824           $ref: '#/components/responses/InternalServerError'
4825         '503':
4826           $ref: '#/components/responses/ServiceUnavailable'
4827         '5XX':
4828           $ref: '#/components/responses/UnexpectedError'
4829         default:
4830           $ref: '#/components/responses/UnexpectedError'
4831     post:
4832       tags:
4833         - "Identity"
4834         - "Admin"
4835       summary: Create a new Role
4836       description: Create a new Role
4837       operationId: createRole
4838       requestBody:
4839         $ref: '#/components/requestBodies/CreateRoleRequest'
4840       responses:
4841         '201':
4842           description: Created
4843           headers:
4844             Location:
4845               schema:
4846                 type: string
4847                 format: uri
4848           content:
4849             application/json:
4850               schema:
4851                 $ref: '#/components/schemas/ObjectId'
4852             application/yaml:
4853               schema:
4854                 $ref: '#/components/schemas/ObjectId'
4855         '400':
4856           $ref: '#/components/responses/BadRequest'
4857         '401':
4858           $ref: '#/components/responses/Unauthorized'
4859         '403':
4860           $ref: '#/components/responses/Forbidden'
4861         '404':
4862           $ref: '#/components/responses/NotFound'
4863         '405':
4864           $ref: '#/components/responses/MethodNotAllowed'
4865         '406':
4866           $ref: '#/components/responses/NotAcceptable'
4867         '409':
4868           $ref: '#/components/responses/Conflict'
4869         '422':
4870           $ref: '#/components/responses/UnprocessableEntity'
4871         '500':
4872           $ref: '#/components/responses/InternalServerError'
4873         '503':
4874           $ref: '#/components/responses/ServiceUnavailable'
4875         '5XX':
4876           $ref: '#/components/responses/UnexpectedError'
4877         default:
4878           $ref: '#/components/responses/UnexpectedError'
4879   '/admin/v1/roles/{roleId}':
4880     parameters:
4881       - name: roleId
4882         in: path
4883         required: true
4884         description: Role ID/Name
4885         schema:
4886           type: string
4887     get:
4888       tags:
4889         - "Identity"
4890         - "Admin"
4891       summary: Query information about an individual Role
4892       description: Query information about an individual Role
4893       operationId: getRole
4894       responses:
4895         '200':
4896           description: OK
4897           content:
4898             application/json:
4899               schema:
4900                 $ref: '#/components/schemas/RoleInfo'
4901             application/yaml:
4902               schema:
4903                 $ref: '#/components/schemas/RoleInfo'
4904         '400':
4905           $ref: '#/components/responses/BadRequest'
4906         '401':
4907           $ref: '#/components/responses/Unauthorized'
4908         '403':
4909           $ref: '#/components/responses/Forbidden'
4910         '404':
4911           $ref: '#/components/responses/NotFound'
4912         '405':
4913           $ref: '#/components/responses/MethodNotAllowed'
4914         '406':
4915           $ref: '#/components/responses/NotAcceptable'
4916         '409':
4917           $ref: '#/components/responses/Conflict'
4918         '422':
4919           $ref: '#/components/responses/UnprocessableEntity'
4920         '500':
4921           $ref: '#/components/responses/InternalServerError'
4922         '503':
4923           $ref: '#/components/responses/ServiceUnavailable'
4924         '5XX':
4925           $ref: '#/components/responses/UnexpectedError'
4926         default:
4927           $ref: '#/components/responses/UnexpectedError'
4928     patch:
4929       tags:
4930         - "Identity"
4931         - "Admin"
4932       summary: Modify a Role
4933       description: Modify a Role
4934       operationId: editRole
4935       requestBody:
4936         $ref: '#/components/requestBodies/EditRoleRequest'
4937       responses:
4938         '204':
4939           description: No Content
4940         '400':
4941           $ref: '#/components/responses/BadRequest'
4942         '401':
4943           $ref: '#/components/responses/Unauthorized'
4944         '403':
4945           $ref: '#/components/responses/Forbidden'
4946         '404':
4947           $ref: '#/components/responses/NotFound'
4948         '405':
4949           $ref: '#/components/responses/MethodNotAllowed'
4950         '406':
4951           $ref: '#/components/responses/NotAcceptable'
4952         '409':
4953           $ref: '#/components/responses/Conflict'
4954         '422':
4955           $ref: '#/components/responses/UnprocessableEntity'
4956         '500':
4957           $ref: '#/components/responses/InternalServerError'
4958         '503':
4959           $ref: '#/components/responses/ServiceUnavailable'
4960         '5XX':
4961           $ref: '#/components/responses/UnexpectedError'
4962         default:
4963           $ref: '#/components/responses/UnexpectedError'
4964     delete:
4965       tags:
4966         - "Identity"
4967         - "Admin"
4968       summary: Delete a Role
4969       description: Delete a Role
4970       operationId: deleteRole
4971       responses:
4972         '204':
4973           description: No Content
4974         '400':
4975           $ref: '#/components/responses/BadRequest'
4976         '401':
4977           $ref: '#/components/responses/Unauthorized'
4978         '403':
4979           $ref: '#/components/responses/Forbidden'
4980         '404':
4981           $ref: '#/components/responses/NotFound'
4982         '405':
4983           $ref: '#/components/responses/MethodNotAllowed'
4984         '406':
4985           $ref: '#/components/responses/NotAcceptable'
4986         '409':
4987           $ref: '#/components/responses/Conflict'
4988         '422':
4989           $ref: '#/components/responses/UnprocessableEntity'
4990         '500':
4991           $ref: '#/components/responses/InternalServerError'
4992         '503':
4993           $ref: '#/components/responses/ServiceUnavailable'
4994         '5XX':
4995           $ref: '#/components/responses/UnexpectedError'
4996         default:
4997           $ref: '#/components/responses/UnexpectedError'
4998   '/admin/v1/vims':
4999     get:
5000       tags:
5001         - "Infrastructure"
5002         - "Admin"
5003       summary: Query information about multiple VIMs
5004       description: Query information about multiple VIMs
5005       operationId: getVIMs
5006       responses:
5007         '200':
5008           description: OK
5009           content:
5010             application/json:
5011               schema:
5012                 $ref: '#/components/schemas/ArrayOfVimInfo'
5013             application/yaml:
5014               schema:
5015                 $ref: '#/components/schemas/ArrayOfVimInfo'
5016         '400':
5017           $ref: '#/components/responses/BadRequest'
5018         '401':
5019           $ref: '#/components/responses/Unauthorized'
5020         '403':
5021           $ref: '#/components/responses/Forbidden'
5022         '404':
5023           $ref: '#/components/responses/NotFound'
5024         '405':
5025           $ref: '#/components/responses/MethodNotAllowed'
5026         '406':
5027           $ref: '#/components/responses/NotAcceptable'
5028         '409':
5029           $ref: '#/components/responses/Conflict'
5030         '422':
5031           $ref: '#/components/responses/UnprocessableEntity'
5032         '500':
5033           $ref: '#/components/responses/InternalServerError'
5034         '503':
5035           $ref: '#/components/responses/ServiceUnavailable'
5036         '5XX':
5037           $ref: '#/components/responses/UnexpectedError'
5038         default:
5039           $ref: '#/components/responses/UnexpectedError'
5040     post:
5041       tags:
5042         - "Infrastructure"
5043         - "Admin"
5044       summary: Create a new VIM
5045       description: Create a new VIM
5046       operationId: createVIM
5047       requestBody:
5048         $ref: '#/components/requestBodies/CreateVimRequest'
5049       responses:
5050         '202':
5051           description: Accepted
5052           content:
5053             application/json:
5054               schema:
5055                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5056             application/yaml:
5057               schema:
5058                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5059         '400':
5060           $ref: '#/components/responses/BadRequest'
5061         '401':
5062           $ref: '#/components/responses/Unauthorized'
5063         '403':
5064           $ref: '#/components/responses/Forbidden'
5065         '404':
5066           $ref: '#/components/responses/NotFound'
5067         '405':
5068           $ref: '#/components/responses/MethodNotAllowed'
5069         '406':
5070           $ref: '#/components/responses/NotAcceptable'
5071         '409':
5072           $ref: '#/components/responses/Conflict'
5073         '422':
5074           $ref: '#/components/responses/UnprocessableEntity'
5075         '500':
5076           $ref: '#/components/responses/InternalServerError'
5077         '503':
5078           $ref: '#/components/responses/ServiceUnavailable'
5079         '5XX':
5080           $ref: '#/components/responses/UnexpectedError'
5081         default:
5082           $ref: '#/components/responses/UnexpectedError'
5083   '/admin/v1/vims/{vimId}':
5084     parameters:
5085       - name: vimId
5086         in: path
5087         required: true
5088         description: VIM ID
5089         schema:
5090           type: string
5091           format: uuid
5092     get:
5093       tags:
5094         - "Infrastructure"
5095         - "Admin"
5096       summary: Query information about an individual VIM
5097       description: Query information about an individual VIM
5098       operationId: getVIM
5099       responses:
5100         '200':
5101           description: OK
5102           content:
5103             application/json:
5104               schema:
5105                 $ref: '#/components/schemas/VimInfo'
5106             application/yaml:
5107               schema:
5108                 $ref: '#/components/schemas/VimInfo'
5109         '400':
5110           $ref: '#/components/responses/BadRequest'
5111         '401':
5112           $ref: '#/components/responses/Unauthorized'
5113         '403':
5114           $ref: '#/components/responses/Forbidden'
5115         '404':
5116           $ref: '#/components/responses/NotFound'
5117         '405':
5118           $ref: '#/components/responses/MethodNotAllowed'
5119         '406':
5120           $ref: '#/components/responses/NotAcceptable'
5121         '409':
5122           $ref: '#/components/responses/Conflict'
5123         '422':
5124           $ref: '#/components/responses/UnprocessableEntity'
5125         '500':
5126           $ref: '#/components/responses/InternalServerError'
5127         '503':
5128           $ref: '#/components/responses/ServiceUnavailable'
5129         '5XX':
5130           $ref: '#/components/responses/UnexpectedError'
5131         default:
5132           $ref: '#/components/responses/UnexpectedError'
5133     patch:
5134       tags:
5135         - "Infrastructure"
5136         - "Admin"
5137       summary: Modify a VIM
5138       description: Modify a VIM
5139       operationId: editVIM
5140       requestBody:
5141         $ref: '#/components/requestBodies/EditVimRequest'
5142       responses:
5143         '202':
5144           description: Accepted
5145           content:
5146             application/json:
5147               schema:
5148                 $ref: '#/components/schemas/OpId'
5149             application/yaml:
5150               schema:
5151                 $ref: '#/components/schemas/OpId'
5152         '400':
5153           $ref: '#/components/responses/BadRequest'
5154         '401':
5155           $ref: '#/components/responses/Unauthorized'
5156         '403':
5157           $ref: '#/components/responses/Forbidden'
5158         '404':
5159           $ref: '#/components/responses/NotFound'
5160         '405':
5161           $ref: '#/components/responses/MethodNotAllowed'
5162         '406':
5163           $ref: '#/components/responses/NotAcceptable'
5164         '409':
5165           $ref: '#/components/responses/Conflict'
5166         '422':
5167           $ref: '#/components/responses/UnprocessableEntity'
5168         '500':
5169           $ref: '#/components/responses/InternalServerError'
5170         '503':
5171           $ref: '#/components/responses/ServiceUnavailable'
5172         '5XX':
5173           $ref: '#/components/responses/UnexpectedError'
5174         default:
5175           $ref: '#/components/responses/UnexpectedError'
5176     delete:
5177       tags:
5178         - "Infrastructure"
5179         - "Admin"
5180       summary: Delete a VIM
5181       description: Delete a VIM
5182       operationId: deleteVIM
5183       responses:
5184         '202':
5185           description: Accepted
5186         '400':
5187           $ref: '#/components/responses/BadRequest'
5188         '401':
5189           $ref: '#/components/responses/Unauthorized'
5190         '403':
5191           $ref: '#/components/responses/Forbidden'
5192         '404':
5193           $ref: '#/components/responses/NotFound'
5194         '405':
5195           $ref: '#/components/responses/MethodNotAllowed'
5196         '406':
5197           $ref: '#/components/responses/NotAcceptable'
5198         '409':
5199           $ref: '#/components/responses/Conflict'
5200         '422':
5201           $ref: '#/components/responses/UnprocessableEntity'
5202         '500':
5203           $ref: '#/components/responses/InternalServerError'
5204         '503':
5205           $ref: '#/components/responses/ServiceUnavailable'
5206         '5XX':
5207           $ref: '#/components/responses/UnexpectedError'
5208         default:
5209           $ref: '#/components/responses/UnexpectedError'
5210   '/admin/v1/vim_accounts':
5211     get:
5212       tags:
5213         - "Infrastructure"
5214         - "Admin"
5215       summary: Query information about multiple VIM Accounts
5216       description: Query information about multiple VIM Accounts
5217       operationId: getVimAccounts
5218       responses:
5219         '200':
5220           description: OK
5221           content:
5222             application/json:
5223               schema:
5224                 $ref: '#/components/schemas/ArrayOfVimInfo'
5225             application/yaml:
5226               schema:
5227                 $ref: '#/components/schemas/ArrayOfVimInfo'
5228         '400':
5229           $ref: '#/components/responses/BadRequest'
5230         '401':
5231           $ref: '#/components/responses/Unauthorized'
5232         '403':
5233           $ref: '#/components/responses/Forbidden'
5234         '404':
5235           $ref: '#/components/responses/NotFound'
5236         '405':
5237           $ref: '#/components/responses/MethodNotAllowed'
5238         '406':
5239           $ref: '#/components/responses/NotAcceptable'
5240         '409':
5241           $ref: '#/components/responses/Conflict'
5242         '422':
5243           $ref: '#/components/responses/UnprocessableEntity'
5244         '500':
5245           $ref: '#/components/responses/InternalServerError'
5246         '503':
5247           $ref: '#/components/responses/ServiceUnavailable'
5248         '5XX':
5249           $ref: '#/components/responses/UnexpectedError'
5250         default:
5251           $ref: '#/components/responses/UnexpectedError'
5252     post:
5253       tags:
5254         - "Infrastructure"
5255         - "Admin"
5256       summary: Create a new VIM Account
5257       description: Create a new VIM Account
5258       operationId: createVimAccount
5259       requestBody:
5260         $ref: '#/components/requestBodies/CreateVimRequest'
5261       responses:
5262         '202':
5263           description: Accepted
5264           content:
5265             application/json:
5266               schema:
5267                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5268             application/yaml:
5269               schema:
5270                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5271         '400':
5272           $ref: '#/components/responses/BadRequest'
5273         '401':
5274           $ref: '#/components/responses/Unauthorized'
5275         '403':
5276           $ref: '#/components/responses/Forbidden'
5277         '404':
5278           $ref: '#/components/responses/NotFound'
5279         '405':
5280           $ref: '#/components/responses/MethodNotAllowed'
5281         '406':
5282           $ref: '#/components/responses/NotAcceptable'
5283         '409':
5284           $ref: '#/components/responses/Conflict'
5285         '422':
5286           $ref: '#/components/responses/UnprocessableEntity'
5287         '500':
5288           $ref: '#/components/responses/InternalServerError'
5289         '503':
5290           $ref: '#/components/responses/ServiceUnavailable'
5291         '5XX':
5292           $ref: '#/components/responses/UnexpectedError'
5293         default:
5294           $ref: '#/components/responses/UnexpectedError'
5295   '/admin/v1/vim_accounts/{vimAccountId}':
5296     parameters:
5297       - name: vimAccountId
5298         in: path
5299         required: true
5300         description: VIM Account ID
5301         schema:
5302           type: string
5303           format: uuid
5304     get:
5305       tags:
5306         - "Infrastructure"
5307         - "Admin"
5308       summary: Query information about an individual VIM Account
5309       description: Query information about an individual VIM Account
5310       operationId: getVimAccount
5311       responses:
5312         '200':
5313           description: OK
5314           content:
5315             application/json:
5316               schema:
5317                 $ref: '#/components/schemas/VimInfo'
5318             application/yaml:
5319               schema:
5320                 $ref: '#/components/schemas/VimInfo'
5321         '400':
5322           $ref: '#/components/responses/BadRequest'
5323         '401':
5324           $ref: '#/components/responses/Unauthorized'
5325         '403':
5326           $ref: '#/components/responses/Forbidden'
5327         '404':
5328           $ref: '#/components/responses/NotFound'
5329         '405':
5330           $ref: '#/components/responses/MethodNotAllowed'
5331         '406':
5332           $ref: '#/components/responses/NotAcceptable'
5333         '409':
5334           $ref: '#/components/responses/Conflict'
5335         '422':
5336           $ref: '#/components/responses/UnprocessableEntity'
5337         '500':
5338           $ref: '#/components/responses/InternalServerError'
5339         '503':
5340           $ref: '#/components/responses/ServiceUnavailable'
5341         '5XX':
5342           $ref: '#/components/responses/UnexpectedError'
5343         default:
5344           $ref: '#/components/responses/UnexpectedError'
5345     patch:
5346       tags:
5347         - "Infrastructure"
5348         - "Admin"
5349       summary: Modify a VIM Account
5350       description: Modify a VIM Account
5351       operationId: editVimAccount
5352       requestBody:
5353         $ref: '#/components/requestBodies/EditVimRequest'
5354       responses:
5355         '202':
5356           description: Accepted
5357           content:
5358             application/json:
5359               schema:
5360                 $ref: '#/components/schemas/OpId'
5361             application/yaml:
5362               schema:
5363                 $ref: '#/components/schemas/OpId'
5364         '400':
5365           $ref: '#/components/responses/BadRequest'
5366         '401':
5367           $ref: '#/components/responses/Unauthorized'
5368         '403':
5369           $ref: '#/components/responses/Forbidden'
5370         '404':
5371           $ref: '#/components/responses/NotFound'
5372         '405':
5373           $ref: '#/components/responses/MethodNotAllowed'
5374         '406':
5375           $ref: '#/components/responses/NotAcceptable'
5376         '409':
5377           $ref: '#/components/responses/Conflict'
5378         '422':
5379           $ref: '#/components/responses/UnprocessableEntity'
5380         '500':
5381           $ref: '#/components/responses/InternalServerError'
5382         '503':
5383           $ref: '#/components/responses/ServiceUnavailable'
5384         '5XX':
5385           $ref: '#/components/responses/UnexpectedError'
5386         default:
5387           $ref: '#/components/responses/UnexpectedError'
5388     delete:
5389       tags:
5390         - "Infrastructure"
5391         - "Admin"
5392       summary: Delete a VIM Account
5393       description: Delete a VIM Account
5394       operationId: deleteVimAccount
5395       responses:
5396         '202':
5397           description: Accepted
5398         '400':
5399           $ref: '#/components/responses/BadRequest'
5400         '401':
5401           $ref: '#/components/responses/Unauthorized'
5402         '403':
5403           $ref: '#/components/responses/Forbidden'
5404         '404':
5405           $ref: '#/components/responses/NotFound'
5406         '405':
5407           $ref: '#/components/responses/MethodNotAllowed'
5408         '406':
5409           $ref: '#/components/responses/NotAcceptable'
5410         '409':
5411           $ref: '#/components/responses/Conflict'
5412         '422':
5413           $ref: '#/components/responses/UnprocessableEntity'
5414         '500':
5415           $ref: '#/components/responses/InternalServerError'
5416         '503':
5417           $ref: '#/components/responses/ServiceUnavailable'
5418         '5XX':
5419           $ref: '#/components/responses/UnexpectedError'
5420         default:
5421           $ref: '#/components/responses/UnexpectedError'
5422   '/admin/v1/wim_accounts':
5423     get:
5424       tags:
5425         - "Infrastructure"
5426         - "Admin"
5427       summary: Query information about multiple WIM Accounts
5428       description: Query information about multiple WIM Accounts
5429       operationId: getWimAccounts
5430       responses:
5431         '200':
5432           description: OK
5433           content:
5434             application/json:
5435               schema:
5436                 $ref: '#/components/schemas/ArrayOfWimInfo'
5437             application/yaml:
5438               schema:
5439                 $ref: '#/components/schemas/ArrayOfWimInfo'
5440         '400':
5441           $ref: '#/components/responses/BadRequest'
5442         '401':
5443           $ref: '#/components/responses/Unauthorized'
5444         '403':
5445           $ref: '#/components/responses/Forbidden'
5446         '404':
5447           $ref: '#/components/responses/NotFound'
5448         '405':
5449           $ref: '#/components/responses/MethodNotAllowed'
5450         '406':
5451           $ref: '#/components/responses/NotAcceptable'
5452         '409':
5453           $ref: '#/components/responses/Conflict'
5454         '422':
5455           $ref: '#/components/responses/UnprocessableEntity'
5456         '500':
5457           $ref: '#/components/responses/InternalServerError'
5458         '503':
5459           $ref: '#/components/responses/ServiceUnavailable'
5460         '5XX':
5461           $ref: '#/components/responses/UnexpectedError'
5462         default:
5463           $ref: '#/components/responses/UnexpectedError'
5464     post:
5465       tags:
5466         - "Infrastructure"
5467         - "Admin"
5468       summary: Create a new WIM Account
5469       description: Create a new WIM Account
5470       operationId: createWimAccount
5471       requestBody:
5472         $ref: '#/components/requestBodies/CreateWimRequest'
5473       responses:
5474         '202':
5475           description: Accepted
5476           content:
5477             application/json:
5478               schema:
5479                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5480             application/yaml:
5481               schema:
5482                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5483         '400':
5484           $ref: '#/components/responses/BadRequest'
5485         '401':
5486           $ref: '#/components/responses/Unauthorized'
5487         '403':
5488           $ref: '#/components/responses/Forbidden'
5489         '404':
5490           $ref: '#/components/responses/NotFound'
5491         '405':
5492           $ref: '#/components/responses/MethodNotAllowed'
5493         '406':
5494           $ref: '#/components/responses/NotAcceptable'
5495         '409':
5496           $ref: '#/components/responses/Conflict'
5497         '422':
5498           $ref: '#/components/responses/UnprocessableEntity'
5499         '500':
5500           $ref: '#/components/responses/InternalServerError'
5501         '503':
5502           $ref: '#/components/responses/ServiceUnavailable'
5503         '5XX':
5504           $ref: '#/components/responses/UnexpectedError'
5505         default:
5506           $ref: '#/components/responses/UnexpectedError'
5507   '/admin/v1/wim_accounts/{wimAccountId}':
5508     parameters:
5509       - name: wimAccountId
5510         in: path
5511         required: true
5512         description: WIM Account ID
5513         schema:
5514           type: string
5515           format: uuid
5516     get:
5517       tags:
5518         - "Infrastructure"
5519         - "Admin"
5520       summary: Query information about an individual WIM Account
5521       description: Query information about an individual WIM Account
5522       operationId: getWimAccount
5523       responses:
5524         '200':
5525           description: OK
5526           content:
5527             application/json:
5528               schema:
5529                 $ref: '#/components/schemas/WimInfo'
5530             application/yaml:
5531               schema:
5532                 $ref: '#/components/schemas/WimInfo'
5533         '400':
5534           $ref: '#/components/responses/BadRequest'
5535         '401':
5536           $ref: '#/components/responses/Unauthorized'
5537         '403':
5538           $ref: '#/components/responses/Forbidden'
5539         '404':
5540           $ref: '#/components/responses/NotFound'
5541         '405':
5542           $ref: '#/components/responses/MethodNotAllowed'
5543         '406':
5544           $ref: '#/components/responses/NotAcceptable'
5545         '409':
5546           $ref: '#/components/responses/Conflict'
5547         '422':
5548           $ref: '#/components/responses/UnprocessableEntity'
5549         '500':
5550           $ref: '#/components/responses/InternalServerError'
5551         '503':
5552           $ref: '#/components/responses/ServiceUnavailable'
5553         '5XX':
5554           $ref: '#/components/responses/UnexpectedError'
5555         default:
5556           $ref: '#/components/responses/UnexpectedError'
5557     patch:
5558       tags:
5559         - "Infrastructure"
5560         - "Admin"
5561       summary: Modify a WIM Account
5562       description: Modify a WIM Account
5563       operationId: editWimAccount
5564       requestBody:
5565         $ref: '#/components/requestBodies/EditWimRequest'
5566       responses:
5567         '202':
5568           description: Accepted
5569           content:
5570             application/json:
5571               schema:
5572                 $ref: '#/components/schemas/OpId'
5573             application/yaml:
5574               schema:
5575                 $ref: '#/components/schemas/OpId'
5576         '400':
5577           $ref: '#/components/responses/BadRequest'
5578         '401':
5579           $ref: '#/components/responses/Unauthorized'
5580         '403':
5581           $ref: '#/components/responses/Forbidden'
5582         '404':
5583           $ref: '#/components/responses/NotFound'
5584         '405':
5585           $ref: '#/components/responses/MethodNotAllowed'
5586         '406':
5587           $ref: '#/components/responses/NotAcceptable'
5588         '409':
5589           $ref: '#/components/responses/Conflict'
5590         '422':
5591           $ref: '#/components/responses/UnprocessableEntity'
5592         '500':
5593           $ref: '#/components/responses/InternalServerError'
5594         '503':
5595           $ref: '#/components/responses/ServiceUnavailable'
5596         '5XX':
5597           $ref: '#/components/responses/UnexpectedError'
5598         default:
5599           $ref: '#/components/responses/UnexpectedError'
5600     delete:
5601       tags:
5602         - "Infrastructure"
5603         - "Admin"
5604       summary: Delete a WIM Account
5605       description: Delete a WIM Account
5606       operationId: deleteWimAccount
5607       responses:
5608         '202':
5609           description: Accepted
5610         '400':
5611           $ref: '#/components/responses/BadRequest'
5612         '401':
5613           $ref: '#/components/responses/Unauthorized'
5614         '403':
5615           $ref: '#/components/responses/Forbidden'
5616         '404':
5617           $ref: '#/components/responses/NotFound'
5618         '405':
5619           $ref: '#/components/responses/MethodNotAllowed'
5620         '406':
5621           $ref: '#/components/responses/NotAcceptable'
5622         '409':
5623           $ref: '#/components/responses/Conflict'
5624         '422':
5625           $ref: '#/components/responses/UnprocessableEntity'
5626         '500':
5627           $ref: '#/components/responses/InternalServerError'
5628         '503':
5629           $ref: '#/components/responses/ServiceUnavailable'
5630         '5XX':
5631           $ref: '#/components/responses/UnexpectedError'
5632         default:
5633           $ref: '#/components/responses/UnexpectedError'
5634   '/admin/v1/sdns':
5635     get:
5636       tags:
5637         - "Infrastructure"
5638         - "Admin"
5639       summary: Query information about multiple SDNs
5640       description: Query information about multiple SDNs
5641       operationId: getSDNs
5642       responses:
5643         '200':
5644           description: OK
5645           content:
5646             application/json:
5647               schema:
5648                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5649             application/yaml:
5650               schema:
5651                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5652         '400':
5653           $ref: '#/components/responses/BadRequest'
5654         '401':
5655           $ref: '#/components/responses/Unauthorized'
5656         '403':
5657           $ref: '#/components/responses/Forbidden'
5658         '404':
5659           $ref: '#/components/responses/NotFound'
5660         '405':
5661           $ref: '#/components/responses/MethodNotAllowed'
5662         '406':
5663           $ref: '#/components/responses/NotAcceptable'
5664         '409':
5665           $ref: '#/components/responses/Conflict'
5666         '422':
5667           $ref: '#/components/responses/UnprocessableEntity'
5668         '500':
5669           $ref: '#/components/responses/InternalServerError'
5670         '503':
5671           $ref: '#/components/responses/ServiceUnavailable'
5672         '5XX':
5673           $ref: '#/components/responses/UnexpectedError'
5674         default:
5675           $ref: '#/components/responses/UnexpectedError'
5676     post:
5677       tags:
5678         - "Infrastructure"
5679         - "Admin"
5680       summary: Create a new SDN
5681       description: Create a new SDN
5682       operationId: createSDN
5683       requestBody:
5684         $ref: '#/components/requestBodies/CreateSdnRequest'
5685       responses:
5686         '202':
5687           description: Accepted
5688           content:
5689             application/json:
5690               schema:
5691                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5692             application/yaml:
5693               schema:
5694                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5695         '400':
5696           $ref: '#/components/responses/BadRequest'
5697         '401':
5698           $ref: '#/components/responses/Unauthorized'
5699         '403':
5700           $ref: '#/components/responses/Forbidden'
5701         '404':
5702           $ref: '#/components/responses/NotFound'
5703         '405':
5704           $ref: '#/components/responses/MethodNotAllowed'
5705         '406':
5706           $ref: '#/components/responses/NotAcceptable'
5707         '409':
5708           $ref: '#/components/responses/Conflict'
5709         '422':
5710           $ref: '#/components/responses/UnprocessableEntity'
5711         '500':
5712           $ref: '#/components/responses/InternalServerError'
5713         '503':
5714           $ref: '#/components/responses/ServiceUnavailable'
5715         '5XX':
5716           $ref: '#/components/responses/UnexpectedError'
5717         default:
5718           $ref: '#/components/responses/UnexpectedError'
5719   '/admin/v1/sdns/{sdnId}':
5720     parameters:
5721       - name: sdnId
5722         in: path
5723         required: true
5724         description: SDN ID
5725         schema:
5726           type: string
5727           format: uuid
5728     get:
5729       tags:
5730         - "Infrastructure"
5731         - "Admin"
5732       summary: Query information about an individual SDN
5733       description: Query information about an individual SDN
5734       operationId: getSDN
5735       responses:
5736         '200':
5737           description: OK
5738           content:
5739             application/json:
5740               schema:
5741                 $ref: '#/components/schemas/SdnInfo'
5742             application/yaml:
5743               schema:
5744                 $ref: '#/components/schemas/SdnInfo'
5745         '400':
5746           $ref: '#/components/responses/BadRequest'
5747         '401':
5748           $ref: '#/components/responses/Unauthorized'
5749         '403':
5750           $ref: '#/components/responses/Forbidden'
5751         '404':
5752           $ref: '#/components/responses/NotFound'
5753         '405':
5754           $ref: '#/components/responses/MethodNotAllowed'
5755         '406':
5756           $ref: '#/components/responses/NotAcceptable'
5757         '409':
5758           $ref: '#/components/responses/Conflict'
5759         '422':
5760           $ref: '#/components/responses/UnprocessableEntity'
5761         '500':
5762           $ref: '#/components/responses/InternalServerError'
5763         '503':
5764           $ref: '#/components/responses/ServiceUnavailable'
5765         '5XX':
5766           $ref: '#/components/responses/UnexpectedError'
5767         default:
5768           $ref: '#/components/responses/UnexpectedError'
5769     patch:
5770       tags:
5771         - "Infrastructure"
5772         - "Admin"
5773       summary: Modify a SDN
5774       description: Modify a SDN
5775       operationId: editSDN
5776       requestBody:
5777         $ref: '#/components/requestBodies/EditSdnRequest'
5778       responses:
5779         '202':
5780           description: Accepted
5781           content:
5782             application/json:
5783               schema:
5784                 $ref: '#/components/schemas/OpId'
5785             application/yaml:
5786               schema:
5787                 $ref: '#/components/schemas/OpId'
5788         '400':
5789           $ref: '#/components/responses/BadRequest'
5790         '401':
5791           $ref: '#/components/responses/Unauthorized'
5792         '403':
5793           $ref: '#/components/responses/Forbidden'
5794         '404':
5795           $ref: '#/components/responses/NotFound'
5796         '405':
5797           $ref: '#/components/responses/MethodNotAllowed'
5798         '406':
5799           $ref: '#/components/responses/NotAcceptable'
5800         '409':
5801           $ref: '#/components/responses/Conflict'
5802         '422':
5803           $ref: '#/components/responses/UnprocessableEntity'
5804         '500':
5805           $ref: '#/components/responses/InternalServerError'
5806         '503':
5807           $ref: '#/components/responses/ServiceUnavailable'
5808         '5XX':
5809           $ref: '#/components/responses/UnexpectedError'
5810         default:
5811           $ref: '#/components/responses/UnexpectedError'
5812     delete:
5813       tags:
5814         - "Infrastructure"
5815         - "Admin"
5816       summary: Delete a SDN
5817       description: Delete a SDN
5818       operationId: deleteSDN
5819       responses:
5820         '202':
5821           description: Accepted
5822         '400':
5823           $ref: '#/components/responses/BadRequest'
5824         '401':
5825           $ref: '#/components/responses/Unauthorized'
5826         '403':
5827           $ref: '#/components/responses/Forbidden'
5828         '404':
5829           $ref: '#/components/responses/NotFound'
5830         '405':
5831           $ref: '#/components/responses/MethodNotAllowed'
5832         '406':
5833           $ref: '#/components/responses/NotAcceptable'
5834         '409':
5835           $ref: '#/components/responses/Conflict'
5836         '422':
5837           $ref: '#/components/responses/UnprocessableEntity'
5838         '500':
5839           $ref: '#/components/responses/InternalServerError'
5840         '503':
5841           $ref: '#/components/responses/ServiceUnavailable'
5842         '5XX':
5843           $ref: '#/components/responses/UnexpectedError'
5844         default:
5845           $ref: '#/components/responses/UnexpectedError'
5846   '/admin/v1/k8sclusters':
5847     get:
5848       tags:
5849         - "Infrastructure"
5850         - "Admin"
5851       summary: Query information about multiple K8s Clusters
5852       description: Query information about multiple K8s Clusters
5853       operationId: getK8sClusters
5854       responses:
5855         '200':
5856           description: OK
5857           content:
5858             application/json:
5859               schema:
5860                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5861             application/yaml:
5862               schema:
5863                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5864         '400':
5865           $ref: '#/components/responses/BadRequest'
5866         '401':
5867           $ref: '#/components/responses/Unauthorized'
5868         '403':
5869           $ref: '#/components/responses/Forbidden'
5870         '404':
5871           $ref: '#/components/responses/NotFound'
5872         '405':
5873           $ref: '#/components/responses/MethodNotAllowed'
5874         '406':
5875           $ref: '#/components/responses/NotAcceptable'
5876         '409':
5877           $ref: '#/components/responses/Conflict'
5878         '422':
5879           $ref: '#/components/responses/UnprocessableEntity'
5880         '500':
5881           $ref: '#/components/responses/InternalServerError'
5882         '503':
5883           $ref: '#/components/responses/ServiceUnavailable'
5884         '5XX':
5885           $ref: '#/components/responses/UnexpectedError'
5886         default:
5887           $ref: '#/components/responses/UnexpectedError'
5888     post:
5889       tags:
5890         - "Infrastructure"
5891         - "Admin"
5892       summary: Create a new K8s Cluster
5893       description: Create a new K8s Cluster
5894       operationId: createK8sCluster
5895       requestBody:
5896         $ref: '#/components/requestBodies/CreateK8sClusterRequest'
5897       responses:
5898         '202':
5899           description: Accepted
5900           content:
5901             application/json:
5902               schema:
5903                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5904             application/yaml:
5905               schema:
5906                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5907         '400':
5908           $ref: '#/components/responses/BadRequest'
5909         '401':
5910           $ref: '#/components/responses/Unauthorized'
5911         '403':
5912           $ref: '#/components/responses/Forbidden'
5913         '404':
5914           $ref: '#/components/responses/NotFound'
5915         '405':
5916           $ref: '#/components/responses/MethodNotAllowed'
5917         '406':
5918           $ref: '#/components/responses/NotAcceptable'
5919         '409':
5920           $ref: '#/components/responses/Conflict'
5921         '422':
5922           $ref: '#/components/responses/UnprocessableEntity'
5923         '500':
5924           $ref: '#/components/responses/InternalServerError'
5925         '503':
5926           $ref: '#/components/responses/ServiceUnavailable'
5927         '5XX':
5928           $ref: '#/components/responses/UnexpectedError'
5929         default:
5930           $ref: '#/components/responses/UnexpectedError'
5931   '/admin/v1/k8sclusters/{k8sClusterId}':
5932     parameters:
5933       - name: k8sClusterId
5934         in: path
5935         required: true
5936         description: K8s Cluster ID
5937         schema:
5938           type: string
5939           format: uuid
5940     get:
5941       tags:
5942         - "Infrastructure"
5943         - "Admin"
5944       summary: Query information about an individual K8s Cluster
5945       description: Query information about an individual K8s Cluster
5946       operationId: getK8sCluster
5947       responses:
5948         '200':
5949           description: OK
5950           content:
5951             application/json:
5952               schema:
5953                 $ref: '#/components/schemas/K8sClusterInfo'
5954             application/yaml:
5955               schema:
5956                 $ref: '#/components/schemas/K8sClusterInfo'
5957         '400':
5958           $ref: '#/components/responses/BadRequest'
5959         '401':
5960           $ref: '#/components/responses/Unauthorized'
5961         '403':
5962           $ref: '#/components/responses/Forbidden'
5963         '404':
5964           $ref: '#/components/responses/NotFound'
5965         '405':
5966           $ref: '#/components/responses/MethodNotAllowed'
5967         '406':
5968           $ref: '#/components/responses/NotAcceptable'
5969         '409':
5970           $ref: '#/components/responses/Conflict'
5971         '422':
5972           $ref: '#/components/responses/UnprocessableEntity'
5973         '500':
5974           $ref: '#/components/responses/InternalServerError'
5975         '503':
5976           $ref: '#/components/responses/ServiceUnavailable'
5977         '5XX':
5978           $ref: '#/components/responses/UnexpectedError'
5979         default:
5980           $ref: '#/components/responses/UnexpectedError'
5981     patch:
5982       tags:
5983         - "Infrastructure"
5984         - "Admin"
5985       summary: Modify a K8s Cluster
5986       description: Modify a K8s Cluster
5987       operationId: editK8sCluster
5988       requestBody:
5989         $ref: '#/components/requestBodies/EditK8sClusterRequest'
5990       responses:
5991         '202':
5992           description: Accepted
5993           content:
5994             application/json:
5995               schema:
5996                 $ref: '#/components/schemas/OpId'
5997             application/yaml:
5998               schema:
5999                 $ref: '#/components/schemas/OpId'
6000         '400':
6001           $ref: '#/components/responses/BadRequest'
6002         '401':
6003           $ref: '#/components/responses/Unauthorized'
6004         '403':
6005           $ref: '#/components/responses/Forbidden'
6006         '404':
6007           $ref: '#/components/responses/NotFound'
6008         '405':
6009           $ref: '#/components/responses/MethodNotAllowed'
6010         '406':
6011           $ref: '#/components/responses/NotAcceptable'
6012         '409':
6013           $ref: '#/components/responses/Conflict'
6014         '422':
6015           $ref: '#/components/responses/UnprocessableEntity'
6016         '500':
6017           $ref: '#/components/responses/InternalServerError'
6018         '503':
6019           $ref: '#/components/responses/ServiceUnavailable'
6020         '5XX':
6021           $ref: '#/components/responses/UnexpectedError'
6022         default:
6023           $ref: '#/components/responses/UnexpectedError'
6024     delete:
6025       tags:
6026         - "Infrastructure"
6027         - "Admin"
6028       summary: Delete a K8s Cluster
6029       description: Delete a K8s Cluster
6030       operationId: deleteK8sCluster
6031       responses:
6032         '202':
6033           description: Accepted
6034         '400':
6035           $ref: '#/components/responses/BadRequest'
6036         '401':
6037           $ref: '#/components/responses/Unauthorized'
6038         '403':
6039           $ref: '#/components/responses/Forbidden'
6040         '404':
6041           $ref: '#/components/responses/NotFound'
6042         '405':
6043           $ref: '#/components/responses/MethodNotAllowed'
6044         '406':
6045           $ref: '#/components/responses/NotAcceptable'
6046         '409':
6047           $ref: '#/components/responses/Conflict'
6048         '422':
6049           $ref: '#/components/responses/UnprocessableEntity'
6050         '500':
6051           $ref: '#/components/responses/InternalServerError'
6052         '503':
6053           $ref: '#/components/responses/ServiceUnavailable'
6054         '5XX':
6055           $ref: '#/components/responses/UnexpectedError'
6056         default:
6057           $ref: '#/components/responses/UnexpectedError'
6058   '/admin/v1/vca':
6059     get:
6060       tags:
6061         - "Infrastructure"
6062         - "Admin"
6063       summary: Query information about multiple VCAs
6064       description: Query information about multiple VCAs
6065       operationId: getVcas
6066       responses:
6067         '200':
6068           description: OK
6069           content:
6070             application/json:
6071               schema:
6072                 $ref: '#/components/schemas/ArrayOfVcaInfo'
6073             application/yaml:
6074               schema:
6075                 $ref: '#/components/schemas/ArrayOfVcaInfo'
6076         '400':
6077           $ref: '#/components/responses/BadRequest'
6078         '401':
6079           $ref: '#/components/responses/Unauthorized'
6080         '403':
6081           $ref: '#/components/responses/Forbidden'
6082         '404':
6083           $ref: '#/components/responses/NotFound'
6084         '405':
6085           $ref: '#/components/responses/MethodNotAllowed'
6086         '406':
6087           $ref: '#/components/responses/NotAcceptable'
6088         '409':
6089           $ref: '#/components/responses/Conflict'
6090         '422':
6091           $ref: '#/components/responses/UnprocessableEntity'
6092         '500':
6093           $ref: '#/components/responses/InternalServerError'
6094         '503':
6095           $ref: '#/components/responses/ServiceUnavailable'
6096         '5XX':
6097           $ref: '#/components/responses/UnexpectedError'
6098         default:
6099           $ref: '#/components/responses/UnexpectedError'
6100     post:
6101       tags:
6102         - "Infrastructure"
6103         - "Admin"
6104       summary: Create a new VCA
6105       description: Create a new VCA
6106       operationId: createVca
6107       requestBody:
6108         $ref: '#/components/requestBodies/CreateVcaRequest'
6109       responses:
6110         '202':
6111           description: Accepted
6112           content:
6113             application/json:
6114               schema:
6115                 $ref: '#/components/schemas/ObjectId_plus_OpId'
6116             application/yaml:
6117               schema:
6118                 $ref: '#/components/schemas/ObjectId_plus_OpId'
6119         '400':
6120           $ref: '#/components/responses/BadRequest'
6121         '401':
6122           $ref: '#/components/responses/Unauthorized'
6123         '403':
6124           $ref: '#/components/responses/Forbidden'
6125         '404':
6126           $ref: '#/components/responses/NotFound'
6127         '405':
6128           $ref: '#/components/responses/MethodNotAllowed'
6129         '406':
6130           $ref: '#/components/responses/NotAcceptable'
6131         '409':
6132           $ref: '#/components/responses/Conflict'
6133         '422':
6134           $ref: '#/components/responses/UnprocessableEntity'
6135         '500':
6136           $ref: '#/components/responses/InternalServerError'
6137         '503':
6138           $ref: '#/components/responses/ServiceUnavailable'
6139         '5XX':
6140           $ref: '#/components/responses/UnexpectedError'
6141         default:
6142           $ref: '#/components/responses/UnexpectedError'
6143   '/admin/v1/vca/{vcaId}':
6144     parameters:
6145       - name: vcaId
6146         in: path
6147         required: true
6148         description: VCA ID
6149         schema:
6150           type: string
6151           format: uuid
6152     get:
6153       tags:
6154         - "Infrastructure"
6155         - "Admin"
6156       summary: Query information about an individual VCA
6157       description: Query information about an individual VCA
6158       operationId: getVca
6159       responses:
6160         '200':
6161           description: OK
6162           content:
6163             application/json:
6164               schema:
6165                 $ref: '#/components/schemas/VcaInfo'
6166             application/yaml:
6167               schema:
6168                 $ref: '#/components/schemas/VcaInfo'
6169         '400':
6170           $ref: '#/components/responses/BadRequest'
6171         '401':
6172           $ref: '#/components/responses/Unauthorized'
6173         '403':
6174           $ref: '#/components/responses/Forbidden'
6175         '404':
6176           $ref: '#/components/responses/NotFound'
6177         '405':
6178           $ref: '#/components/responses/MethodNotAllowed'
6179         '406':
6180           $ref: '#/components/responses/NotAcceptable'
6181         '409':
6182           $ref: '#/components/responses/Conflict'
6183         '422':
6184           $ref: '#/components/responses/UnprocessableEntity'
6185         '500':
6186           $ref: '#/components/responses/InternalServerError'
6187         '503':
6188           $ref: '#/components/responses/ServiceUnavailable'
6189         '5XX':
6190           $ref: '#/components/responses/UnexpectedError'
6191         default:
6192           $ref: '#/components/responses/UnexpectedError'
6193     patch:
6194       tags:
6195         - "Infrastructure"
6196         - "Admin"
6197       summary: Modify a VCA
6198       description: Modify a VCA
6199       operationId: editVca
6200       requestBody:
6201         $ref: '#/components/requestBodies/EditVcaRequest'
6202       responses:
6203         '202':
6204           description: Accepted
6205           content:
6206             application/json:
6207               schema:
6208                 $ref: '#/components/schemas/OpId'
6209             application/yaml:
6210               schema:
6211                 $ref: '#/components/schemas/OpId'
6212         '400':
6213           $ref: '#/components/responses/BadRequest'
6214         '401':
6215           $ref: '#/components/responses/Unauthorized'
6216         '403':
6217           $ref: '#/components/responses/Forbidden'
6218         '404':
6219           $ref: '#/components/responses/NotFound'
6220         '405':
6221           $ref: '#/components/responses/MethodNotAllowed'
6222         '406':
6223           $ref: '#/components/responses/NotAcceptable'
6224         '409':
6225           $ref: '#/components/responses/Conflict'
6226         '422':
6227           $ref: '#/components/responses/UnprocessableEntity'
6228         '500':
6229           $ref: '#/components/responses/InternalServerError'
6230         '503':
6231           $ref: '#/components/responses/ServiceUnavailable'
6232         '5XX':
6233           $ref: '#/components/responses/UnexpectedError'
6234         default:
6235           $ref: '#/components/responses/UnexpectedError'
6236     delete:
6237       tags:
6238         - "Infrastructure"
6239         - "Admin"
6240       summary: Delete a VCA
6241       description: Delete a VCA
6242       operationId: deleteVca
6243       responses:
6244         '202':
6245           description: Accepted
6246         '400':
6247           $ref: '#/components/responses/BadRequest'
6248         '401':
6249           $ref: '#/components/responses/Unauthorized'
6250         '403':
6251           $ref: '#/components/responses/Forbidden'
6252         '404':
6253           $ref: '#/components/responses/NotFound'
6254         '405':
6255           $ref: '#/components/responses/MethodNotAllowed'
6256         '406':
6257           $ref: '#/components/responses/NotAcceptable'
6258         '409':
6259           $ref: '#/components/responses/Conflict'
6260         '422':
6261           $ref: '#/components/responses/UnprocessableEntity'
6262         '500':
6263           $ref: '#/components/responses/InternalServerError'
6264         '503':
6265           $ref: '#/components/responses/ServiceUnavailable'
6266         '5XX':
6267           $ref: '#/components/responses/UnexpectedError'
6268         default:
6269           $ref: '#/components/responses/UnexpectedError'
6270   '/admin/v1/k8srepos':
6271     get:
6272       tags:
6273         - "Repositories"
6274         - "Admin"
6275       summary: Query information about multiple K8s Repos
6276       description: Query information about multiple K8s Repos
6277       operationId: getK8sRepos
6278       responses:
6279         '200':
6280           description: OK
6281           content:
6282             application/json:
6283               schema:
6284                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
6285             application/yaml:
6286               schema:
6287                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
6288         '400':
6289           $ref: '#/components/responses/BadRequest'
6290         '401':
6291           $ref: '#/components/responses/Unauthorized'
6292         '403':
6293           $ref: '#/components/responses/Forbidden'
6294         '404':
6295           $ref: '#/components/responses/NotFound'
6296         '405':
6297           $ref: '#/components/responses/MethodNotAllowed'
6298         '406':
6299           $ref: '#/components/responses/NotAcceptable'
6300         '409':
6301           $ref: '#/components/responses/Conflict'
6302         '422':
6303           $ref: '#/components/responses/UnprocessableEntity'
6304         '500':
6305           $ref: '#/components/responses/InternalServerError'
6306         '503':
6307           $ref: '#/components/responses/ServiceUnavailable'
6308         '5XX':
6309           $ref: '#/components/responses/UnexpectedError'
6310         default:
6311           $ref: '#/components/responses/UnexpectedError'
6312     post:
6313       tags:
6314         - "Repositories"
6315         - "Admin"
6316       summary: Create a new K8s Repo
6317       description: Create a new K8s Repo
6318       operationId: createK8sRepo
6319       requestBody:
6320         $ref: '#/components/requestBodies/CreateK8sRepoRequest'
6321       responses:
6322         '202':
6323           description: Accepted
6324           content:
6325             application/json:
6326               schema:
6327                 $ref: '#/components/schemas/ObjectId_plus_OpId'
6328             application/yaml:
6329               schema:
6330                 $ref: '#/components/schemas/ObjectId_plus_OpId'
6331         '400':
6332           $ref: '#/components/responses/BadRequest'
6333         '401':
6334           $ref: '#/components/responses/Unauthorized'
6335         '403':
6336           $ref: '#/components/responses/Forbidden'
6337         '404':
6338           $ref: '#/components/responses/NotFound'
6339         '405':
6340           $ref: '#/components/responses/MethodNotAllowed'
6341         '406':
6342           $ref: '#/components/responses/NotAcceptable'
6343         '409':
6344           $ref: '#/components/responses/Conflict'
6345         '422':
6346           $ref: '#/components/responses/UnprocessableEntity'
6347         '500':
6348           $ref: '#/components/responses/InternalServerError'
6349         '503':
6350           $ref: '#/components/responses/ServiceUnavailable'
6351         '5XX':
6352           $ref: '#/components/responses/UnexpectedError'
6353         default:
6354           $ref: '#/components/responses/UnexpectedError'
6355   '/admin/v1/k8srepos/{k8sRepoId}':
6356     parameters:
6357       - name: k8sRepoId
6358         in: path
6359         required: true
6360         description: K8s Repo ID
6361         schema:
6362           type: string
6363           format: uuid
6364     get:
6365       tags:
6366         - "Repositories"
6367         - "Admin"
6368       summary: Query information about an individual K8s Repo
6369       description: Query information about an individual K8s Repo
6370       operationId: getK8sRepo
6371       responses:
6372         '200':
6373           description: OK
6374           content:
6375             application/json:
6376               schema:
6377                 $ref: '#/components/schemas/K8sRepoInfo'
6378             application/yaml:
6379               schema:
6380                 $ref: '#/components/schemas/K8sRepoInfo'
6381         '400':
6382           $ref: '#/components/responses/BadRequest'
6383         '401':
6384           $ref: '#/components/responses/Unauthorized'
6385         '403':
6386           $ref: '#/components/responses/Forbidden'
6387         '404':
6388           $ref: '#/components/responses/NotFound'
6389         '405':
6390           $ref: '#/components/responses/MethodNotAllowed'
6391         '406':
6392           $ref: '#/components/responses/NotAcceptable'
6393         '409':
6394           $ref: '#/components/responses/Conflict'
6395         '422':
6396           $ref: '#/components/responses/UnprocessableEntity'
6397         '500':
6398           $ref: '#/components/responses/InternalServerError'
6399         '503':
6400           $ref: '#/components/responses/ServiceUnavailable'
6401         '5XX':
6402           $ref: '#/components/responses/UnexpectedError'
6403         default:
6404           $ref: '#/components/responses/UnexpectedError'
6405     delete:
6406       tags:
6407         - "Repositories"
6408         - "Admin"
6409       summary: Delete a K8s Repo
6410       description: Delete a K8s Repo
6411       operationId: deleteK8sRepo
6412       responses:
6413         '202':
6414           description: Accepted
6415         '400':
6416           $ref: '#/components/responses/BadRequest'
6417         '401':
6418           $ref: '#/components/responses/Unauthorized'
6419         '403':
6420           $ref: '#/components/responses/Forbidden'
6421         '404':
6422           $ref: '#/components/responses/NotFound'
6423         '405':
6424           $ref: '#/components/responses/MethodNotAllowed'
6425         '406':
6426           $ref: '#/components/responses/NotAcceptable'
6427         '409':
6428           $ref: '#/components/responses/Conflict'
6429         '422':
6430           $ref: '#/components/responses/UnprocessableEntity'
6431         '500':
6432           $ref: '#/components/responses/InternalServerError'
6433         '503':
6434           $ref: '#/components/responses/ServiceUnavailable'
6435         '5XX':
6436           $ref: '#/components/responses/UnexpectedError'
6437         default:
6438           $ref: '#/components/responses/UnexpectedError'
6439 # END Admin
6440
6441 externalDocs:
6442   description: Find out more about OSM
6443   url: 'https://osm.etsi.org/docs/user-guide/'
6444
6445 components:
6446   responses:
6447     BadRequest:
6448       description: Bad request. The server cannot process the request due to a client error.
6449       content:
6450         application/json:
6451           schema:
6452             $ref: '#/components/schemas/ProblemDetails'
6453     Unauthorized:
6454       description: Authorization information is missing or invalid.
6455       content:
6456         application/json:
6457           schema:
6458             $ref: '#/components/schemas/ProblemDetails'
6459     Forbidden:
6460       description: Not enough permissions to do this operation.
6461       content:
6462         application/json:
6463           schema:
6464             $ref: '#/components/schemas/ProblemDetails'
6465     NotFound:
6466       description: The specified resource was not found.
6467       content:
6468         application/json:
6469           schema:
6470             $ref: '#/components/schemas/ProblemDetails'
6471     MethodNotAllowed:
6472       description: This method is not supported for the requested resource.
6473       content:
6474         application/json:
6475           schema:
6476             $ref: '#/components/schemas/ProblemDetails'
6477     NotAcceptable:
6478       description: The requested resource content cannot match the Accept headers sent in the request.
6479       content:
6480         application/json:
6481           schema:
6482             $ref: '#/components/schemas/ProblemDetails'
6483     Conflict:
6484       description: The operation cannot be executed currently, due to a conflict with the state of the resource.
6485       content:
6486         application/json:
6487           schema:
6488             $ref: '#/components/schemas/ProblemDetails'
6489     UnprocessableEntity:
6490       description: The request was well-formed but was unable to be followed due to semantic errors.
6491       content:
6492         application/json:
6493           schema:
6494             $ref: '#/components/schemas/ProblemDetails'
6495     InternalServerError:
6496       description: Internal server error.
6497       content:
6498         application/json:
6499           schema:
6500             $ref: '#/components/schemas/ProblemDetails'
6501     ServiceUnavailable:
6502       description: Service temporarily unavailable.
6503       content:
6504         application/json:
6505           schema:
6506             $ref: '#/components/schemas/ProblemDetails'
6507     UnexpectedError:
6508       description: Unexpected error.
6509       content:
6510         application/json:
6511           schema:
6512             $ref: '#/components/schemas/ProblemDetails'
6513     VnfDescriptor:
6514       description: VNF Descriptor (plaintext)
6515       content:
6516         text/plain:
6517           schema:
6518             $ref: '#/components/schemas/VnfDescriptor'
6519     VnfPackage:
6520       description: VNF Package (compressed)
6521       content:
6522         application/zip:
6523           schema:
6524             $ref: '#/components/schemas/VnfPackage'
6525     NsDescriptor:
6526       description: NS Descriptor (plaintext)
6527       content:
6528         text/plain:
6529           schema:
6530             $ref: '#/components/schemas/NsDescriptor'
6531     NsPackage:
6532       description: NS Package (compressed)
6533       content:
6534         application/zip:
6535           schema:
6536             $ref: '#/components/schemas/NsPackage'
6537     NetSliceTemplate:
6538       description: NetSlice Template (plaintext)
6539       content:
6540         text/plain:
6541           schema:
6542             $ref: '#/components/schemas/NetSliceTemplate'
6543     NetSlicePackage:
6544       description: NetSlice Package (compressed)
6545       content:
6546         application/zip:
6547           schema:
6548             $ref: '#/components/schemas/NetSlicePackage'
6549     NslcmSubscriptionResponse:
6550       description: NslcmSubscriptionResponse
6551       content:
6552         application/json:
6553           schema:
6554             $ref: '#/components/schemas/NslcmSubscriptionResponse'
6555         application/yaml:
6556           schema:
6557             $ref: '#/components/schemas/NslcmSubscriptionResponse'
6558   # END RESPONSES
6559
6560   schemas:
6561     ObjectId:
6562       type: object
6563       properties:
6564         id:
6565           type: string
6566           format: uuid
6567     KeyValuePairs:
6568       # A free list of key:value pairs
6569       type: object
6570       additionalProperties: true
6571     NsDescriptor:
6572       type: string
6573       format: yaml|json
6574     NsPackage:
6575       type: string
6576       format: binary
6577     CreateNsdInfoRequest:
6578       # A free list of key:value pairs
6579       type: object
6580       additionalProperties: true
6581     NsdInfoModifications:
6582       description: |
6583         NS Descriptor Information
6584         Only generic fields (id, name, description) are described
6585         For a full specification of the NS Descriptor see:
6586         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
6587       type: object
6588       properties:
6589         id:
6590           description: NSD Identifier
6591           type: string
6592         name:
6593           description: NSD Name
6594           type: string
6595         description:
6596           description: NSD Description
6597           type: string
6598     AlarmInfoModifications:
6599       description: |
6600         Alarm Information
6601       type: object
6602       properties:
6603         id:
6604           description: UUID
6605           type: string
6606         is_enable:
6607           description: To enable/disable the alarm.
6608           type: string
6609         threshold:
6610           description: Threshold value of the Alarm
6611           type: string
6612     NsdInfo:
6613       description: |
6614         NS Descriptor Information
6615         Only generic fields (_id, id, name, description) are described
6616         For a full specification of the NS Descriptor see:
6617         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
6618       type: object
6619       properties:
6620         _id:
6621           description: |
6622             Identifier of the onboarded individual NS descriptor
6623             resource. This identifier is allocated by the NFVO.
6624           type: string
6625           format: uuid
6626         id:
6627           description: |
6628             This identifier, which is allocated by the NSD
6629             designer, identifies the NSD in a globally unique
6630             way. It is copied from the NSD content and shall be
6631             present after the NSD content is on-boarded.
6632           type: string
6633         name:
6634           description: |
6635             Name of the onboarded NSD. This information is
6636             copied from the NSD content and shall be present
6637             after the NSD content is on-boarded.
6638           type: string
6639         description:
6640           description: |
6641             Description of the onboarded NSD.
6642             This information is copied from the NSD content.
6643           type: string
6644       required:
6645         - _id
6646         - id
6647     ArrayOfNsdInfo:
6648       type: array
6649       items:
6650         $ref: '#/components/schemas/NsdInfo'
6651     ProblemDetails:
6652       type: object
6653       properties:
6654         type:
6655           type: string
6656           format: uri
6657         title:
6658           type: string
6659         status:
6660           type: integer
6661         detail:
6662           type: string
6663         instance:
6664           type: string
6665           format: uri
6666       additionalProperties: true
6667       required:
6668         - status
6669         - detail
6670     VnfDescriptor:
6671       type: string
6672       format: yaml|json
6673     VnfPackage:
6674       type: string
6675       format: binary
6676     CreateVnfPkgInfoRequest:
6677       # A free list of key:value pairs
6678       type: object
6679       additionalProperties: true
6680     VnfPkgInfoModifications:
6681       description: |
6682         VNF Package Information
6683         Only generic fields (id, name, description) are described
6684         For a full specification of the VNF Descriptor see:
6685         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
6686       type: object
6687       properties:
6688         id:
6689           description: VNF Package Identifier
6690           type: string
6691         name:
6692           description: VNF Package Name
6693           type: string
6694         description:
6695           description: VNF Package description
6696           type: string
6697     VnfPkgInfo:
6698       description: |
6699         VNF Package Information
6700         Only generic fields (_id, id, name, description) are described
6701         For a full specification of the VNF Descriptor see:
6702         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
6703       type: object
6704       properties:
6705         _id:
6706           description: |
6707             Identifier of the VNF package. This identifier is allocated by the NFVO.
6708           type: string
6709           format: uuid
6710         id:
6711           description: VNF Package Identifier
6712           type: string
6713         name:
6714           description: VNF Package Name
6715           type: string
6716         description:
6717           description: VNF Package description
6718           type: string
6719       required:
6720         - _id
6721         - id
6722     ArrayOfVnfPkgInfo:
6723       type: array
6724       items:
6725         $ref: '#/components/schemas/VnfPkgInfo'
6726     # CreateNsRequest:
6727       # Substituted by InstantiateNsRequest
6728     NsInstance:
6729       description: |
6730         NS Instance Information
6731         Only generic fields (_id, id, name, description) are described
6732         For a full specification of the NS Instance see:
6733         http://osm-download.etsi.org/ftp/osm-doc/nsr.html
6734       type: object
6735       properties:
6736         _id:
6737           description: Identifier of the NS instance.
6738           type: string
6739           format: uuid
6740         id:
6741           description: Identifier of the NS instance.
6742           type: string
6743           format: uuid
6744         name:
6745           description: Human readable name of the NS instance.
6746           type: string
6747         description:
6748           description: Human readable description of the NS instance.
6749           type: string
6750       required:
6751         - _id
6752         - id
6753         - name
6754     InstantiateNsRequest:
6755       type: object
6756       properties:
6757         nsName:
6758           description: |
6759             Human-readable name of the NS instance to be created.
6760           type: string
6761         nsdId:
6762           description: |
6763             Identifier of the NSD that defines the NS instance to be created.
6764           type: string
6765           format: uuid
6766         vimAccountId:
6767           description: |
6768             Identifier of the VIM Account where the NS instance shall be created.
6769           type: string
6770           format: uuid
6771         lcmOperationType:
6772           type: string
6773         nsInstanceId:
6774           type: string
6775           format: uuid
6776         netsliceInstanceId:
6777           type: string
6778           format: uuid
6779         nsDescription:
6780           type: string
6781           nullable: true
6782         wimAccountId:
6783           oneOf:
6784             - type: string
6785             - type: boolean
6786           nullable: true
6787         additionalParamsForNs:
6788           type: object
6789           additionalProperties: true
6790         additionalParamsForVnf: &additionalparamsforvnf
6791           type: array
6792           items:
6793             type: object
6794             properties:
6795               member-vnf-index:
6796                 type: string
6797               additionalParams:
6798                 type: object
6799                 additionalProperties: true
6800               k8s-namespace:
6801                 type: string
6802                 description: |
6803                   use this namespace for all the KDU deployed in this VNF
6804                   (if any). By default it is used the id of the project
6805               additionalParamsForVdu:
6806                 type: array
6807                 items:
6808                   type: object
6809                   properties:
6810                     vdu_id:
6811                       type: string
6812                     additionalParams:
6813                       type: object
6814                       additionalProperties: true
6815                   required:
6816                     - vdu_id
6817                     - additionalParams
6818                   additionalProperties: false
6819               additionalParamsForKdu:
6820                 type: array
6821                 items:
6822                   type: object
6823                   properties:
6824                     kdu_name:
6825                       type: string
6826                     k8s-namespace:
6827                       type: string
6828                       description: use this namespace for this KDU
6829                     kdu_model:
6830                       type: string
6831                     additionalParams:
6832                       type: object
6833                       additionalProperties: true
6834                   required:
6835                     - kdu_name
6836                   minProperties: 2
6837                   additionalProperties: false
6838             required:
6839               - member-vnf-index
6840             minProperties: 2
6841             additionalProperties: false
6842         ssh_keys:
6843           type: array
6844           items:
6845             type: string
6846         nsr_id:
6847           type: string
6848           format: uuid
6849         vduImage:
6850           type: string
6851         placement-engine:
6852           type: string
6853           description: |
6854            To compute automatically the target VIM for each VNF based on 
6855            constrains, e.g. latency. Currently only 'PLA' is supported
6856         placement-constraints:
6857           type: object
6858           additionalProperties: true
6859         k8s-namespace:
6860           type: string
6861         timeout_ns_deploy:
6862           type: integer
6863         vnf:
6864           type: array
6865           items:
6866             type: object
6867             properties:
6868               member-vnf-index:
6869                 type: string
6870               vimAccountId:
6871                 type: string
6872                 format: uuid
6873               vdu:
6874                 type: array
6875                 items:
6876                   type: object
6877                   properties:
6878                     id:
6879                       type: string
6880                     volume:
6881                       type: array
6882                       items:
6883                         type: object
6884                         properties:
6885                           name:
6886                             type: string
6887                           vim-volume-id:
6888                             type: string
6889                         required:
6890                           - name
6891                           - vim-volume-id
6892                         additionalProperties: false
6893                       minItems: 1
6894                     interface:
6895                       type: array
6896                       items:
6897                         type: object
6898                         properties:
6899                           name:
6900                             type: string
6901                           ip-address:
6902                             type: string
6903                             format: ipv4
6904                           mac-address:
6905                             type: string
6906                             format: mac_address
6907                           floating-ip-required:
6908                             type: boolean
6909                         required:
6910                           - name
6911                         additionalProperties: false
6912                       minItems: 1
6913                   required:
6914                     - id
6915                   additionalProperties: false
6916                 minItems: 1
6917               internal-vld:
6918                 type: array
6919                 items:
6920                   type: object
6921                   properties:
6922                     name:
6923                       type: string
6924                     vim-network-name:
6925                       type: string
6926                     vim-network-id:
6927                       type: string
6928                     ip-profile:
6929                       type: object
6930                       properties:
6931                         ip-version:
6932                           type: string
6933                           enum:
6934                             - ipv4
6935                             - ipv6
6936                         subnet-address:
6937                           type: string
6938                           format: ip_prefix
6939                           nullable: true
6940                         gateway-address:
6941                           type: string
6942                           format: ipv4
6943                           nullable: true
6944                         dns-server:
6945                           type: array
6946                           items:
6947                             type: object
6948                             properties:
6949                               address:
6950                                 type: string
6951                                 format: ipv4
6952                             required:
6953                               - address
6954                             additionalProperties: false
6955                           minItems: 1
6956                           nullable: true
6957                         dhcp-params:
6958                           type: object
6959                           properties:
6960                             enabled:
6961                               type: boolean
6962                             count:
6963                               type: integer
6964                               minimum: 1
6965                             start-address:
6966                               type: string
6967                               format: ipv4
6968                           additionalProperties: false
6969                           nullable: true
6970                       additionalProperties: false
6971                     provider-network:
6972                       type: object
6973                       properties:
6974                         physical-network:
6975                           type: string
6976                         segmentation-id:
6977                           type: string
6978                         network-type:
6979                           type: string
6980                         sdn-ports:
6981                           description: |
6982                             connect additional ports to the created underlay SDN connectivity.
6983                             Normally for external connectivy.
6984                           type: array
6985                           items:
6986                             type: object
6987                             properties:
6988                               switch_id:
6989                                 type: string
6990                               switch_port:
6991                                 type: string
6992                               mac_address:
6993                                 type: string
6994                                 format: mac_address
6995                               vlan:
6996                                 type: integer
6997                             additionalProperties: true
6998                             required:
6999                               - switch_id
7000                               - switch_port
7001                           minItems: 1
7002                       additionalProperties: false
7003                     internal-connection-point:
7004                       type: array
7005                       items:
7006                         type: object
7007                         properties:
7008                           id-ref:
7009                             type: string
7010                           ip-address:
7011                             type: string
7012                             format: ipv4
7013                         required:
7014                           - id-ref
7015                         minProperties: 2
7016                         additionalProperties: False
7017                       minItems: 1
7018                   required:
7019                     - name
7020                   minProperties: 2
7021                   additionalProperties: false
7022                 minItems: 1
7023             required:
7024               - member-vnf-index
7025             minProperties: 2
7026             additionalProperties: false
7027           minItems: 1
7028         vld:
7029           type: array
7030           items:
7031             type: object
7032             properties:
7033               name:
7034                 type: string
7035               vim-network-name:
7036                 oneOf:
7037                   - type: string
7038                   - type: object
7039               vim-network-id:
7040                 oneOf:
7041                   - type: string
7042                   - type: object
7043               ns-net:
7044                 type: object
7045                 additionalProperties: true
7046               wimAccountId:
7047                 oneOf:
7048                   - type: string
7049                   - type: boolean
7050                 nullable: true
7051               ip-profile:
7052                 type: object
7053                 additionalProperties: true
7054               provider-network:
7055                 type: object
7056                 properties:
7057                   physical-network:
7058                     type: string
7059                   segmentation-id:
7060                     type: string
7061                 additionalProperties: false
7062               vnfd-connection-point-ref:
7063                 type: array
7064                 items:
7065                   type: object
7066                   properties:
7067                     member-vnf-index-ref:
7068                       type: string
7069                     vnfd-connection-point-ref:
7070                       type: string
7071                     ip-address:
7072                       type: string
7073                       format: ipv4
7074                   required:
7075                     - member-vnf-index-ref
7076                     - vnfd-connection-point-ref
7077                   minProperties: 3
7078                   additionalProperties: false
7079                 minItems: 1
7080             required:
7081               - name
7082             additionalProperties: false
7083           minItems: 1
7084       required:
7085         - nsName
7086         - nsdId
7087         - vimAccountId
7088       additionalProperties: false
7089     ScaleNsRequest:
7090       type: object
7091       properties:
7092         scaleType:
7093           type: string
7094           enum:
7095             - SCALE_VNF
7096         timeout_ns_scale:
7097           description: timeout for the scale operation
7098           type: integer
7099         scaleVnfData:
7100           type: object
7101           properties:
7102             scaleVnfType:
7103               type: string
7104               enum:
7105                 - SCALE_IN
7106                 - SCALE_OUT
7107             scaleByStepData:
7108               type: object
7109               properties:
7110                 scaling-group-descriptor:
7111                   type: string
7112                 scaling-policy:
7113                   type: string
7114                 member-vnf-index:
7115                   type: string
7116               required:
7117                 - scaling-group-descriptor
7118                 - member-vnf-index
7119               additionalProperties: false
7120           required:
7121             - scaleVnfType
7122             - scaleByStepData
7123           additionalProperties: false
7124       required:
7125         - scaleType
7126         - scaleVnfData
7127       additionalProperties: false
7128     HealNsRequest:
7129       description: >
7130         This type represents request parameters for the "Heal NS" operation. This operation supports the healing of an NS
7131         instance by healing one or more of the VNF that are part of this NS.
7132       type: object
7133       properties:
7134         timeout_ns_heal:
7135           description: timeout for the heal operation in seconds
7136           type: integer
7137         healVnfData:
7138           description: >
7139             List of VNF to be healed, together with the information needed to heal each.
7140           type: array
7141           items:
7142             $ref: "#/components/schemas/HealVnfData"
7143       required:
7144         - healVnfData
7145     HealVnfData:
7146       description: >
7147         This type represents the information to heal a VNF that is part of an NS.
7148       type: object
7149       required:
7150         - vnfInstanceId
7151       properties:
7152         vnfInstanceId:
7153           description: >
7154             Identifies the VNF instance, part of the NS, requiring a
7155             healing action.
7156           type: string
7157           format: uuid
7158         cause:
7159           description: >
7160             Indicates the reason why a healing procedure is required.
7161           type: string
7162         additionalParams:
7163           description: >
7164             Additional parameters passed by the NFVO as input to
7165             the healing process, specific to the VNF being healed.
7166           type: object
7167           properties:
7168             run-day1:
7169               description: >
7170                 Flag to indicate whether or not to run day1 primitives for the VNF (default: false).
7171               type: boolean
7172               default: false
7173             vdu:
7174               description: >
7175                 List of VDU to be healed, together with the information needed to heal each.
7176               type: array
7177               items:
7178                 $ref: "#/components/schemas/HealVduData"
7179     HealVduData:
7180       description: >
7181         This type represents the information to heal a VDU that is part of a VNF.
7182       type: object
7183       required:
7184         - vdu-id
7185       properties:
7186         vdu-id:
7187           description: >
7188             Identifies the VDU id, part of the VNF, requiring a healing action.
7189           type: string
7190           format: uuid
7191         count-index:
7192           description: >
7193             Indicates the VDU number when the VDU is part of a scale-group.
7194           type: integer
7195           minimum: 0
7196         run-day1:
7197           description: >
7198             Flag to indicate whether or not to run day1 primitives for the VDU (default: false).
7199           type: boolean
7200           default: false
7201     NSinstanceMigrateRequest:
7202       description: >
7203         This type represents request parameters for the "Migrate" operation. This operation supports the migration of an NS
7204         instance by migrating one or more of the VDUs that are part of this NS.
7205       type: object
7206       properties:
7207         vnfInstanceId:
7208           type: string
7209         migrateToHost:
7210           type: string
7211         vdu:
7212           type: object
7213           properties:
7214             vduId:
7215               type: string
7216             vduCountIndex:
7217               type: integer
7218           required:
7219             - vduId
7220       required:
7221         - vnfInstanceId
7222       additionalProperties: false
7223     TerminateNsRequest:
7224       type: object
7225       properties:
7226         timeout_ns_terminate:
7227           description: timeout for terminate operation
7228           type: integer
7229         autoremove:
7230           description: remove network service if termination end without error
7231           type: boolean
7232         skip_terminate_primitives:
7233           description: Do not execute network service termination primitives
7234           type: boolean
7235       additionalProperties: false
7236     ArrayOfNsInstance:
7237       type: array
7238       items:
7239         $ref: '#/components/schemas/NsInstance'
7240     NSinstanceActionRequest:
7241       type: object
7242       properties:
7243         primitive:
7244           type: string
7245           description: |
7246             name of the primitive in the 'config-descriptor'. If the target is
7247             a kdu it can be also 'status', 'rollback' or 'upgrade'
7248         primitive_params:
7249           description: parameters of this primitive
7250           $ref: '#/components/schemas/KeyValuePairs'
7251         member_vnf_index:
7252           type: string
7253           description: provide if the target action is for a vnf, vdu or kdu
7254         vdu_id:
7255           type: string
7256           description: provide if the target action is for a vdu
7257         kdu_name:
7258           type: string
7259           description: provide if the target action is for a kdu
7260         vdu_count_index:
7261           type: integer
7262         timeout_ns_action:
7263           description: timeout for the day 1/2 operation
7264           type: integer
7265       required:
7266         - primitive
7267         - primitive_params
7268       additionalProperties: false
7269     UpdateNsRequest:
7270       description: >
7271         This type represents request parameters for the "Update NS" operation. This operation supports the update of an NS
7272         instance by updating one or more of the VNFs that are part of this NS.
7273       type: object
7274       properties:
7275         updateType:
7276           type: string
7277           enum:
7278             - CHANGE_VNFPKG
7279             - REMOVE_VNF
7280             - MODIFY_VNF_INFORMATION
7281             - OPERATE_VNF
7282         changeVnfPackageData:
7283           type: object
7284           properties:
7285             vnfInstanceId:
7286               type: string
7287             vnfdId:
7288               type: string
7289           required:
7290             - vnfInstanceId
7291             - vnfdId
7292         removeVnfInstanceId:
7293           type: string
7294         modifyVnfInfoData:
7295           type: object
7296           properties:
7297             vnfInstanceId:
7298               type: string
7299             vnfdId:
7300               type: string
7301           required:
7302             - vnfInstanceId
7303             - vnfdId
7304         operateVnfData:
7305           type: object
7306           properties:
7307             vnfInstanceId:
7308               type: string
7309             changeStateTo:
7310               type: string
7311             additionalParam:
7312               type: object
7313               properties:
7314                 run-day1:
7315                   type: boolean
7316                 vdu_id:
7317                   type: string
7318                 count-index:
7319                   type: number
7320               required:
7321                 - vdu_id
7322                 - count-index
7323           required:
7324             - vnfInstanceId
7325             - changeStateTo
7326           additionalProperties: false
7327       required:
7328         - updateType
7329       additionalProperties: false
7330     VerticalscaleNsRequest:
7331       description: >
7332         This type represents request parameters for the "Vertical Scale NS" operation.
7333         This operation supports the vertical scale of an NS instance by verticalscaling
7334         one or more of the VNFs that are part of this NS.
7335       type: object
7336       properties:
7337         verticalScale:
7338           type: string
7339         changeVnfFlavorData:
7340           type: object
7341           properties:
7342             vnfInstanceId:
7343               type: string
7344               format: uuid
7345             additionalParams:
7346               type: object
7347               properties:
7348                 vduid:
7349                   type: string
7350                   format: uuid
7351                 vduCountIndex:
7352                   type: integer
7353                 virtualMemory:
7354                   type: integer
7355                 sizeOfStorage:
7356                   type: integer
7357                 numVirtualCpu:
7358                   type: integer
7359           required:
7360             - vnfInstanceId
7361             - additionalParams
7362           additionalProperties: false
7363       required:
7364         - verticalScale
7365       additionalProperties: false
7366     # CreateNSinstanceContentRequest:
7367       # Substituted by InstantiateNsRequest
7368     CreateNSinstanceContentResponse:
7369       type: object
7370       properties:
7371         id:
7372           type: string
7373           format: uuid
7374         nslcmop_id:
7375           type: string
7376           format: uuid
7377     NsLcmOpOcc:
7378       type: object
7379       properties:
7380         _id:
7381           type: string
7382           format: uuid
7383         id:
7384           type: string
7385           format: uuid
7386         lcmOperationType:
7387           type: string
7388         nsInstanceId:
7389           type: string
7390           format: uuid
7391         isAutomaticInvocation:
7392           type: boolean
7393         isCancelPending:
7394           type: boolean
7395         startTime:
7396           type: number
7397           format: float
7398         statusEnteredTime:
7399           type: number
7400           format: float
7401         operationParams:
7402           type: object
7403           properties:
7404             nsName:
7405               type: string
7406             nsdId:
7407               type: string
7408               format: uuid
7409             vimAccountId:
7410               type: string
7411               format: uuid
7412             nsInstanceId:
7413               type: string
7414               format: uuid
7415             lcmOperationType:
7416               type: string
7417         operationState:
7418           type: string
7419         detailed-status:
7420           type: string
7421         links:
7422           type: object
7423           properties:
7424             self:
7425               type: string
7426               format: path   # uri?
7427             nsInstance:
7428               type: string
7429               format: path   # uri?
7430     ArrayOfNsLcmOpOcc:
7431       type: array
7432       items:
7433         $ref: '#/components/schemas/NsLcmOpOcc'
7434     VnfInstanceInfo:
7435       description: |
7436         VNF Instance Information
7437         Only generic fields (_id, id) are described
7438         For a full specification of the VNF Instance see:
7439         http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
7440       type: object
7441       properties:
7442         _id:
7443           type: string
7444           format: uuid
7445         id:
7446           type: string
7447           format: uuid
7448     ArrayOfVnfInstanceInfo:
7449       type: array
7450       items:
7451         $ref: '#/components/schemas/VnfInstanceInfo'
7452     NstInfo:
7453       description: |
7454         NetSlice Template Information
7455         Only generic fields (_id, id, name) are described
7456         For a full specification of the NetSlice Template see:
7457         http://osm-download.etsi.org/ftp/osm-doc/nst.html
7458       type: object
7459       properties:
7460         _id:
7461           description: NetSlice Template Identifier
7462           type: string
7463           format: uuid
7464         id:
7465           description: Human readable NetSlice Template Identifier
7466           type: string
7467         name:
7468           description: Human readable name of the NetSlice Template
7469           type: string
7470     ArrayOfNstInfo:
7471       type: array
7472       items:
7473         $ref: '#/components/schemas/NstInfo'
7474     CreateNstInfoRequest:
7475       # A free list of key:value pairs
7476       type: object
7477       additionalProperties: true
7478     NetSliceTemplate:
7479       type: string
7480       format: yaml|json
7481     NetSlicePackage:
7482       type: string
7483       format: binary
7484     NstInfoModifications:
7485       description: |
7486         NetSlice Template Information
7487         Only generic fields (id, name) are described
7488         For a full specification of the NetSlice Template see:
7489         http://osm-download.etsi.org/ftp/osm-doc/nst.html
7490       type: object
7491       properties:
7492         id:
7493           description: NST Identifier
7494           type: string
7495         name:
7496           description: NST Name
7497           type: string
7498     NetSliceInstance:
7499       description: |
7500         NetSlice Instance Information
7501         Only generic fields (_id, id, name, description) are described
7502         For a full specification of the NetSlice Instance see:
7503         http://osm-download.etsi.org/ftp/osm-doc/nsi.html
7504       type: object
7505       properties:
7506         _id:
7507           description: Identifier of the NetSlice instance.
7508           type: string
7509           format: uuid
7510         id:
7511           description: Identifier of the NetSlice instance.
7512           type: string
7513           format: uuid
7514         name:
7515           description: Human readable name of the NetSlice instance.
7516           type: string
7517         description:
7518           description: Human readable description of the NetSlice instance.
7519           type: string
7520       required:
7521         - _id
7522         - id
7523         - name
7524     ArrayOfNetSliceInstance:
7525       type: array
7526       items:
7527         $ref: '#/components/schemas/NetSliceInstance'
7528     Alarm:
7529       description: |
7530         Alarm Information
7531       type: object
7532       properties:
7533         _id:
7534           description: Identifier of the Alarm.
7535           type: string
7536           format: uuid
7537         id:
7538           description: Identifier of the Alarm.
7539           type: string
7540           format: uuid
7541         metric:
7542           description: Alarm metric.
7543           type: string
7544         threshold:
7545           description: Threshold value of the Alarm.
7546           type: number
7547           format: float
7548         operation:
7549           description: Operation to be applied.
7550           type: string
7551         action:
7552           description: Action to be taken.
7553           type: string
7554         status:
7555           description: Current status of the alarm.
7556           type: string
7557       required:
7558         - _id
7559         - id
7560         - metric
7561         - threshold
7562         - operation
7563     ArrayOfAlarm:
7564       type: array
7565       items:
7566         $ref: '#/components/schemas/Alarm'
7567     # CreateNsiRequest:
7568       # Substituted by InstantiateNsiRequest
7569     InstantiateNsiRequest:
7570       type: object
7571       properties:
7572         nsiName:
7573           description: |
7574             Human-readable name of the NetSlice instance to be created.
7575           type: string
7576         nstId:
7577           description: |
7578             Identifier of the NST that defines the NetSlice instance to be created.
7579           type: string
7580           format: uuid
7581         vimAccountId:
7582           description: |
7583             Identifier of the VIM Account where the NetSlice instance shall be created.
7584           type: string
7585           format: uuid
7586         lcmOperationType:
7587           type: string
7588         netsliceInstanceId:
7589           type: string
7590           format: uuid
7591         nsiDescription:
7592           type: string
7593           nullable: true
7594         ssh_keys:
7595           type: string
7596         nsi_id:
7597           type: string
7598           format: uuid
7599         additionalParamsForNsi:
7600           type: object
7601           additionalProperties: true
7602         netslice-subnet:
7603           type: array
7604           items:
7605             type: object
7606             properties:
7607               id:
7608                 type: string
7609               nsName:
7610                 type: string
7611               nsdId:
7612                 type: string
7613                 format: uuid
7614               vimAccountId:
7615                 type: string
7616                 format: uuid
7617               lcmOperationType:
7618                 type: string
7619               nsInstanceId:
7620                 type: string
7621                 format: uuid
7622               netsliceInstanceId:
7623                 type: string
7624                 format: uuid
7625               nsDescription:
7626                 type: string
7627                 nullable: true
7628               wimAccountId:
7629                 oneOf:
7630                   - type: string
7631                   - type: boolean
7632                 nullable: true
7633               additionalParamsForNs:
7634                 type: object
7635                 additionalProperties: true
7636               additionalParamsForVnf: *additionalparamsforvnf
7637               ssh_keys:
7638                 type: array
7639                 items:
7640                   type: string
7641               nsr_id:
7642                 type: string
7643                 format: uuid
7644               vduImage:
7645                 type: string
7646               vnf:
7647                 type: array
7648                 items:
7649                   type: object
7650                   properties:
7651                     member-vnf-index:
7652                       type: string
7653                     vimAccountId:
7654                       type: string
7655                       format: uuid
7656                     vdu:
7657                       type: array
7658                       items:
7659                         type: object
7660                         properties:
7661                           id:
7662                             type: string
7663                           volume:
7664                             type: array
7665                             items:
7666                               type: object
7667                               properties:
7668                                 name:
7669                                   type: string
7670                                 vim-volume-id:
7671                                   type: string
7672                               required:
7673                                 - name
7674                                 - vim-volume-id
7675                               additionalProperties: false
7676                             minItems: 1
7677                           interface:
7678                             type: array
7679                             items:
7680                               type: object
7681                               properties:
7682                                 name:
7683                                   type: string
7684                                 ip-address:
7685                                   type: string
7686                                   format: ipv4
7687                                 mac-address:
7688                                   type: string
7689                                   format: mac_address
7690                                 floating-ip-required:
7691                                   type: boolean
7692                               required:
7693                                 - name
7694                               additionalProperties: false
7695                             minItems: 1
7696                         required:
7697                           - id
7698                         additionalProperties: false
7699                       minItems: 1
7700                     internal-vld:
7701                       type: array
7702                       items:
7703                         type: object
7704                         properties:
7705                           name:
7706                             type: string
7707                           vim-network-name:
7708                             type: string
7709                           vim-network-id:
7710                             type: string
7711                           ip-profile:
7712                             type: object
7713                             properties:
7714                               ip-version:
7715                                 type: string
7716                                 enum:
7717                                   - ipv4
7718                                   - ipv6
7719                               subnet-address:
7720                                 type: string
7721                                 format: ip_prefix
7722                                 nullable: true
7723                               gateway-address:
7724                                 type: string
7725                                 format: ipv4
7726                                 nullable: true
7727                               dns-server:
7728                                 type: array
7729                                 items:
7730                                   type: object
7731                                   properties:
7732                                     address:
7733                                       type: string
7734                                       format: ipv4
7735                                   required:
7736                                     - address
7737                                   additionalProperties: false
7738                                 minItems: 1
7739                                 nullable: true
7740                               dhcp-params:
7741                                 type: object
7742                                 properties:
7743                                   enabled:
7744                                     type: boolean
7745                                   count:
7746                                     type: integer
7747                                     minimum: 1
7748                                   start-address:
7749                                     type: string
7750                                     format: ipv4
7751                                 additionalProperties: false
7752                                 nullable: true
7753                             additionalProperties: false
7754                           provider-network:
7755                             type: object
7756                             properties:
7757                               physical-network:
7758                                 type: string
7759                               segmentation-id:
7760                                 type: string
7761                             additionalProperties: false
7762                           internal-connection-point:
7763                             type: array
7764                             items:
7765                               type: object
7766                               properties:
7767                                 id-ref:
7768                                   type: string
7769                                 ip-address:
7770                                   type: string
7771                                   format: ipv4
7772                               required:
7773                                 - id-ref
7774                               minProperties: 2
7775                               additionalProperties: False
7776                             minItems: 1
7777                         required:
7778                           - name
7779                         minProperties: 2
7780                         additionalProperties: false
7781                       minItems: 1
7782                   required:
7783                     - member-vnf-index
7784                   minProperties: 2
7785                   additionalProperties: false
7786                 minItems: 1
7787               vld:
7788                 type: array
7789                 items:
7790                   type: object
7791                   properties:
7792                     name:
7793                       type: string
7794                     vim-network-name:
7795                       oneOf:
7796                         - type: string
7797                         - type: object
7798                     vim-network-id:
7799                       oneOf:
7800                         - type: string
7801                         - type: object
7802                     ns-net:
7803                       type: object
7804                       additionalProperties: true
7805                     wimAccountId:
7806                       oneOf:
7807                         - type: string
7808                         - type: boolean
7809                       nullable: true
7810                     ip-profile:
7811                       type: object
7812                       additionalProperties: true
7813                     provider-network:
7814                       type: object
7815                       properties:
7816                         physical-network:
7817                           type: string
7818                         segmentation-id:
7819                           type: string
7820                       additionalProperties: false
7821                     vnfd-connection-point-ref:
7822                       type: array
7823                       items:
7824                         type: object
7825                         properties:
7826                           member-vnf-index-ref:
7827                             type: string
7828                           vnfd-connection-point-ref:
7829                             type: string
7830                           ip-address:
7831                             type: string
7832                             format: ipv4
7833                         required:
7834                           - member-vnf-index-ref
7835                           - vnfd-connection-point-ref
7836                         minProperties: 3
7837                         additionalProperties: false
7838                       minItems: 1
7839                   required:
7840                     - name
7841                   additionalProperties: false
7842                 minItems: 1
7843             additionalProperties: false
7844           minItems: 1
7845         netslice-vld:
7846           type: array
7847           items:
7848             type: object
7849             properties:
7850               name:
7851                 type: string
7852               vim-network-name:
7853                 oneOf:
7854                   - type: string
7855                   - type: object
7856               vim-network-id:
7857                 oneOf:
7858                   - type: string
7859                   - type: object
7860               ip-profile:
7861                 type: object
7862                 additionalProperties: true
7863             required:
7864               - name
7865             additionalProperties: false
7866           minItems: 1
7867       required:
7868         - nsiName
7869         - nstId
7870         - vimAccountId
7871       additionalProperties: false
7872     TerminateNsiRequest:
7873       type: object
7874       properties:
7875         terminationTime:
7876           description: |
7877             Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
7878             automatically at this timestamp. Cardinality "0" indicates the NSI termination
7879             takes place immediately.
7880           type: string
7881           format: date-time
7882     NsiActionRequest:
7883       type: object
7884       properties:
7885         primitive:
7886           type: string
7887         primitive_params:
7888           $ref: '#/components/schemas/KeyValuePairs'
7889         lcmOperationType:
7890           type: string
7891         netsliceInstanceId:
7892           type: string
7893           format: uuid
7894       required:
7895         - primitive
7896         - primitive_params
7897     # CreateNsiContentRequest:
7898       # Substituted by InstantiateNsiRequest
7899     CreateNsiContentResponse:
7900       type: object
7901       properties:
7902         id:
7903           type: string
7904           format: uuid
7905         nsilcmop_id:
7906           type: string
7907           format: uuid
7908     NsiLcmOpOcc:
7909       type: object
7910       properties:
7911         _id:
7912           type: string
7913           format: uuid
7914         id:
7915           type: string
7916           format: uuid
7917         lcmOperationType:
7918           type: string
7919         netsliceInstanceId:
7920           type: string
7921           format: uuid
7922         isAutomaticInvocation:
7923           type: boolean
7924         isCancelPending:
7925           type: boolean
7926         startTime:
7927           type: number
7928           format: float
7929         statusEnteredTime:
7930           type: number
7931           format: float
7932         operationParams:
7933           type: object
7934           properties:
7935             nsiName:
7936               type: string
7937             nstId:
7938               type: string
7939               format: uuid
7940             vimAccountId:
7941               type: string
7942               format: uuid
7943             netsliceInstanceId:
7944               type: string
7945               format: uuid
7946             lcmOperationType:
7947               type: string
7948             nslcmops_ids:
7949               type: array
7950               items:
7951                 type: string
7952                 format: uuid
7953         operationState:
7954           type: string
7955         detailed-status:
7956           type: string
7957         links:
7958           type: object
7959           properties:
7960             self:
7961               type: string
7962               format: path   # uri?
7963             netsliceInstanceId:
7964               type: string
7965               format: path   # uri?
7966     ArrayOfNsiLcmOpOcc:
7967       type: array
7968       items:
7969         $ref: '#/components/schemas/NsiLcmOpOcc'
7970     TokenInfo:
7971       type: object
7972       properties:
7973         _id:
7974           type: string
7975         id:
7976           type: string
7977         admin:
7978           type: boolean
7979         admin_show:
7980           type: boolean
7981         project_id:
7982           type: string
7983           format: uuid
7984         user_id:
7985           type: string
7986           format: uuid
7987         project_name:
7988           type: string
7989         username:
7990           type: string
7991         issued_at:
7992           type: number
7993           format: float
7994         user_show:
7995           type: boolean
7996         last_login:
7997           type: number
7998           format: float
7999         login_count:
8000           type: number
8001         expires:
8002           type: number
8003           format: float
8004         remote_host:
8005           type: string
8006           format: ipv4
8007         remote_port:
8008           type: integer
8009         roles:
8010           type: array
8011           items:
8012             type: object
8013             properties:
8014               id:
8015                 type: string
8016                 format: uuid
8017               name:
8018                 type: string
8019     PasswordExpiryInfo:
8020       type: object
8021       properties:
8022         id:
8023           type: string
8024         message:
8025           type: string
8026         user_id:
8027           type: string
8028           format: uuid
8029     ArrayOfTokenInfo:
8030       type: array
8031       items:
8032         $ref: '#/components/schemas/TokenInfo'
8033     CreateTokenRequest:
8034       type: object
8035       properties:
8036         username:
8037           type: string
8038         password:
8039           type: string
8040         project_id:
8041           type: string
8042       required:
8043         - username
8044         - password
8045     UserInfo:
8046       type: object
8047       properties:
8048         _id:
8049           type: string
8050           format: uuid
8051         username:
8052           type: string
8053         password:
8054           type: string
8055         project_role_mappings:
8056           type: array
8057           items:
8058             type: object
8059             properties:
8060               project:
8061                 type: string
8062                 format: uuid
8063               role:
8064                 type: string
8065                 format: uuid
8066               project_name:
8067                 type: string
8068               role_name:
8069                 type: string
8070         projects:
8071           type: array
8072           items:
8073             type: string
8074     ArrayOfUserInfo:
8075       type: array
8076       items:
8077         $ref: '#/components/schemas/UserInfo'
8078     ProjectRoleMappings:
8079       type: array
8080       items:
8081         type: object
8082         properties:
8083           project:
8084             type: string
8085           role:
8086             type: string
8087       required:
8088         - project
8089         - role
8090       additionalProperties: false
8091     ProjectRoleMappingsOpt:
8092       type: array
8093       items:
8094         type: object
8095         properties:
8096           project:
8097             type: string
8098           role:
8099             type: string
8100       required:
8101         - project
8102       additionalProperties: false
8103     CreateUserRequest:
8104       type: object
8105       properties:
8106         username:
8107           type: string
8108         password:
8109           type: string
8110         projects:
8111           type: array
8112           items:
8113             type: string
8114         project_role_mappings:
8115           $ref: '#/components/schemas/ProjectRoleMappings'
8116       required:
8117         - username
8118         - password
8119       additionalProperties: false
8120     ShortNameList:
8121       type: array
8122       items:
8123         type: string
8124     ArrayEditionSchema:
8125       type: object
8126       additionalProperties: true
8127       minProperties: 1
8128       description: |
8129         Array edition keys must start with '$'
8130         and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
8131     EditUserRequest:
8132       type: object
8133       properties:
8134         username:
8135           type: string
8136         password:
8137           type: string
8138         old_password:
8139           type: string
8140         system_admin_id:
8141           type: string
8142           format: uuid
8143         unlock:
8144           type: boolean
8145         renew:
8146           type: boolean
8147         projects:
8148           oneOf:
8149             - $ref: '#/components/schemas/ShortNameList'
8150             - $ref: '#/components/schemas/ArrayEditionSchema'
8151         project_role_mappings:
8152           $ref: '#/components/schemas/ProjectRoleMappings'
8153         add_project_role_mappings:
8154           $ref: '#/components/schemas/ProjectRoleMappings'
8155         remove_project_role_mappings:
8156           $ref: '#/components/schemas/ProjectRoleMappingsOpt'
8157     QuotasInfo:
8158       type: object
8159       properties:
8160         vnfds:
8161           type: integer
8162           minimum: 0
8163           nullable: false
8164         nsds:
8165           type: integer
8166           minimum: 0
8167           nullable: false
8168         slice_templates:
8169           type: integer
8170           minimum: 0
8171           nullable: false
8172         pduds:
8173           type: integer
8174           minimum: 0
8175           nullable: false
8176         ns_instances:
8177           type: integer
8178           minimum: 0
8179           nullable: false
8180         slice_instances:
8181           type: integer
8182           minimum: 0
8183           nullable: false
8184         vim_accounts:
8185           type: integer
8186           minimum: 0
8187           nullable: false
8188         wim_accounts:
8189           type: integer
8190           minimum: 0
8191           nullable: false
8192         sdn_controllers:
8193           type: integer
8194           minimum: 0
8195           nullable: false
8196         k8sclusters:
8197           type: integer
8198           minimum: 0
8199           nullable: false
8200         vca:
8201           type: integer
8202           minimum: 0
8203           nullable: false
8204         k8srepos:
8205           type: integer
8206           minimum: 0
8207           nullable: false
8208         osmrepos:
8209           type: integer
8210           minimum: 0
8211           nullable: false
8212       additionalProperties: false
8213     EditQuotasInfo:
8214       type: object
8215       properties:
8216         vnfds:
8217           type: integer
8218           minimum: 0
8219           nullable: true
8220         nsds:
8221           type: integer
8222           minimum: 0
8223           nullable: true
8224         slice_templates:
8225           type: integer
8226           minimum: 0
8227           nullable: true
8228         pduds:
8229           type: integer
8230           minimum: 0
8231           nullable: true
8232         ns_instances:
8233           type: integer
8234           minimum: 0
8235           nullable: true
8236         slice_instances:
8237           type: integer
8238           minimum: 0
8239           nullable: true
8240         vim_accounts:
8241           type: integer
8242           minimum: 0
8243           nullable: true
8244         wim_accounts:
8245           type: integer
8246           minimum: 0
8247           nullable: true
8248         sdn_controllers:
8249           type: integer
8250           minimum: 0
8251           nullable: true
8252         k8sclusters:
8253           type: integer
8254           minimum: 0
8255           nullable: true
8256         vca:
8257           type: integer
8258           minimum: 0
8259           nullable: true
8260         k8srepos:
8261           type: integer
8262           minimum: 0
8263           nullable: true
8264         osmrepos:
8265           type: integer
8266           minimum: 0
8267           nullable: true
8268       additionalProperties: false
8269     ProjectInfo:
8270       type: object
8271       properties:
8272         _id:
8273           type: string
8274           format: uuid
8275         name:
8276           type: string
8277         quotas:
8278           $ref: '#/components/schemas/QuotasInfo'
8279     ArrayOfProjectInfo:
8280       type: array
8281       items:
8282         $ref: '#/components/schemas/ProjectInfo'
8283     CreateProjectRequest:
8284       type: object
8285       properties:
8286         name:
8287           type: string
8288         admin:
8289           type: boolean
8290         quotas:
8291           $ref: '#/components/schemas/QuotasInfo'
8292       required:
8293         - name
8294       additionalProperties: false
8295     EditProjectRequest:
8296       type: object
8297       properties:
8298         name:
8299           type: string
8300         admin:
8301           type: boolean
8302         quotas:
8303           $ref: '#/components/schemas/EditQuotasInfo'
8304       additionalProperties: false
8305     PermissionsInfo:
8306       type: object
8307       additionalProperties:
8308         type: boolean
8309         nullable: false
8310       description: |
8311         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
8312         Permission values are either true or false
8313     EditPermissionsInfo:
8314       type: object
8315       additionalProperties:
8316         type: boolean
8317         nullable: true
8318       description: |
8319         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
8320         Permission values are either true, false, or null
8321     RoleInfo:
8322       type: object
8323       properties:
8324         _id:
8325           type: string
8326           format: uuid
8327         name:
8328           type: string
8329         permissions:
8330           $ref: '#/components/schemas/PermissionsInfo'
8331     ArrayOfRoleInfo:
8332       type: array
8333       items:
8334         $ref: '#/components/schemas/RoleInfo'
8335     CreateRoleRequest:
8336       type: object
8337       properties:
8338         name:
8339           type: string
8340         permissions:
8341           $ref: '#/components/schemas/PermissionsInfo'
8342       required:
8343         - name
8344       additionalProperties: false
8345     EditRoleRequest:
8346       type: object
8347       properties:
8348         name:
8349           type: string
8350         permissions:
8351           $ref: '#/components/schemas/EditPermissionsInfo'
8352       additionalProperties: false
8353     VimType:
8354       type: string
8355       enum:
8356         - openvim
8357         - openstack
8358         - vmware
8359         - opennebula
8360         - aws
8361         - azure
8362         - fos
8363     VimInfo:
8364       type: object
8365       properties:
8366         _id:
8367           type: string
8368           format: uuid
8369         schema_version:
8370           type: string
8371           format: X.Y[.Z]
8372         schema_type:
8373           type: string
8374         name:
8375           type: string
8376         description:
8377           type: string
8378         vim:
8379           type: string
8380         datacenter:
8381           type: string
8382         vim_type:
8383           $ref: '#/components/schemas/VimType'
8384         vim_url:
8385           type: string
8386           format: uri
8387         vim_tenant_name:
8388           type: string
8389         vim_user:
8390           type: string
8391         vim_password:
8392           type: string
8393         vca:
8394           type: string
8395           format: uuid
8396         config:
8397           type: object
8398           additionalProperties: true
8399         resources:
8400           type: object
8401     ArrayOfVimInfo:
8402       type: array
8403       items:
8404         $ref: '#/components/schemas/VimInfo'
8405     CreateVimRequest:
8406       type: object
8407       properties:
8408         schema_version:
8409           type: string
8410           format: X.Y[.Z]
8411         schema_type:
8412           type: string
8413         name:
8414           type: string
8415         description:
8416           type: string
8417         vim:
8418           type: string
8419         datacenter:
8420           type: string
8421         vim_type:
8422           $ref: '#/components/schemas/VimType'
8423         vim_url:
8424           type: string
8425           format: uri
8426         vim_tenant_name:
8427           type: string
8428         vim_user:
8429           type: string
8430         vim_password:
8431           type: string
8432         vca:
8433           type: string
8434           format: uuid
8435         config:
8436           type: object
8437           additionalProperties: true
8438         prometheus-config:
8439           type: object
8440           additionalProperties: true
8441         resources:
8442           type: object
8443       required:
8444         - name
8445         - vim_url
8446         - vim_type
8447         - vim_user
8448         - vim_password
8449         - vim_tenant_name
8450       additionalProperties: false
8451     EditVimRequest:
8452       type: object
8453       properties:
8454         name:
8455           type: string
8456         description:
8457           type: string
8458         vim:
8459           type: string
8460         datacenter:
8461           type: string
8462         vim_type:
8463           $ref: '#/components/schemas/VimType'
8464         vim_url:
8465           type: string
8466           format: uri
8467         vim_tenant_name:
8468           type: string
8469         vim_user:
8470           type: string
8471         vim_password:
8472           type: string
8473         vca:
8474           type: string
8475           format: uuid
8476         prometheus-config:
8477           type: object
8478           additionalProperties: true
8479         config:
8480           type: object
8481           additionalProperties: true
8482       additionalProperties: false
8483     ObjectId_plus_OpId:
8484       type: object
8485       properties:
8486         id:
8487           type: string
8488           format: uuid
8489         op_id:
8490           type: string
8491           format: uuid
8492     OpId:
8493       type: object
8494       properties:
8495         op_id:
8496           type: string
8497           format: uuid
8498     WimType:
8499       type: string
8500       enum:
8501         - onos
8502         - odl
8503         - tapi
8504         - dynpac
8505         - fake
8506     WimInfo:
8507       type: object
8508       properties:
8509         _id:
8510           type: string
8511           format: uuid
8512         schema_version:
8513           type: string
8514           format: X.Y[.Z]
8515         schema_type:
8516           type: string
8517         name:
8518           type: string
8519         description:
8520           type: string
8521         wim:
8522           type: string
8523         wim_type:
8524           $ref: '#/components/schemas/WimType'
8525         wim_url:
8526           type: string
8527           format: uri
8528         user:
8529           type: string
8530         password:
8531           type: string
8532         config:
8533           type: object
8534           additionalProperties: true
8535     ArrayOfWimInfo:
8536       type: array
8537       items:
8538         $ref: '#/components/schemas/WimInfo'
8539     CreateWimRequest:
8540       type: object
8541       properties:
8542         schema_version:
8543           type: string
8544           format: X.Y[.Z]
8545         schema_type:
8546           type: string
8547         name:
8548           type: string
8549         description:
8550           type: string
8551         wim:
8552           type: string
8553         wim_type:
8554           $ref: '#/components/schemas/WimType'
8555         wim_url:
8556           type: string
8557           format: uri
8558         user:
8559           type: string
8560         password:
8561           type: string
8562         config:
8563           type: object
8564           additionalProperties: true
8565       required:
8566         - name
8567         - wim_url
8568         - wim_type
8569       additionalProperties: false
8570     EditWimRequest:
8571       type: object
8572       properties:
8573         name:
8574           type: string
8575         description:
8576           type: string
8577         wim:
8578           type: string
8579         wim_type:
8580           type: string
8581         wim_url:
8582           type: string
8583           format: uri
8584         user:
8585           type: string
8586         password:
8587           type: string
8588         config:
8589           type: object
8590           additionalProperties: true
8591       additionalProperties: false
8592     SdnBasicProperties:
8593       type: object
8594       properties:
8595         name:
8596           type: string
8597         description:
8598           type: string
8599         dpid:
8600           type: string
8601           format: mac_address
8602         ip:
8603           type: string
8604           format: ipv4
8605         port:
8606           type: integer
8607         type:
8608           type: string
8609           enum:
8610             - floodlight
8611             - opendaylight
8612             - onos
8613         version:
8614           type: string
8615         user:
8616           type: string
8617         password:
8618           type: string
8619     SdnExtraProperties:
8620       type: object
8621       properties:
8622         _id:
8623           type: string
8624           format: uuid
8625         schema_version:
8626           type: string
8627           format: X.Y[.Z]
8628     SdnInfo:
8629       allOf:
8630         - $ref: '#/components/schemas/SdnExtraProperties'
8631         - $ref: '#/components/schemas/SdnBasicProperties'
8632     ArrayOfSdnInfo:
8633       type: array
8634       items:
8635         $ref: '#/components/schemas/SdnInfo'
8636     CreateSdnRequest:
8637       allOf:
8638         - $ref: '#/components/schemas/SdnBasicProperties'
8639       required:
8640         - name
8641         - type
8642         - ip
8643         - port
8644         - dpid
8645       additionalProperties: false
8646     EditSdnRequest:
8647       allOf:
8648         - $ref: '#/components/schemas/SdnBasicProperties'
8649       additionalProperties: false
8650     NsPmJobReportInfo:
8651       type: object
8652       properties:
8653         entries:
8654           type: array
8655           items:
8656             type: object
8657             properties:
8658               objectInstanceId:
8659                 type: string
8660                 format: uuid
8661               performanceMetric:
8662                 type: string
8663               performanceValue:
8664                 type: object
8665                 properties:
8666                   performanceValue:
8667                     type: object
8668                     properties:
8669                       performanceValue:
8670                         type: number
8671                       vnfMemberIndex:
8672                         type: string
8673                       vduName:
8674                         type: string
8675                   timestamp:
8676                     type: number
8677     PduInterfaces:
8678       type: array
8679       items:
8680         type: object
8681         properties:
8682           name:
8683             type: string
8684           mgmt:
8685             type: boolean
8686           type:
8687             type: string
8688             enum:
8689               - overlay
8690               - underlay
8691           ip-address:
8692             type: string
8693             format: ipv4
8694           mac-address:
8695             type: string
8696             format: mac_address
8697           vim-network-name:
8698             type: string
8699           vim-network-id:
8700             type: string
8701         required:
8702           - name
8703           - mgmt
8704           - ip-address
8705         additionalProperties: false
8706     PduInfo:
8707       type: object
8708       properties:
8709         _id:
8710           type: string
8711           format: uuid
8712         name:
8713           type: string
8714         type:
8715           type: string
8716         description:
8717           type: string
8718         shared:
8719           type: boolean
8720         vims:
8721           type: array
8722           items:
8723             type: string
8724         vim_accounts:
8725           type: array
8726           items:
8727             type: string
8728         interfaces:
8729           $ref: '#/components/schemas/PduInterfaces'
8730     ArrayOfPduInfo:
8731       type: array
8732       items:
8733         $ref: '#/components/schemas/PduInfo'
8734     CreatePduRequest:
8735       type: object
8736       properties:
8737         name:
8738           type: string
8739         type:
8740           type: string
8741         description:
8742           type: string
8743         shared:
8744           type: boolean
8745         vims:
8746           type: array
8747           items:
8748             type: string
8749         vim_accounts:
8750           type: array
8751           items:
8752             type: string
8753         interfaces:
8754           $ref: '#/components/schemas/PduInterfaces'
8755       required:
8756         - name
8757         - type
8758         - interfaces
8759       additionalProperties: false
8760     EditPduRequest:
8761       type: object
8762       properties:
8763         name:
8764           type: string
8765         type:
8766           type: string
8767         description:
8768           type: string
8769         shared:
8770           type: boolean
8771         vims:
8772           type: array
8773           items:
8774             type: string
8775         vim_accounts:
8776           type: array
8777           items:
8778             type: string
8779         interfaces:
8780           $ref: '#/components/schemas/PduInterfaces'
8781       additionalProperties: false
8782     K8sClusterNetList:
8783       type: array
8784       items:
8785         type: object
8786         additionalProperties: false
8787     K8sClusterDeploymentMethods:
8788       type: object
8789       properties:
8790         juju-bundle:
8791           type: boolean
8792         helm-chart-v3:
8793           type: boolean
8794       additionalProperties: false
8795       minProperties: 3
8796     K8sClusterInfo:
8797       type: object
8798       properties:
8799         _id:
8800           type: string
8801           format: uuid
8802         schema_version:
8803           type: string
8804           format: X.Y[.Z]
8805         schema_type:
8806           type: string
8807         name:
8808           type: string
8809         description:
8810           type: string
8811         credentials:
8812           type: object
8813           additionalProperties: true
8814         vim_account:
8815           type: string
8816           format: uuid
8817         k8s_version:
8818           type: string
8819         nets:
8820           $ref: '#/components/schemas/K8sClusterNetList'
8821         deployment_methods:
8822           $ref: '#/components/schemas/K8sClusterDeploymentMethods'
8823         namespace:
8824           type: string
8825         cni:
8826           type: array
8827           items:
8828             type: string
8829     ArrayOfK8sClusterInfo:
8830       type: array
8831       items:
8832         $ref: '#/components/schemas/K8sClusterInfo'
8833     CreateK8sClusterRequest:
8834       type: object
8835       properties:
8836         schema_version:
8837           type: string
8838           format: X.Y[.Z]
8839         schema_type:
8840           type: string
8841         name:
8842           type: string
8843         description:
8844           type: string
8845         credentials:
8846           type: object
8847           additionalProperties: true
8848         vim_account:
8849           type: string
8850           format: uuid
8851         k8s_version:
8852           type: string
8853         nets:
8854           $ref: '#/components/schemas/K8sClusterNetList'
8855         namespace:
8856           type: string
8857         cni:
8858           type: array
8859           items:
8860             type: string
8861       required:
8862         - name
8863         - credentials
8864         - vim_account
8865         - k8s_version
8866         - nets
8867       additionalProperties: false
8868     EditK8sClusterRequest:
8869       type: object
8870       properties:
8871         name:
8872           type: string
8873         description:
8874           type: string
8875         credentials:
8876           type: object
8877           additionalProperties: true
8878         vim_account:
8879           type: string
8880           format: uuid
8881         k8s_version:
8882           type: string
8883         nets:
8884           $ref: '#/components/schemas/K8sClusterNetList'
8885         namespace:
8886           type: string
8887         cni:
8888           type: array
8889           items:
8890             type: string
8891       additionalProperties: false
8892     VcaInfo:
8893       type: object
8894       properties:
8895         _id:
8896           type: string
8897           format: uuid
8898         schema_version:
8899           type: string
8900           format: X.Y[.Z]
8901         schema_type:
8902           type: string
8903         name:
8904           type: string
8905         description:
8906           type: string
8907         endpoints:
8908           type: string
8909         user:
8910           type: string
8911         secret:
8912           type: string
8913         cacert:
8914           type: string
8915         lxd-cloud:
8916           type: string
8917         lxd-credentials:
8918           type: string
8919         k8s-cloud:
8920           type: string
8921         k8s-credentials:
8922           type: string
8923         model-config:
8924           type: object
8925           additionalProperties: true
8926     ArrayOfVcaInfo:
8927       type: array
8928       items:
8929         $ref: '#/components/schemas/VcaInfo'
8930     CreateVcaRequest:
8931       type: object
8932       properties:
8933         schema_version:
8934           type: string
8935           format: X.Y[.Z]
8936         schema_type:
8937           type: string
8938         name:
8939           type: string
8940         description:
8941           type: string
8942         endpoints:
8943           type: string
8944         user:
8945           type: string
8946         secret:
8947           type: string
8948         cacert:
8949           type: string
8950         lxd-cloud:
8951           type: string
8952         lxd-credentials:
8953           type: string
8954         k8s-cloud:
8955           type: string
8956         k8s-credentials:
8957           type: string
8958         model-config:
8959           type: object
8960           additionalProperties: true
8961       required:
8962         - name
8963         - endpoints
8964         - user
8965         - secret
8966         - cacert
8967         - lxd-cloud
8968         - lxd-credentials
8969         - k8s-cloud
8970         - k8s-credentials
8971       additionalProperties: false
8972     EditVcaRequest:
8973       type: object
8974       properties:
8975         name:
8976           type: string
8977         description:
8978           type: string
8979         endpoints:
8980           type: string
8981         user:
8982           type: string
8983         secret:
8984           type: string
8985         cacert:
8986           type: string
8987         lxd-cloud:
8988           type: string
8989         lxd-credentials:
8990           type: string
8991         k8s-cloud:
8992           type: string
8993         k8s-credentials:
8994           type: string
8995         model-config:
8996           type: object
8997           additionalProperties: true
8998       additionalProperties: false
8999     K8sRepoType:
9000       type: string
9001       enum:
9002         - chart
9003         - bundle
9004     K8sRepoInfo:
9005       type: object
9006       properties:
9007         _id:
9008           type: string
9009           format: uuid
9010         name:
9011           type: string
9012         description:
9013           type: string
9014         type:
9015           $ref: '#/components/schemas/K8sRepoType'
9016         url:
9017           type: string
9018           format: uri
9019         username:
9020           type: string
9021           description: repository username
9022         password:
9023           type: string
9024           description: repository password
9025         ca-file:
9026           type: string
9027           description: verify certificates of HTTPS-enabled servers using this CA bundle
9028         cert-file:
9029           type: string
9030           description: identify HTTPS client using this SSL certificate file
9031         skip-tls-verify:
9032           type: boolean
9033           description: skip tls certificate checks for the repository
9034         key-file:
9035           type: string
9036           description: identify HTTPS client using this SSL key file
9037         oci:
9038           type: boolean
9039           default: false
9040           description: >
9041             Flag to indicate whether or not it is an OCI-enabled repo (default: false)
9042       required:
9043         - name
9044         - type
9045         - url
9046       additionalProperties: false
9047     ArrayOfK8sRepoInfo:
9048       type: array
9049       items:
9050         $ref: '#/components/schemas/K8sRepoInfo'
9051     CreateK8sRepoRequest:
9052       type: object
9053       properties:
9054         name:
9055           type: string
9056         description:
9057           type: string
9058         type:
9059           $ref: '#/components/schemas/K8sRepoType'
9060         url:
9061           type: string
9062           format: uri
9063       required:
9064         - name
9065         - type
9066         - url
9067       additionalProperties: false
9068     NslcmSubscriptionResponse:
9069       type: object
9070       properties:
9071         id:
9072           type: string
9073           format: uuid
9074         filter:
9075           type: object
9076         CallbackUri:
9077           type: string
9078           format: uri
9079         _links:
9080           type: object
9081     NslcmSubscriptionInfo:
9082       type: object
9083       properties:
9084         _id:
9085           type: string
9086           format: uuid
9087         _admin:
9088           type: object
9089         schema_version:
9090           type: string
9091           format: 'X.Y[.Z]'
9092         CallbackUri:
9093           type: string
9094           format: uri
9095         filter:
9096           type: object
9097         authentication:
9098           $ref: '#/components/schemas/Authenticationschema'
9099     ArrayOfNslcmSubscriptionInfo:
9100       type: array
9101       items:
9102         $ref: '#/components/schemas/NslcmSubscriptionInfo'
9103     NsInstanceSubscriptionFilter:
9104       description: |
9105         used to identify the network service
9106       type: object
9107       oneOf:
9108         - $ref: '#/components/schemas/nsdIds'
9109         - $ref: '#/components/schemas/vnfdIds'
9110         - $ref: '#/components/schemas/pnfdIds'
9111         - $ref: '#/components/schemas/nsInstanceIds'
9112         - $ref: '#/components/schemas/nsInstanceNames'
9113     nsdIds:
9114       type: array
9115       items:
9116         type: string
9117     vnfdIds:
9118       type: array
9119       items:
9120         type: string
9121     pnfdIds:
9122       type: array
9123       items:
9124         type: string
9125     nsInstanceIds:
9126       type: array
9127       items:
9128         type: string
9129     nsInstanceNames:
9130       type: array
9131       items:
9132         type: string
9133     Nslcmsubschema:
9134       type: object
9135       properties:
9136         nsInstanceSubscriptionFilter:
9137            $ref: '#/components/schemas/NsInstanceSubscriptionFilter'
9138         notificationTypes:
9139           description: |
9140             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
9141           type: array
9142           items:
9143             type: string
9144             enum:
9145               - NsIdentifierCreationNotification
9146               - NsIdentifierDeletionNotification
9147               - NsLcmOperationOccurrenceNotification
9148               - NsChangeNotification
9149         operationTypes:
9150           type: array
9151           items:
9152             type: string
9153             enum:
9154               - INSTANTIATE
9155               - SCALE
9156               - TERMINATE
9157               - UPDATE
9158               - HEAL
9159         operationStates:
9160           type: array
9161           items:
9162             type: string
9163             enum:
9164               - PROCESSING
9165               - COMPLETED
9166               - PARTIALLY_COMPLETED
9167               - FAILED
9168               - FAILED_TEMP
9169               - ROLLING_BACK
9170               - ROLLED_BACK
9171         nsComponentTypes:
9172           type: array
9173           items:
9174             type: string
9175             enum:
9176               - VNF
9177               - NS
9178               - PNF
9179         lcmOpNameImpactingNsComponent:
9180           type: array
9181           items:
9182             type: string
9183             enum:
9184               - VNF_INSTANTIATE
9185               - VNF_SCALE
9186               - VNF_SCALE_TO_LEVEL
9187               - VNF_CHANGE_FLAVOUR
9188               - VNF_TERMINATE
9189               - VNF_HEAL
9190               - VNF_OPERATE
9191               - VNF_CHANGE_EXT_CONN
9192               - VNF_MODIFY_INFO
9193               - NS_INSTANTIATE
9194               - NS_SCALE
9195               - NS_UPDATE
9196               - NS_TERMINATE
9197               - NS_HEAL
9198         lcmOpOccStatusImpactingNsComponent:
9199           type: array
9200           items:
9201             type: string
9202             enum:
9203               - START
9204               - COMPLETED
9205               - PARTIALLY_COMPLETED
9206               - FAILED
9207               - ROLLED_BACK
9208     Authenticationschema:
9209       type: object
9210       properties:
9211         authType:
9212           type: string
9213           enum:
9214             - basic
9215         paramsBasic:
9216           type: object
9217           properties:
9218             userName:
9219               type: string
9220             password:
9221               type: string
9222     NslcmSubscriptionRequest:
9223       type: object
9224       properties:
9225         filter:
9226           $ref: '#/components/schemas/Nslcmsubschema'
9227         CallbackUri:
9228           type: string
9229           format: uri
9230         authentication:
9231           $ref: '#/components/schemas/Authenticationschema'
9232       required:
9233         - CallbackUri
9234     CancelNSLCMOpOccRequest:
9235       type: object
9236       properties:
9237         cancelMode:
9238           type: string
9239           enum:
9240             - GRACEFUL
9241             - FORCEFUL
9242   # END SCHEMAS
9243
9244   requestBodies:
9245     CreateNsdInfoRequest:
9246       content:
9247         application/json:
9248           schema:
9249             $ref: '#/components/schemas/CreateNsdInfoRequest'
9250         application/yaml:
9251           schema:
9252             $ref: '#/components/schemas/CreateNsdInfoRequest'
9253     NsdInfoModifications:
9254       content:
9255         application/json:
9256           schema:
9257             $ref: '#/components/schemas/NsdInfoModifications'
9258         application/yaml:
9259           schema:
9260             $ref: '#/components/schemas/NsdInfoModifications'
9261     AlarmInfoModifications:
9262       content:
9263         application/json:
9264           schema:
9265             $ref: '#/components/schemas/AlarmInfoModifications'
9266         application/yaml:
9267           schema:
9268             $ref: '#/components/schemas/AlarmInfoModifications'
9269     NsDescriptor:
9270       content:
9271         text/plain:
9272           schema:
9273             $ref: '#/components/schemas/NsDescriptor'
9274     NsPackage:
9275       content:
9276         application/zip:
9277           schema:
9278             $ref: '#/components/schemas/NsPackage'
9279     CreateVnfPkgInfoRequest:
9280       content:
9281         application/json:
9282           schema:
9283             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
9284         application/yaml:
9285           schema:
9286             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
9287     VnfPkgInfoModifications:
9288       content:
9289         application/json:
9290           schema:
9291             $ref: '#/components/schemas/VnfPkgInfoModifications'
9292         application/yaml:
9293           schema:
9294             $ref: '#/components/schemas/VnfPkgInfoModifications'
9295     VnfPackage:
9296       content:
9297         application/zip:
9298           schema:
9299             $ref: '#/components/schemas/VnfPackage'
9300     VnfDescriptor:
9301       content:
9302         text/plain:
9303           schema:
9304             $ref: '#/components/schemas/VnfDescriptor'
9305     # CreateNsRequest:
9306       # Substituted by InstantiateNsRequest
9307     InstantiateNsRequest:
9308       content:
9309         application/json:
9310           schema:
9311             $ref: '#/components/schemas/InstantiateNsRequest'
9312         application/yaml:
9313           schema:
9314             $ref: '#/components/schemas/InstantiateNsRequest'
9315     HealNsRequest:
9316       content:
9317         application/json:
9318           schema:
9319             $ref: '#/components/schemas/HealNsRequest'
9320         application/yaml:
9321           schema:
9322             $ref: '#/components/schemas/HealNsRequest'
9323     NSinstanceMigrateRequest:
9324       content:
9325         application/json:
9326           schema:
9327             $ref: '#/components/schemas/NSinstanceMigrateRequest'
9328         application/yaml:
9329           schema:
9330             $ref: '#/components/schemas/NSinstanceMigrateRequest'
9331     ScaleNsRequest:
9332       content:
9333         application/json:
9334           schema:
9335             $ref: '#/components/schemas/ScaleNsRequest'
9336         application/yaml:
9337           schema:
9338             $ref: '#/components/schemas/ScaleNsRequest'
9339     TerminateNsRequest:
9340       content:
9341         application/json:
9342           schema:
9343             $ref: '#/components/schemas/TerminateNsRequest'
9344         application/yaml:
9345           schema:
9346             $ref: '#/components/schemas/TerminateNsRequest'
9347     UpdateNsRequest:
9348       content:
9349         application/json:
9350           schema:
9351             $ref: '#/components/schemas/UpdateNsRequest'
9352         application/yaml:
9353           schema:
9354             $ref: '#/components/schemas/UpdateNsRequest'
9355     VerticalscaleNsRequest:
9356       content:
9357         application/json:
9358           schema:
9359             $ref: '#/components/schemas/VerticalscaleNsRequest'
9360         application/yaml:
9361           schema:
9362             $ref: '#/components/schemas/VerticalscaleNsRequest'
9363     # CreateNSinstanceContentRequest:
9364       # Substituted by InstantiateNsRequest
9365     CreateNstInfoRequest:
9366       content:
9367         application/json:
9368           schema:
9369             $ref: '#/components/schemas/CreateNstInfoRequest'
9370         application/yaml:
9371           schema:
9372             $ref: '#/components/schemas/CreateNstInfoRequest'
9373     NetSliceTemplate:
9374       content:
9375         text/plain:
9376           schema:
9377             $ref: '#/components/schemas/NetSliceTemplate'
9378     NetSlicePackage:
9379       content:
9380         application/zip:
9381           schema:
9382             $ref: '#/components/schemas/NetSlicePackage'
9383     NstInfoModifications:
9384       content:
9385         application/json:
9386           schema:
9387             $ref: '#/components/schemas/NstInfoModifications'
9388         application/yaml:
9389           schema:
9390             $ref: '#/components/schemas/NstInfoModifications'
9391     # CreateNsiRequest:
9392       # Substituted by InstantiateNsiRequest
9393     InstantiateNsiRequest:
9394       content:
9395         application/json:
9396           schema:
9397             $ref: '#/components/schemas/InstantiateNsiRequest'
9398         application/yaml:
9399           schema:
9400             $ref: '#/components/schemas/InstantiateNsiRequest'
9401     TerminateNsiRequest:
9402       content:
9403         application/json:
9404           schema:
9405             $ref: '#/components/schemas/TerminateNsiRequest'
9406         application/yaml:
9407           schema:
9408             $ref: '#/components/schemas/TerminateNsiRequest'
9409     NsiActionRequest:
9410       content:
9411         application/json:
9412           schema:
9413             $ref: '#/components/schemas/NsiActionRequest'
9414         application/yaml:
9415           schema:
9416             $ref: '#/components/schemas/NsiActionRequest'
9417     # CreateNsiContentRequest:
9418       # Substituted by InstantiateNsiRequest
9419     CreateTokenRequest:
9420       content:
9421         application/json:
9422           schema:
9423             $ref: '#/components/schemas/CreateTokenRequest'
9424         application/yaml:
9425           schema:
9426             $ref: '#/components/schemas/CreateTokenRequest'
9427     CreateUserRequest:
9428       content:
9429         application/json:
9430           schema:
9431             $ref: '#/components/schemas/CreateUserRequest'
9432         application/yaml:
9433           schema:
9434             $ref: '#/components/schemas/CreateUserRequest'
9435     EditUserRequest:
9436       content:
9437         application/json:
9438           schema:
9439             $ref: '#/components/schemas/EditUserRequest'
9440         application/yaml:
9441           schema:
9442             $ref: '#/components/schemas/EditUserRequest'
9443     CreateProjectRequest:
9444       content:
9445         application/json:
9446           schema:
9447             $ref: '#/components/schemas/CreateProjectRequest'
9448         application/yaml:
9449           schema:
9450             $ref: '#/components/schemas/CreateProjectRequest'
9451     EditProjectRequest:
9452       content:
9453         application/json:
9454           schema:
9455             $ref: '#/components/schemas/EditProjectRequest'
9456         application/yaml:
9457           schema:
9458             $ref: '#/components/schemas/EditProjectRequest'
9459     CreateRoleRequest:
9460       content:
9461         application/json:
9462           schema:
9463             $ref: '#/components/schemas/CreateRoleRequest'
9464         application/yaml:
9465           schema:
9466             $ref: '#/components/schemas/CreateRoleRequest'
9467     EditRoleRequest:
9468       content:
9469         application/json:
9470           schema:
9471             $ref: '#/components/schemas/EditRoleRequest'
9472         application/yaml:
9473           schema:
9474             $ref: '#/components/schemas/EditRoleRequest'
9475     CreateVimRequest:
9476       content:
9477         application/json:
9478           schema:
9479             $ref: '#/components/schemas/CreateVimRequest'
9480         application/yaml:
9481           schema:
9482             $ref: '#/components/schemas/CreateVimRequest'
9483     EditVimRequest:
9484       content:
9485         application/json:
9486           schema:
9487             $ref: '#/components/schemas/EditVimRequest'
9488         application/yaml:
9489           schema:
9490             $ref: '#/components/schemas/EditVimRequest'
9491     CreateWimRequest:
9492       content:
9493         application/json:
9494           schema:
9495             $ref: '#/components/schemas/CreateWimRequest'
9496         application/yaml:
9497           schema:
9498             $ref: '#/components/schemas/CreateWimRequest'
9499     EditWimRequest:
9500       content:
9501         application/json:
9502           schema:
9503             $ref: '#/components/schemas/EditWimRequest'
9504         application/yaml:
9505           schema:
9506             $ref: '#/components/schemas/EditWimRequest'
9507     CreateSdnRequest:
9508       content:
9509         application/json:
9510           schema:
9511             $ref: '#/components/schemas/CreateSdnRequest'
9512         application/yaml:
9513           schema:
9514             $ref: '#/components/schemas/CreateSdnRequest'
9515     EditSdnRequest:
9516       content:
9517         application/json:
9518           schema:
9519             $ref: '#/components/schemas/EditSdnRequest'
9520         application/yaml:
9521           schema:
9522             $ref: '#/components/schemas/EditSdnRequest'
9523     CreatePduRequest:
9524       content:
9525         application/json:
9526           schema:
9527             $ref: '#/components/schemas/CreatePduRequest'
9528         application/yaml:
9529           schema:
9530             $ref: '#/components/schemas/CreatePduRequest'
9531     EditPduRequest:
9532       content:
9533         application/json:
9534           schema:
9535             $ref: '#/components/schemas/EditPduRequest'
9536         application/yaml:
9537           schema:
9538             $ref: '#/components/schemas/EditPduRequest'
9539     CreateK8sClusterRequest:
9540       content:
9541         application/json:
9542           schema:
9543             $ref: '#/components/schemas/CreateK8sClusterRequest'
9544         application/yaml:
9545           schema:
9546             $ref: '#/components/schemas/CreateK8sClusterRequest'
9547     EditK8sClusterRequest:
9548       content:
9549         application/json:
9550           schema:
9551             $ref: '#/components/schemas/EditK8sClusterRequest'
9552         application/yaml:
9553           schema:
9554             $ref: '#/components/schemas/EditK8sClusterRequest'
9555     CreateVcaRequest:
9556       content:
9557         application/json:
9558           schema:
9559             $ref: '#/components/schemas/CreateVcaRequest'
9560         application/yaml:
9561           schema:
9562             $ref: '#/components/schemas/CreateVcaRequest'
9563     EditVcaRequest:
9564       content:
9565         application/json:
9566           schema:
9567             $ref: '#/components/schemas/EditVcaRequest'
9568         application/yaml:
9569           schema:
9570             $ref: '#/components/schemas/EditVcaRequest'
9571     CreateK8sRepoRequest:
9572       content:
9573         application/json:
9574           schema:
9575             $ref: '#/components/schemas/CreateK8sRepoRequest'
9576         application/yaml:
9577           schema:
9578             $ref: '#/components/schemas/CreateK8sRepoRequest'
9579     NslcmSubscriptionRequest:
9580       content:
9581         application/json:
9582           schema:
9583             $ref: '#/components/schemas/NslcmSubscriptionRequest'
9584         application/yaml:
9585           schema:
9586             $ref: '#/components/schemas/NslcmSubscriptionRequest'
9587     CancelNSLCMOpOccRequest:
9588       content:
9589         application/json:
9590           schema:
9591             $ref: '#/components/schemas/CancelNSLCMOpOccRequest'
9592         application/yaml:
9593           schema:
9594             $ref: '#/components/schemas/CancelNSLCMOpOccRequest'
9595   # END REQUEST BODIES
9596
9597   securitySchemes:
9598     bearerAuth:
9599       type: http
9600       scheme: bearer