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