Feature 11002: Deprecate helmv2
[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         admin_show:
7937           type: boolean
7938         project_id:
7939           type: string
7940           format: uuid
7941         user_id:
7942           type: string
7943           format: uuid
7944         project_name:
7945           type: string
7946         username:
7947           type: string
7948         issued_at:
7949           type: number
7950           format: float
7951         user_show:
7952           type: boolean
7953         last_login:
7954           type: number
7955           format: float
7956         login_count:
7957           type: number
7958         expires:
7959           type: number
7960           format: float
7961         remote_host:
7962           type: string
7963           format: ipv4
7964         remote_port:
7965           type: integer
7966         roles:
7967           type: array
7968           items:
7969             type: object
7970             properties:
7971               id:
7972                 type: string
7973                 format: uuid
7974               name:
7975                 type: string
7976     PasswordExpiryInfo:
7977       type: object
7978       properties:
7979         id:
7980           type: string
7981         message:
7982           type: string
7983         user_id:
7984           type: string
7985           format: uuid
7986     ArrayOfTokenInfo:
7987       type: array
7988       items:
7989         $ref: '#/components/schemas/TokenInfo'
7990     CreateTokenRequest:
7991       type: object
7992       properties:
7993         username:
7994           type: string
7995         password:
7996           type: string
7997         project_id:
7998           type: string
7999       required:
8000         - username
8001         - password
8002     UserInfo:
8003       type: object
8004       properties:
8005         _id:
8006           type: string
8007           format: uuid
8008         username:
8009           type: string
8010         password:
8011           type: string
8012         project_role_mappings:
8013           type: array
8014           items:
8015             type: object
8016             properties:
8017               project:
8018                 type: string
8019                 format: uuid
8020               role:
8021                 type: string
8022                 format: uuid
8023               project_name:
8024                 type: string
8025               role_name:
8026                 type: string
8027         projects:
8028           type: array
8029           items:
8030             type: string
8031     ArrayOfUserInfo:
8032       type: array
8033       items:
8034         $ref: '#/components/schemas/UserInfo'
8035     ProjectRoleMappings:
8036       type: array
8037       items:
8038         type: object
8039         properties:
8040           project:
8041             type: string
8042           role:
8043             type: string
8044       required:
8045         - project
8046         - role
8047       additionalProperties: false
8048     ProjectRoleMappingsOpt:
8049       type: array
8050       items:
8051         type: object
8052         properties:
8053           project:
8054             type: string
8055           role:
8056             type: string
8057       required:
8058         - project
8059       additionalProperties: false
8060     CreateUserRequest:
8061       type: object
8062       properties:
8063         username:
8064           type: string
8065         password:
8066           type: string
8067         projects:
8068           type: array
8069           items:
8070             type: string
8071         project_role_mappings:
8072           $ref: '#/components/schemas/ProjectRoleMappings'
8073       required:
8074         - username
8075         - password
8076       additionalProperties: false
8077     ShortNameList:
8078       type: array
8079       items:
8080         type: string
8081     ArrayEditionSchema:
8082       type: object
8083       additionalProperties: true
8084       minProperties: 1
8085       description: |
8086         Array edition keys must start with '$'
8087         and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
8088     EditUserRequest:
8089       type: object
8090       properties:
8091         username:
8092           type: string
8093         password:
8094           type: string
8095         old_password:
8096           type: string
8097         system_admin_id:
8098           type: string
8099           format: uuid
8100         unlock:
8101           type: boolean
8102         renew:
8103           type: boolean
8104         projects:
8105           oneOf:
8106             - $ref: '#/components/schemas/ShortNameList'
8107             - $ref: '#/components/schemas/ArrayEditionSchema'
8108         project_role_mappings:
8109           $ref: '#/components/schemas/ProjectRoleMappings'
8110         add_project_role_mappings:
8111           $ref: '#/components/schemas/ProjectRoleMappings'
8112         remove_project_role_mappings:
8113           $ref: '#/components/schemas/ProjectRoleMappingsOpt'
8114     QuotasInfo:
8115       type: object
8116       properties:
8117         vnfds:
8118           type: integer
8119           minimum: 0
8120           nullable: false
8121         nsds:
8122           type: integer
8123           minimum: 0
8124           nullable: false
8125         slice_templates:
8126           type: integer
8127           minimum: 0
8128           nullable: false
8129         pduds:
8130           type: integer
8131           minimum: 0
8132           nullable: false
8133         ns_instances:
8134           type: integer
8135           minimum: 0
8136           nullable: false
8137         slice_instances:
8138           type: integer
8139           minimum: 0
8140           nullable: false
8141         vim_accounts:
8142           type: integer
8143           minimum: 0
8144           nullable: false
8145         wim_accounts:
8146           type: integer
8147           minimum: 0
8148           nullable: false
8149         sdn_controllers:
8150           type: integer
8151           minimum: 0
8152           nullable: false
8153         k8sclusters:
8154           type: integer
8155           minimum: 0
8156           nullable: false
8157         vca:
8158           type: integer
8159           minimum: 0
8160           nullable: false
8161         k8srepos:
8162           type: integer
8163           minimum: 0
8164           nullable: false
8165         osmrepos:
8166           type: integer
8167           minimum: 0
8168           nullable: false
8169       additionalProperties: false
8170     EditQuotasInfo:
8171       type: object
8172       properties:
8173         vnfds:
8174           type: integer
8175           minimum: 0
8176           nullable: true
8177         nsds:
8178           type: integer
8179           minimum: 0
8180           nullable: true
8181         slice_templates:
8182           type: integer
8183           minimum: 0
8184           nullable: true
8185         pduds:
8186           type: integer
8187           minimum: 0
8188           nullable: true
8189         ns_instances:
8190           type: integer
8191           minimum: 0
8192           nullable: true
8193         slice_instances:
8194           type: integer
8195           minimum: 0
8196           nullable: true
8197         vim_accounts:
8198           type: integer
8199           minimum: 0
8200           nullable: true
8201         wim_accounts:
8202           type: integer
8203           minimum: 0
8204           nullable: true
8205         sdn_controllers:
8206           type: integer
8207           minimum: 0
8208           nullable: true
8209         k8sclusters:
8210           type: integer
8211           minimum: 0
8212           nullable: true
8213         vca:
8214           type: integer
8215           minimum: 0
8216           nullable: true
8217         k8srepos:
8218           type: integer
8219           minimum: 0
8220           nullable: true
8221         osmrepos:
8222           type: integer
8223           minimum: 0
8224           nullable: true
8225       additionalProperties: false
8226     ProjectInfo:
8227       type: object
8228       properties:
8229         _id:
8230           type: string
8231           format: uuid
8232         name:
8233           type: string
8234         quotas:
8235           $ref: '#/components/schemas/QuotasInfo'
8236     ArrayOfProjectInfo:
8237       type: array
8238       items:
8239         $ref: '#/components/schemas/ProjectInfo'
8240     CreateProjectRequest:
8241       type: object
8242       properties:
8243         name:
8244           type: string
8245         admin:
8246           type: boolean
8247         quotas:
8248           $ref: '#/components/schemas/QuotasInfo'
8249       required:
8250         - name
8251       additionalProperties: false
8252     EditProjectRequest:
8253       type: object
8254       properties:
8255         name:
8256           type: string
8257         admin:
8258           type: boolean
8259         quotas:
8260           $ref: '#/components/schemas/EditQuotasInfo'
8261       additionalProperties: false
8262     PermissionsInfo:
8263       type: object
8264       additionalProperties:
8265         type: boolean
8266         nullable: false
8267       description: |
8268         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
8269         Permission values are either true or false
8270     EditPermissionsInfo:
8271       type: object
8272       additionalProperties:
8273         type: boolean
8274         nullable: true
8275       description: |
8276         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
8277         Permission values are either true, false, or null
8278     RoleInfo:
8279       type: object
8280       properties:
8281         _id:
8282           type: string
8283           format: uuid
8284         name:
8285           type: string
8286         permissions:
8287           $ref: '#/components/schemas/PermissionsInfo'
8288     ArrayOfRoleInfo:
8289       type: array
8290       items:
8291         $ref: '#/components/schemas/RoleInfo'
8292     CreateRoleRequest:
8293       type: object
8294       properties:
8295         name:
8296           type: string
8297         permissions:
8298           $ref: '#/components/schemas/PermissionsInfo'
8299       required:
8300         - name
8301       additionalProperties: false
8302     EditRoleRequest:
8303       type: object
8304       properties:
8305         name:
8306           type: string
8307         permissions:
8308           $ref: '#/components/schemas/EditPermissionsInfo'
8309       additionalProperties: false
8310     VimType:
8311       type: string
8312       enum:
8313         - openvim
8314         - openstack
8315         - vmware
8316         - opennebula
8317         - aws
8318         - azure
8319         - fos
8320     VimInfo:
8321       type: object
8322       properties:
8323         _id:
8324           type: string
8325           format: uuid
8326         schema_version:
8327           type: string
8328           format: X.Y[.Z]
8329         schema_type:
8330           type: string
8331         name:
8332           type: string
8333         description:
8334           type: string
8335         vim:
8336           type: string
8337         datacenter:
8338           type: string
8339         vim_type:
8340           $ref: '#/components/schemas/VimType'
8341         vim_url:
8342           type: string
8343           format: uri
8344         vim_tenant_name:
8345           type: string
8346         vim_user:
8347           type: string
8348         vim_password:
8349           type: string
8350         vca:
8351           type: string
8352           format: uuid
8353         config:
8354           type: object
8355           additionalProperties: true
8356         resources:
8357           type: object
8358     ArrayOfVimInfo:
8359       type: array
8360       items:
8361         $ref: '#/components/schemas/VimInfo'
8362     CreateVimRequest:
8363       type: object
8364       properties:
8365         schema_version:
8366           type: string
8367           format: X.Y[.Z]
8368         schema_type:
8369           type: string
8370         name:
8371           type: string
8372         description:
8373           type: string
8374         vim:
8375           type: string
8376         datacenter:
8377           type: string
8378         vim_type:
8379           $ref: '#/components/schemas/VimType'
8380         vim_url:
8381           type: string
8382           format: uri
8383         vim_tenant_name:
8384           type: string
8385         vim_user:
8386           type: string
8387         vim_password:
8388           type: string
8389         vca:
8390           type: string
8391           format: uuid
8392         config:
8393           type: object
8394           additionalProperties: true
8395         prometheus-config:
8396           type: object
8397           additionalProperties: true
8398         resources:
8399           type: object
8400       required:
8401         - name
8402         - vim_url
8403         - vim_type
8404         - vim_user
8405         - vim_password
8406         - vim_tenant_name
8407       additionalProperties: false
8408     EditVimRequest:
8409       type: object
8410       properties:
8411         name:
8412           type: string
8413         description:
8414           type: string
8415         vim:
8416           type: string
8417         datacenter:
8418           type: string
8419         vim_type:
8420           $ref: '#/components/schemas/VimType'
8421         vim_url:
8422           type: string
8423           format: uri
8424         vim_tenant_name:
8425           type: string
8426         vim_user:
8427           type: string
8428         vim_password:
8429           type: string
8430         vca:
8431           type: string
8432           format: uuid
8433         prometheus-config:
8434           type: object
8435           additionalProperties: true
8436         config:
8437           type: object
8438           additionalProperties: true
8439       additionalProperties: false
8440     ObjectId_plus_OpId:
8441       type: object
8442       properties:
8443         id:
8444           type: string
8445           format: uuid
8446         op_id:
8447           type: string
8448           format: uuid
8449     OpId:
8450       type: object
8451       properties:
8452         op_id:
8453           type: string
8454           format: uuid
8455     WimType:
8456       type: string
8457       enum:
8458         - onos
8459         - odl
8460         - tapi
8461         - dynpac
8462         - fake
8463     WimInfo:
8464       type: object
8465       properties:
8466         _id:
8467           type: string
8468           format: uuid
8469         schema_version:
8470           type: string
8471           format: X.Y[.Z]
8472         schema_type:
8473           type: string
8474         name:
8475           type: string
8476         description:
8477           type: string
8478         wim:
8479           type: string
8480         wim_type:
8481           $ref: '#/components/schemas/WimType'
8482         wim_url:
8483           type: string
8484           format: uri
8485         user:
8486           type: string
8487         password:
8488           type: string
8489         config:
8490           type: object
8491           additionalProperties: true
8492     ArrayOfWimInfo:
8493       type: array
8494       items:
8495         $ref: '#/components/schemas/WimInfo'
8496     CreateWimRequest:
8497       type: object
8498       properties:
8499         schema_version:
8500           type: string
8501           format: X.Y[.Z]
8502         schema_type:
8503           type: string
8504         name:
8505           type: string
8506         description:
8507           type: string
8508         wim:
8509           type: string
8510         wim_type:
8511           $ref: '#/components/schemas/WimType'
8512         wim_url:
8513           type: string
8514           format: uri
8515         user:
8516           type: string
8517         password:
8518           type: string
8519         config:
8520           type: object
8521           additionalProperties: true
8522       required:
8523         - name
8524         - wim_url
8525         - wim_type
8526       additionalProperties: false
8527     EditWimRequest:
8528       type: object
8529       properties:
8530         name:
8531           type: string
8532         description:
8533           type: string
8534         wim:
8535           type: string
8536         wim_type:
8537           type: string
8538         wim_url:
8539           type: string
8540           format: uri
8541         user:
8542           type: string
8543         password:
8544           type: string
8545         config:
8546           type: object
8547           additionalProperties: true
8548       additionalProperties: false
8549     SdnBasicProperties:
8550       type: object
8551       properties:
8552         name:
8553           type: string
8554         description:
8555           type: string
8556         dpid:
8557           type: string
8558           format: mac_address
8559         ip:
8560           type: string
8561           format: ipv4
8562         port:
8563           type: integer
8564         type:
8565           type: string
8566           enum:
8567             - floodlight
8568             - opendaylight
8569             - onos
8570         version:
8571           type: string
8572         user:
8573           type: string
8574         password:
8575           type: string
8576     SdnExtraProperties:
8577       type: object
8578       properties:
8579         _id:
8580           type: string
8581           format: uuid
8582         schema_version:
8583           type: string
8584           format: X.Y[.Z]
8585     SdnInfo:
8586       allOf:
8587         - $ref: '#/components/schemas/SdnExtraProperties'
8588         - $ref: '#/components/schemas/SdnBasicProperties'
8589     ArrayOfSdnInfo:
8590       type: array
8591       items:
8592         $ref: '#/components/schemas/SdnInfo'
8593     CreateSdnRequest:
8594       allOf:
8595         - $ref: '#/components/schemas/SdnBasicProperties'
8596       required:
8597         - name
8598         - type
8599         - ip
8600         - port
8601         - dpid
8602       additionalProperties: false
8603     EditSdnRequest:
8604       allOf:
8605         - $ref: '#/components/schemas/SdnBasicProperties'
8606       additionalProperties: false
8607     NsPmJobReportInfo:
8608       type: object
8609       properties:
8610         entries:
8611           type: array
8612           items:
8613             type: object
8614             properties:
8615               objectInstanceId:
8616                 type: string
8617                 format: uuid
8618               performanceMetric:
8619                 type: string
8620               performanceValue:
8621                 type: object
8622                 properties:
8623                   performanceValue:
8624                     type: object
8625                     properties:
8626                       performanceValue:
8627                         type: number
8628                       vnfMemberIndex:
8629                         type: string
8630                       vduName:
8631                         type: string
8632                   timestamp:
8633                     type: number
8634     PduInterfaces:
8635       type: array
8636       items:
8637         type: object
8638         properties:
8639           name:
8640             type: string
8641           mgmt:
8642             type: boolean
8643           type:
8644             type: string
8645             enum:
8646               - overlay
8647               - underlay
8648           ip-address:
8649             type: string
8650             format: ipv4
8651           mac-address:
8652             type: string
8653             format: mac_address
8654           vim-network-name:
8655             type: string
8656           vim-network-id:
8657             type: string
8658         required:
8659           - name
8660           - mgmt
8661           - ip-address
8662         additionalProperties: false
8663     PduInfo:
8664       type: object
8665       properties:
8666         _id:
8667           type: string
8668           format: uuid
8669         name:
8670           type: string
8671         type:
8672           type: string
8673         description:
8674           type: string
8675         shared:
8676           type: boolean
8677         vims:
8678           type: array
8679           items:
8680             type: string
8681         vim_accounts:
8682           type: array
8683           items:
8684             type: string
8685         interfaces:
8686           $ref: '#/components/schemas/PduInterfaces'
8687     ArrayOfPduInfo:
8688       type: array
8689       items:
8690         $ref: '#/components/schemas/PduInfo'
8691     CreatePduRequest:
8692       type: object
8693       properties:
8694         name:
8695           type: string
8696         type:
8697           type: string
8698         description:
8699           type: string
8700         shared:
8701           type: boolean
8702         vims:
8703           type: array
8704           items:
8705             type: string
8706         vim_accounts:
8707           type: array
8708           items:
8709             type: string
8710         interfaces:
8711           $ref: '#/components/schemas/PduInterfaces'
8712       required:
8713         - name
8714         - type
8715         - interfaces
8716       additionalProperties: false
8717     EditPduRequest:
8718       type: object
8719       properties:
8720         name:
8721           type: string
8722         type:
8723           type: string
8724         description:
8725           type: string
8726         shared:
8727           type: boolean
8728         vims:
8729           type: array
8730           items:
8731             type: string
8732         vim_accounts:
8733           type: array
8734           items:
8735             type: string
8736         interfaces:
8737           $ref: '#/components/schemas/PduInterfaces'
8738       additionalProperties: false
8739     K8sClusterNetList:
8740       type: array
8741       items:
8742         type: object
8743         additionalProperties: false
8744     K8sClusterDeploymentMethods:
8745       type: object
8746       properties:
8747         juju-bundle:
8748           type: boolean
8749         helm-chart-v3:
8750           type: boolean
8751       additionalProperties: false
8752       minProperties: 3
8753     K8sClusterInfo:
8754       type: object
8755       properties:
8756         _id:
8757           type: string
8758           format: uuid
8759         schema_version:
8760           type: string
8761           format: X.Y[.Z]
8762         schema_type:
8763           type: string
8764         name:
8765           type: string
8766         description:
8767           type: string
8768         credentials:
8769           type: object
8770           additionalProperties: true
8771         vim_account:
8772           type: string
8773           format: uuid
8774         k8s_version:
8775           type: string
8776         nets:
8777           $ref: '#/components/schemas/K8sClusterNetList'
8778         deployment_methods:
8779           $ref: '#/components/schemas/K8sClusterDeploymentMethods'
8780         namespace:
8781           type: string
8782         cni:
8783           type: array
8784           items:
8785             type: string
8786     ArrayOfK8sClusterInfo:
8787       type: array
8788       items:
8789         $ref: '#/components/schemas/K8sClusterInfo'
8790     CreateK8sClusterRequest:
8791       type: object
8792       properties:
8793         schema_version:
8794           type: string
8795           format: X.Y[.Z]
8796         schema_type:
8797           type: string
8798         name:
8799           type: string
8800         description:
8801           type: string
8802         credentials:
8803           type: object
8804           additionalProperties: true
8805         vim_account:
8806           type: string
8807           format: uuid
8808         k8s_version:
8809           type: string
8810         nets:
8811           $ref: '#/components/schemas/K8sClusterNetList'
8812         namespace:
8813           type: string
8814         cni:
8815           type: array
8816           items:
8817             type: string
8818       required:
8819         - name
8820         - credentials
8821         - vim_account
8822         - k8s_version
8823         - nets
8824       additionalProperties: false
8825     EditK8sClusterRequest:
8826       type: object
8827       properties:
8828         name:
8829           type: string
8830         description:
8831           type: string
8832         credentials:
8833           type: object
8834           additionalProperties: true
8835         vim_account:
8836           type: string
8837           format: uuid
8838         k8s_version:
8839           type: string
8840         nets:
8841           $ref: '#/components/schemas/K8sClusterNetList'
8842         namespace:
8843           type: string
8844         cni:
8845           type: array
8846           items:
8847             type: string
8848       additionalProperties: false
8849     VcaInfo:
8850       type: object
8851       properties:
8852         _id:
8853           type: string
8854           format: uuid
8855         schema_version:
8856           type: string
8857           format: X.Y[.Z]
8858         schema_type:
8859           type: string
8860         name:
8861           type: string
8862         description:
8863           type: string
8864         endpoints:
8865           type: string
8866         user:
8867           type: string
8868         secret:
8869           type: string
8870         cacert:
8871           type: string
8872         lxd-cloud:
8873           type: string
8874         lxd-credentials:
8875           type: string
8876         k8s-cloud:
8877           type: string
8878         k8s-credentials:
8879           type: string
8880         model-config:
8881           type: object
8882           additionalProperties: true
8883     ArrayOfVcaInfo:
8884       type: array
8885       items:
8886         $ref: '#/components/schemas/VcaInfo'
8887     CreateVcaRequest:
8888       type: object
8889       properties:
8890         schema_version:
8891           type: string
8892           format: X.Y[.Z]
8893         schema_type:
8894           type: string
8895         name:
8896           type: string
8897         description:
8898           type: string
8899         endpoints:
8900           type: string
8901         user:
8902           type: string
8903         secret:
8904           type: string
8905         cacert:
8906           type: string
8907         lxd-cloud:
8908           type: string
8909         lxd-credentials:
8910           type: string
8911         k8s-cloud:
8912           type: string
8913         k8s-credentials:
8914           type: string
8915         model-config:
8916           type: object
8917           additionalProperties: true
8918       required:
8919         - name
8920         - endpoints
8921         - user
8922         - secret
8923         - cacert
8924         - lxd-cloud
8925         - lxd-credentials
8926         - k8s-cloud
8927         - k8s-credentials
8928       additionalProperties: false
8929     EditVcaRequest:
8930       type: object
8931       properties:
8932         name:
8933           type: string
8934         description:
8935           type: string
8936         endpoints:
8937           type: string
8938         user:
8939           type: string
8940         secret:
8941           type: string
8942         cacert:
8943           type: string
8944         lxd-cloud:
8945           type: string
8946         lxd-credentials:
8947           type: string
8948         k8s-cloud:
8949           type: string
8950         k8s-credentials:
8951           type: string
8952         model-config:
8953           type: object
8954           additionalProperties: true
8955       additionalProperties: false
8956     K8sRepoType:
8957       type: string
8958       enum:
8959         - chart
8960         - bundle
8961     K8sRepoInfo:
8962       type: object
8963       properties:
8964         _id:
8965           type: string
8966           format: uuid
8967         name:
8968           type: string
8969         description:
8970           type: string
8971         type:
8972           $ref: '#/components/schemas/K8sRepoType'
8973         url:
8974           type: string
8975           format: uri
8976         username:
8977           type: string
8978           description: repository username
8979         password:
8980           type: string
8981           description: repository password
8982         ca-file:
8983           type: string
8984           description: verify certificates of HTTPS-enabled servers using this CA bundle
8985         cert-file:
8986           type: string
8987           description: identify HTTPS client using this SSL certificate file
8988         skip-tls-verify:
8989           type: boolean
8990           description: skip tls certificate checks for the repository
8991         key-file:
8992           type: string
8993           description: identify HTTPS client using this SSL key file
8994     ArrayOfK8sRepoInfo:
8995       type: array
8996       items:
8997         $ref: '#/components/schemas/K8sRepoInfo'
8998     CreateK8sRepoRequest:
8999       type: object
9000       properties:
9001         name:
9002           type: string
9003         description:
9004           type: string
9005         type:
9006           $ref: '#/components/schemas/K8sRepoType'
9007         url:
9008           type: string
9009           format: uri
9010       required:
9011         - name
9012         - type
9013         - url
9014       additionalProperties: false
9015     NslcmSubscriptionResponse:
9016       type: object
9017       properties:
9018         id:
9019           type: string
9020           format: uuid
9021         filter:
9022           type: object
9023         CallbackUri:
9024           type: string
9025           format: uri
9026         _links:
9027           type: object
9028     NslcmSubscriptionInfo:
9029       type: object
9030       properties:
9031         _id:
9032           type: string
9033           format: uuid
9034         _admin:
9035           type: object
9036         schema_version:
9037           type: string
9038           format: 'X.Y[.Z]'
9039         CallbackUri:
9040           type: string
9041           format: uri
9042         filter:
9043           type: object
9044         authentication:
9045           $ref: '#/components/schemas/Authenticationschema'
9046     ArrayOfNslcmSubscriptionInfo:
9047       type: array
9048       items:
9049         $ref: '#/components/schemas/NslcmSubscriptionInfo'
9050     NsInstanceSubscriptionFilter:
9051       description: |
9052         used to identify the network service
9053       type: object
9054       oneOf:
9055         - $ref: '#/components/schemas/nsdIds'
9056         - $ref: '#/components/schemas/vnfdIds'
9057         - $ref: '#/components/schemas/pnfdIds'
9058         - $ref: '#/components/schemas/nsInstanceIds'
9059         - $ref: '#/components/schemas/nsInstanceNames'
9060     nsdIds:
9061       type: array
9062       items:
9063         type: string
9064     vnfdIds:
9065       type: array
9066       items:
9067         type: string
9068     pnfdIds:
9069       type: array
9070       items:
9071         type: string
9072     nsInstanceIds:
9073       type: array
9074       items:
9075         type: string
9076     nsInstanceNames:
9077       type: array
9078       items:
9079         type: string
9080     Nslcmsubschema:
9081       type: object
9082       properties:
9083         nsInstanceSubscriptionFilter:
9084            $ref: '#/components/schemas/NsInstanceSubscriptionFilter'
9085         notificationTypes:
9086           description: |
9087             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
9088           type: array
9089           items:
9090             type: string
9091             enum:
9092               - NsIdentifierCreationNotification
9093               - NsIdentifierDeletionNotification
9094               - NsLcmOperationOccurrenceNotification
9095               - NsChangeNotification
9096         operationTypes:
9097           type: array
9098           items:
9099             type: string
9100             enum:
9101               - INSTANTIATE
9102               - SCALE
9103               - TERMINATE
9104               - UPDATE
9105               - HEAL
9106         operationStates:
9107           type: array
9108           items:
9109             type: string
9110             enum:
9111               - PROCESSING
9112               - COMPLETED
9113               - PARTIALLY_COMPLETED
9114               - FAILED
9115               - FAILED_TEMP
9116               - ROLLING_BACK
9117               - ROLLED_BACK
9118         nsComponentTypes:
9119           type: array
9120           items:
9121             type: string
9122             enum:
9123               - VNF
9124               - NS
9125               - PNF
9126         lcmOpNameImpactingNsComponent:
9127           type: array
9128           items:
9129             type: string
9130             enum:
9131               - VNF_INSTANTIATE
9132               - VNF_SCALE
9133               - VNF_SCALE_TO_LEVEL
9134               - VNF_CHANGE_FLAVOUR
9135               - VNF_TERMINATE
9136               - VNF_HEAL
9137               - VNF_OPERATE
9138               - VNF_CHANGE_EXT_CONN
9139               - VNF_MODIFY_INFO
9140               - NS_INSTANTIATE
9141               - NS_SCALE
9142               - NS_UPDATE
9143               - NS_TERMINATE
9144               - NS_HEAL
9145         lcmOpOccStatusImpactingNsComponent:
9146           type: array
9147           items:
9148             type: string
9149             enum:
9150               - START
9151               - COMPLETED
9152               - PARTIALLY_COMPLETED
9153               - FAILED
9154               - ROLLED_BACK
9155     Authenticationschema:
9156       type: object
9157       properties:
9158         authType:
9159           type: string
9160           enum:
9161             - basic
9162         paramsBasic:
9163           type: object
9164           properties:
9165             userName:
9166               type: string
9167             password:
9168               type: string
9169     NslcmSubscriptionRequest:
9170       type: object
9171       properties:
9172         filter:
9173           $ref: '#/components/schemas/Nslcmsubschema'
9174         CallbackUri:
9175           type: string
9176           format: uri
9177         authentication:
9178           $ref: '#/components/schemas/Authenticationschema'
9179       required:
9180         - CallbackUri
9181   # END SCHEMAS
9182
9183   requestBodies:
9184     CreateNsdInfoRequest:
9185       content:
9186         application/json:
9187           schema:
9188             $ref: '#/components/schemas/CreateNsdInfoRequest'
9189         application/yaml:
9190           schema:
9191             $ref: '#/components/schemas/CreateNsdInfoRequest'
9192     NsdInfoModifications:
9193       content:
9194         application/json:
9195           schema:
9196             $ref: '#/components/schemas/NsdInfoModifications'
9197         application/yaml:
9198           schema:
9199             $ref: '#/components/schemas/NsdInfoModifications'
9200     AlarmInfoModifications:
9201       content:
9202         application/json:
9203           schema:
9204             $ref: '#/components/schemas/AlarmInfoModifications'
9205         application/yaml:
9206           schema:
9207             $ref: '#/components/schemas/AlarmInfoModifications'
9208     NsDescriptor:
9209       content:
9210         text/plain:
9211           schema:
9212             $ref: '#/components/schemas/NsDescriptor'
9213     NsPackage:
9214       content:
9215         application/zip:
9216           schema:
9217             $ref: '#/components/schemas/NsPackage'
9218     CreateVnfPkgInfoRequest:
9219       content:
9220         application/json:
9221           schema:
9222             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
9223         application/yaml:
9224           schema:
9225             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
9226     VnfPkgInfoModifications:
9227       content:
9228         application/json:
9229           schema:
9230             $ref: '#/components/schemas/VnfPkgInfoModifications'
9231         application/yaml:
9232           schema:
9233             $ref: '#/components/schemas/VnfPkgInfoModifications'
9234     VnfPackage:
9235       content:
9236         application/zip:
9237           schema:
9238             $ref: '#/components/schemas/VnfPackage'
9239     VnfDescriptor:
9240       content:
9241         text/plain:
9242           schema:
9243             $ref: '#/components/schemas/VnfDescriptor'
9244     # CreateNsRequest:
9245       # Substituted by InstantiateNsRequest
9246     InstantiateNsRequest:
9247       content:
9248         application/json:
9249           schema:
9250             $ref: '#/components/schemas/InstantiateNsRequest'
9251         application/yaml:
9252           schema:
9253             $ref: '#/components/schemas/InstantiateNsRequest'
9254     HealNsRequest:
9255       content:
9256         application/json:
9257           schema:
9258             $ref: '#/components/schemas/HealNsRequest'
9259         application/yaml:
9260           schema:
9261             $ref: '#/components/schemas/HealNsRequest'
9262     NSinstanceMigrateRequest:
9263       content:
9264         application/json:
9265           schema:
9266             $ref: '#/components/schemas/NSinstanceMigrateRequest'
9267         application/yaml:
9268           schema:
9269             $ref: '#/components/schemas/NSinstanceMigrateRequest'
9270     ScaleNsRequest:
9271       content:
9272         application/json:
9273           schema:
9274             $ref: '#/components/schemas/ScaleNsRequest'
9275         application/yaml:
9276           schema:
9277             $ref: '#/components/schemas/ScaleNsRequest'
9278     TerminateNsRequest:
9279       content:
9280         application/json:
9281           schema:
9282             $ref: '#/components/schemas/TerminateNsRequest'
9283         application/yaml:
9284           schema:
9285             $ref: '#/components/schemas/TerminateNsRequest'
9286     UpdateNsRequest:
9287       content:
9288         application/json:
9289           schema:
9290             $ref: '#/components/schemas/UpdateNsRequest'
9291         application/yaml:
9292           schema:
9293             $ref: '#/components/schemas/UpdateNsRequest'
9294     VerticalscaleNsRequest:
9295       content:
9296         application/json:
9297           schema:
9298             $ref: '#/components/schemas/VerticalscaleNsRequest'
9299         application/yaml:
9300           schema:
9301             $ref: '#/components/schemas/VerticalscaleNsRequest'
9302     # CreateNSinstanceContentRequest:
9303       # Substituted by InstantiateNsRequest
9304     CreateNstInfoRequest:
9305       content:
9306         application/json:
9307           schema:
9308             $ref: '#/components/schemas/CreateNstInfoRequest'
9309         application/yaml:
9310           schema:
9311             $ref: '#/components/schemas/CreateNstInfoRequest'
9312     NetSliceTemplate:
9313       content:
9314         text/plain:
9315           schema:
9316             $ref: '#/components/schemas/NetSliceTemplate'
9317     NetSlicePackage:
9318       content:
9319         application/zip:
9320           schema:
9321             $ref: '#/components/schemas/NetSlicePackage'
9322     NstInfoModifications:
9323       content:
9324         application/json:
9325           schema:
9326             $ref: '#/components/schemas/NstInfoModifications'
9327         application/yaml:
9328           schema:
9329             $ref: '#/components/schemas/NstInfoModifications'
9330     # CreateNsiRequest:
9331       # Substituted by InstantiateNsiRequest
9332     InstantiateNsiRequest:
9333       content:
9334         application/json:
9335           schema:
9336             $ref: '#/components/schemas/InstantiateNsiRequest'
9337         application/yaml:
9338           schema:
9339             $ref: '#/components/schemas/InstantiateNsiRequest'
9340     TerminateNsiRequest:
9341       content:
9342         application/json:
9343           schema:
9344             $ref: '#/components/schemas/TerminateNsiRequest'
9345         application/yaml:
9346           schema:
9347             $ref: '#/components/schemas/TerminateNsiRequest'
9348     NsiActionRequest:
9349       content:
9350         application/json:
9351           schema:
9352             $ref: '#/components/schemas/NsiActionRequest'
9353         application/yaml:
9354           schema:
9355             $ref: '#/components/schemas/NsiActionRequest'
9356     # CreateNsiContentRequest:
9357       # Substituted by InstantiateNsiRequest
9358     CreateTokenRequest:
9359       content:
9360         application/json:
9361           schema:
9362             $ref: '#/components/schemas/CreateTokenRequest'
9363         application/yaml:
9364           schema:
9365             $ref: '#/components/schemas/CreateTokenRequest'
9366     CreateUserRequest:
9367       content:
9368         application/json:
9369           schema:
9370             $ref: '#/components/schemas/CreateUserRequest'
9371         application/yaml:
9372           schema:
9373             $ref: '#/components/schemas/CreateUserRequest'
9374     EditUserRequest:
9375       content:
9376         application/json:
9377           schema:
9378             $ref: '#/components/schemas/EditUserRequest'
9379         application/yaml:
9380           schema:
9381             $ref: '#/components/schemas/EditUserRequest'
9382     CreateProjectRequest:
9383       content:
9384         application/json:
9385           schema:
9386             $ref: '#/components/schemas/CreateProjectRequest'
9387         application/yaml:
9388           schema:
9389             $ref: '#/components/schemas/CreateProjectRequest'
9390     EditProjectRequest:
9391       content:
9392         application/json:
9393           schema:
9394             $ref: '#/components/schemas/EditProjectRequest'
9395         application/yaml:
9396           schema:
9397             $ref: '#/components/schemas/EditProjectRequest'
9398     CreateRoleRequest:
9399       content:
9400         application/json:
9401           schema:
9402             $ref: '#/components/schemas/CreateRoleRequest'
9403         application/yaml:
9404           schema:
9405             $ref: '#/components/schemas/CreateRoleRequest'
9406     EditRoleRequest:
9407       content:
9408         application/json:
9409           schema:
9410             $ref: '#/components/schemas/EditRoleRequest'
9411         application/yaml:
9412           schema:
9413             $ref: '#/components/schemas/EditRoleRequest'
9414     CreateVimRequest:
9415       content:
9416         application/json:
9417           schema:
9418             $ref: '#/components/schemas/CreateVimRequest'
9419         application/yaml:
9420           schema:
9421             $ref: '#/components/schemas/CreateVimRequest'
9422     EditVimRequest:
9423       content:
9424         application/json:
9425           schema:
9426             $ref: '#/components/schemas/EditVimRequest'
9427         application/yaml:
9428           schema:
9429             $ref: '#/components/schemas/EditVimRequest'
9430     CreateWimRequest:
9431       content:
9432         application/json:
9433           schema:
9434             $ref: '#/components/schemas/CreateWimRequest'
9435         application/yaml:
9436           schema:
9437             $ref: '#/components/schemas/CreateWimRequest'
9438     EditWimRequest:
9439       content:
9440         application/json:
9441           schema:
9442             $ref: '#/components/schemas/EditWimRequest'
9443         application/yaml:
9444           schema:
9445             $ref: '#/components/schemas/EditWimRequest'
9446     CreateSdnRequest:
9447       content:
9448         application/json:
9449           schema:
9450             $ref: '#/components/schemas/CreateSdnRequest'
9451         application/yaml:
9452           schema:
9453             $ref: '#/components/schemas/CreateSdnRequest'
9454     EditSdnRequest:
9455       content:
9456         application/json:
9457           schema:
9458             $ref: '#/components/schemas/EditSdnRequest'
9459         application/yaml:
9460           schema:
9461             $ref: '#/components/schemas/EditSdnRequest'
9462     CreatePduRequest:
9463       content:
9464         application/json:
9465           schema:
9466             $ref: '#/components/schemas/CreatePduRequest'
9467         application/yaml:
9468           schema:
9469             $ref: '#/components/schemas/CreatePduRequest'
9470     EditPduRequest:
9471       content:
9472         application/json:
9473           schema:
9474             $ref: '#/components/schemas/EditPduRequest'
9475         application/yaml:
9476           schema:
9477             $ref: '#/components/schemas/EditPduRequest'
9478     CreateK8sClusterRequest:
9479       content:
9480         application/json:
9481           schema:
9482             $ref: '#/components/schemas/CreateK8sClusterRequest'
9483         application/yaml:
9484           schema:
9485             $ref: '#/components/schemas/CreateK8sClusterRequest'
9486     EditK8sClusterRequest:
9487       content:
9488         application/json:
9489           schema:
9490             $ref: '#/components/schemas/EditK8sClusterRequest'
9491         application/yaml:
9492           schema:
9493             $ref: '#/components/schemas/EditK8sClusterRequest'
9494     CreateVcaRequest:
9495       content:
9496         application/json:
9497           schema:
9498             $ref: '#/components/schemas/CreateVcaRequest'
9499         application/yaml:
9500           schema:
9501             $ref: '#/components/schemas/CreateVcaRequest'
9502     EditVcaRequest:
9503       content:
9504         application/json:
9505           schema:
9506             $ref: '#/components/schemas/EditVcaRequest'
9507         application/yaml:
9508           schema:
9509             $ref: '#/components/schemas/EditVcaRequest'
9510     CreateK8sRepoRequest:
9511       content:
9512         application/json:
9513           schema:
9514             $ref: '#/components/schemas/CreateK8sRepoRequest'
9515         application/yaml:
9516           schema:
9517             $ref: '#/components/schemas/CreateK8sRepoRequest'
9518     NslcmSubscriptionRequest:
9519       content:
9520         application/json:
9521           schema:
9522             $ref: '#/components/schemas/NslcmSubscriptionRequest'
9523         application/yaml:
9524           schema:
9525             $ref: '#/components/schemas/NslcmSubscriptionRequest'
9526   # END REQUEST BODIES
9527
9528   securitySchemes:
9529     bearerAuth:
9530       type: http
9531       scheme: bearer