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