Bug 1170 API for NS Subcription
[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     get:
1411       tags:
1412         - "NS instances"
1413       summary: Read an individual NS instance resource
1414       description: Read an individual NS instance resource
1415       operationId: getNSinstance
1416       responses:
1417         '200':
1418           description: OK
1419           content:
1420             application/json:
1421               schema:
1422                 $ref: '#/components/schemas/NsInstance'
1423             application/yaml:
1424               schema:
1425                 $ref: '#/components/schemas/NsInstance'
1426         '400':
1427           $ref: '#/components/responses/BadRequest'
1428         '401':
1429           $ref: '#/components/responses/Unauthorized'
1430         '403':
1431           $ref: '#/components/responses/Forbidden'
1432         '404':
1433           $ref: '#/components/responses/NotFound'
1434         '405':
1435           $ref: '#/components/responses/MethodNotAllowed'
1436         '406':
1437           $ref: '#/components/responses/NotAcceptable'
1438         '409':
1439           $ref: '#/components/responses/Conflict'
1440         '422':
1441           $ref: '#/components/responses/UnprocessableEntity'
1442         '500':
1443           $ref: '#/components/responses/InternalServerError'
1444         '503':
1445           $ref: '#/components/responses/ServiceUnavailable'
1446         '5XX':
1447           $ref: '#/components/responses/UnexpectedError'
1448         default:
1449           $ref: '#/components/responses/UnexpectedError'
1450     delete:
1451       tags:
1452         - "NS instances"
1453       summary: Delete an individual NS instance resource
1454       description: Delete an individual NS instance resource
1455       operationId: deleteNSinstance
1456       responses:
1457         '204':
1458           description: No Content
1459         '400':
1460           $ref: '#/components/responses/BadRequest'
1461         '401':
1462           $ref: '#/components/responses/Unauthorized'
1463         '403':
1464           $ref: '#/components/responses/Forbidden'
1465         '404':
1466           $ref: '#/components/responses/NotFound'
1467         '405':
1468           $ref: '#/components/responses/MethodNotAllowed'
1469         '406':
1470           $ref: '#/components/responses/NotAcceptable'
1471         '409':
1472           $ref: '#/components/responses/Conflict'
1473         '422':
1474           $ref: '#/components/responses/UnprocessableEntity'
1475         '500':
1476           $ref: '#/components/responses/InternalServerError'
1477         '503':
1478           $ref: '#/components/responses/ServiceUnavailable'
1479         '5XX':
1480           $ref: '#/components/responses/UnexpectedError'
1481         default:
1482           $ref: '#/components/responses/UnexpectedError'
1483   '/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
1484     parameters:
1485       - name: nsInstanceId
1486         in: path
1487         required: true
1488         description: NS Instance ID
1489         schema:
1490           type: string
1491     post:
1492       tags:
1493         - "NS instances"
1494       summary: Instantiate a NS
1495       description: |
1496         Instantiate a NS. The precondition is that the NS instance must have
1497         been created and must be in NOT_INSTANTIATED state. As a result of the
1498         success of this operation, the NFVO creates a "NS Lifecycle Operation
1499         Occurrence" resource for the request, and the NS instance state becomes
1500         INSTANTIATED.
1501       operationId: instantiateNSinstance
1502       requestBody:
1503         $ref: '#/components/requestBodies/InstantiateNsRequest'
1504       responses:
1505         '202':
1506           description: Accepted
1507           headers:
1508             Location:
1509               description: |
1510                 It must point to the new "NS Lifecycle Operation Occurrence"
1511                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1512               schema:
1513                 type: string
1514                 format: uri
1515           content:
1516             application/json:
1517               schema:
1518                 $ref: '#/components/schemas/ObjectId'
1519             application/yaml:
1520               schema:
1521                 $ref: '#/components/schemas/ObjectId'
1522         '400':
1523           $ref: '#/components/responses/BadRequest'
1524         '401':
1525           $ref: '#/components/responses/Unauthorized'
1526         '403':
1527           $ref: '#/components/responses/Forbidden'
1528         '404':
1529           $ref: '#/components/responses/NotFound'
1530         '405':
1531           $ref: '#/components/responses/MethodNotAllowed'
1532         '406':
1533           $ref: '#/components/responses/NotAcceptable'
1534         '409':
1535           $ref: '#/components/responses/Conflict'
1536         '422':
1537           $ref: '#/components/responses/UnprocessableEntity'
1538         '500':
1539           $ref: '#/components/responses/InternalServerError'
1540         '503':
1541           $ref: '#/components/responses/ServiceUnavailable'
1542         '5XX':
1543           $ref: '#/components/responses/UnexpectedError'
1544         default:
1545           $ref: '#/components/responses/UnexpectedError'
1546   '/nslcm/v1/ns_instances/{nsInstanceId}/scale':
1547     parameters:
1548       - name: nsInstanceId
1549         in: path
1550         required: true
1551         description: NS Instance ID
1552         schema:
1553           type: string
1554     post:
1555       tags:
1556         - "NS instances"
1557       summary: Scale a NS instance
1558       description: |
1559         Scale a NS instance. The precondition is that the NS instance must have
1560         been created and must be in INSTANTIATED state. As a result of the
1561         success of this operation, the NFVO creates a "NS Lifecycle Operation
1562         Occurrence" resource for the request, and the NS instance state remains
1563         INSTANTIATED.
1564       operationId: scaleNSinstance
1565       requestBody:
1566         $ref: '#/components/requestBodies/ScaleNsRequest'
1567       responses:
1568         '202':
1569           description: Accepted
1570           headers:
1571             Location:
1572               description: |
1573                 It must point to the new "NS Lifecycle Operation Occurrence"
1574                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1575               schema:
1576                 type: string
1577                 format: uri
1578         '400':
1579           $ref: '#/components/responses/BadRequest'
1580         '401':
1581           $ref: '#/components/responses/Unauthorized'
1582         '403':
1583           $ref: '#/components/responses/Forbidden'
1584         '404':
1585           $ref: '#/components/responses/NotFound'
1586         '405':
1587           $ref: '#/components/responses/MethodNotAllowed'
1588         '406':
1589           $ref: '#/components/responses/NotAcceptable'
1590         '409':
1591           $ref: '#/components/responses/Conflict'
1592         '422':
1593           $ref: '#/components/responses/UnprocessableEntity'
1594         '500':
1595           $ref: '#/components/responses/InternalServerError'
1596         '503':
1597           $ref: '#/components/responses/ServiceUnavailable'
1598         '5XX':
1599           $ref: '#/components/responses/UnexpectedError'
1600         default:
1601           $ref: '#/components/responses/UnexpectedError'
1602   '/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
1603     parameters:
1604       - name: nsInstanceId
1605         in: path
1606         required: true
1607         description: NS Instance ID
1608         schema:
1609           type: string
1610     post:
1611       tags:
1612         - "NS instances"
1613       summary: Terminate a NS instance
1614       description: |
1615         Terminate a NS instance. The precondition is that the NS instance must have
1616         been created and must be in INSTANTIATED state. As a result of the
1617         success of this operation, the NFVO creates a "NS Lifecycle Operation
1618         Occurrence" resource for the request, and the NS instance state becomes
1619         NOT_INSTANTIATED.
1620       operationId: terminateNSinstance
1621       requestBody:
1622         # Request data is not required
1623         $ref: '#/components/requestBodies/TerminateNsRequest'
1624       responses:
1625         '202':
1626           description: Accepted
1627           headers:
1628             Location:
1629               description: |
1630                 It must point to the new "NS Lifecycle Operation Occurrence"
1631                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1632               schema:
1633                 type: string
1634                 format: uri
1635           content:
1636             application/json:
1637               schema:
1638                 $ref: '#/components/schemas/ObjectId'
1639             application/yaml:
1640               schema:
1641                 $ref: '#/components/schemas/ObjectId'
1642         '400':
1643           $ref: '#/components/responses/BadRequest'
1644         '401':
1645           $ref: '#/components/responses/Unauthorized'
1646         '403':
1647           $ref: '#/components/responses/Forbidden'
1648         '404':
1649           $ref: '#/components/responses/NotFound'
1650         '405':
1651           $ref: '#/components/responses/MethodNotAllowed'
1652         '406':
1653           $ref: '#/components/responses/NotAcceptable'
1654         '409':
1655           $ref: '#/components/responses/Conflict'
1656         '422':
1657           $ref: '#/components/responses/UnprocessableEntity'
1658         '500':
1659           $ref: '#/components/responses/InternalServerError'
1660         '503':
1661           $ref: '#/components/responses/ServiceUnavailable'
1662         '5XX':
1663           $ref: '#/components/responses/UnexpectedError'
1664         default:
1665           $ref: '#/components/responses/UnexpectedError'
1666   '/nslcm/v1/ns_instances/{nsInstanceId}/action':
1667     parameters:
1668       - name: nsInstanceId
1669         in: path
1670         required: true
1671         description: NS Instance ID
1672         schema:
1673           type: string
1674     post:
1675       tags:
1676         - "NS instances"
1677       summary: Execute an action on a NS instance
1678       description: |
1679         Execute an action on a NS instance.
1680         The NS instance must have been created and must be in INSTANTIATED state.
1681       operationId: actionOnNSinstance
1682       requestBody:
1683         content:
1684           application/json:
1685             schema:
1686               $ref: '#/components/schemas/NSinstanceActionRequest'
1687           application/yaml:
1688             schema:
1689               $ref: '#/components/schemas/NSinstanceActionRequest'
1690       responses:
1691         '202':
1692           description: Accepted
1693           headers:
1694             Location:
1695               description: |
1696                 It must point to the new "NS Lifecycle Operation Occurrence"
1697                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
1698               schema:
1699                 type: string
1700                 format: uri
1701           content:
1702             application/json:
1703               schema:
1704                 $ref: '#/components/schemas/ObjectId'
1705             application/yaml:
1706               schema:
1707                 $ref: '#/components/schemas/ObjectId'
1708         '400':
1709           $ref: '#/components/responses/BadRequest'
1710         '401':
1711           $ref: '#/components/responses/Unauthorized'
1712         '403':
1713           $ref: '#/components/responses/Forbidden'
1714         '404':
1715           $ref: '#/components/responses/NotFound'
1716         '405':
1717           $ref: '#/components/responses/MethodNotAllowed'
1718         '406':
1719           $ref: '#/components/responses/NotAcceptable'
1720         '409':
1721           $ref: '#/components/responses/Conflict'
1722         '422':
1723           $ref: '#/components/responses/UnprocessableEntity'
1724         '500':
1725           $ref: '#/components/responses/InternalServerError'
1726         '503':
1727           $ref: '#/components/responses/ServiceUnavailable'
1728         '5XX':
1729           $ref: '#/components/responses/UnexpectedError'
1730         default:
1731           $ref: '#/components/responses/UnexpectedError'
1732   '/nslcm/v1/ns_instances_content':
1733     get:
1734       tags:
1735         - "NS instances"
1736       summary: Query information about multiple NS instances
1737       description: Query information about multiple NS isntances
1738       operationId: getNSinstancesContent
1739       responses:
1740         '200':
1741           description: OK
1742           content:
1743             application/json:
1744               schema:
1745                 $ref: '#/components/schemas/ArrayOfNsInstance'
1746             application/yaml:
1747               schema:
1748                 $ref: '#/components/schemas/ArrayOfNsInstance'
1749         '400':
1750           $ref: '#/components/responses/BadRequest'
1751         '401':
1752           $ref: '#/components/responses/Unauthorized'
1753         '403':
1754           $ref: '#/components/responses/Forbidden'
1755         '404':
1756           $ref: '#/components/responses/NotFound'
1757         '405':
1758           $ref: '#/components/responses/MethodNotAllowed'
1759         '406':
1760           $ref: '#/components/responses/NotAcceptable'
1761         '409':
1762           $ref: '#/components/responses/Conflict'
1763         '422':
1764           $ref: '#/components/responses/UnprocessableEntity'
1765         '500':
1766           $ref: '#/components/responses/InternalServerError'
1767         '503':
1768           $ref: '#/components/responses/ServiceUnavailable'
1769         '5XX':
1770           $ref: '#/components/responses/UnexpectedError'
1771         default:
1772           $ref: '#/components/responses/UnexpectedError'
1773     post:
1774       tags:
1775         - "NS instances"
1776       summary: Create a new NS instance
1777       description: Create a new NS instance
1778       operationId: createNSinstanceContent
1779       requestBody:
1780         $ref: '#/components/requestBodies/InstantiateNsRequest'
1781       responses:
1782         '201':
1783           description: Created
1784           headers:
1785             Location:
1786               schema:
1787                 type: string
1788                 format: uri
1789           content:
1790             application/json:
1791               schema:
1792                 $ref: '#/components/schemas/CreateNSinstanceContentResponse'
1793             application/yaml:
1794               schema:
1795                 $ref: '#/components/schemas/CreateNSinstanceContentResponse'
1796         '400':
1797           $ref: '#/components/responses/BadRequest'
1798         '401':
1799           $ref: '#/components/responses/Unauthorized'
1800         '403':
1801           $ref: '#/components/responses/Forbidden'
1802         '404':
1803           $ref: '#/components/responses/NotFound'
1804         '405':
1805           $ref: '#/components/responses/MethodNotAllowed'
1806         '406':
1807           $ref: '#/components/responses/NotAcceptable'
1808         '409':
1809           $ref: '#/components/responses/Conflict'
1810         '422':
1811           $ref: '#/components/responses/UnprocessableEntity'
1812         '500':
1813           $ref: '#/components/responses/InternalServerError'
1814         '503':
1815           $ref: '#/components/responses/ServiceUnavailable'
1816         '5XX':
1817           $ref: '#/components/responses/UnexpectedError'
1818         default:
1819           $ref: '#/components/responses/UnexpectedError'
1820   '/nslcm/v1/ns_instances_content/{nsInstanceContentId}':
1821     parameters:
1822       - name: nsInstanceContentId
1823         in: path
1824         required: true
1825         description: NS Instance Content ID
1826         schema:
1827           type: string
1828     get:
1829       tags:
1830         - "NS instances"
1831       summary: Read an individual NS instance resource
1832       description: Read an individual NS instance resource
1833       operationId: getNSinstanceContent
1834       responses:
1835         '200':
1836           description: OK
1837           content:
1838             application/json:
1839               schema:
1840                 $ref: '#/components/schemas/NsInstance'
1841             application/yaml:
1842               schema:
1843                 $ref: '#/components/schemas/NsInstance'
1844         '400':
1845           $ref: '#/components/responses/BadRequest'
1846         '401':
1847           $ref: '#/components/responses/Unauthorized'
1848         '403':
1849           $ref: '#/components/responses/Forbidden'
1850         '404':
1851           $ref: '#/components/responses/NotFound'
1852         '405':
1853           $ref: '#/components/responses/MethodNotAllowed'
1854         '406':
1855           $ref: '#/components/responses/NotAcceptable'
1856         '409':
1857           $ref: '#/components/responses/Conflict'
1858         '422':
1859           $ref: '#/components/responses/UnprocessableEntity'
1860         '500':
1861           $ref: '#/components/responses/InternalServerError'
1862         '503':
1863           $ref: '#/components/responses/ServiceUnavailable'
1864         '5XX':
1865           $ref: '#/components/responses/UnexpectedError'
1866         default:
1867           $ref: '#/components/responses/UnexpectedError'
1868     delete:
1869       tags:
1870         - "NS instances"
1871       summary: Delete an individual NS instance resource
1872       description: Delete an individual NS instance resource
1873       operationId: deleteNSinstanceContent
1874       responses:
1875         '202':
1876           description: Accepted
1877           content:
1878             application/json:
1879               schema:
1880                 $ref: '#/components/schemas/ObjectId'
1881             application/yaml:
1882               schema:
1883                 $ref: '#/components/schemas/ObjectId'
1884         '204':
1885           description: No Content
1886         '400':
1887           $ref: '#/components/responses/BadRequest'
1888         '401':
1889           $ref: '#/components/responses/Unauthorized'
1890         '403':
1891           $ref: '#/components/responses/Forbidden'
1892         '404':
1893           $ref: '#/components/responses/NotFound'
1894         '405':
1895           $ref: '#/components/responses/MethodNotAllowed'
1896         '406':
1897           $ref: '#/components/responses/NotAcceptable'
1898         '409':
1899           $ref: '#/components/responses/Conflict'
1900         '422':
1901           $ref: '#/components/responses/UnprocessableEntity'
1902         '500':
1903           $ref: '#/components/responses/InternalServerError'
1904         '503':
1905           $ref: '#/components/responses/ServiceUnavailable'
1906         '5XX':
1907           $ref: '#/components/responses/UnexpectedError'
1908         default:
1909           $ref: '#/components/responses/UnexpectedError'
1910   '/nslcm/v1/ns_lcm_op_occs':
1911     get:
1912       tags:
1913         - "NS instances"
1914       summary: Query information about multiple NS LCM Operation Occurrences
1915       description: Query information about multiple NS LCM Operation Occurrences
1916       operationId: getNSLCMOpOccs
1917       responses:
1918         '200':
1919           description: OK
1920           content:
1921             application/json:
1922               schema:
1923                 $ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
1924             application/yaml:
1925               schema:
1926                 $ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
1927         '400':
1928           $ref: '#/components/responses/BadRequest'
1929         '401':
1930           $ref: '#/components/responses/Unauthorized'
1931         '403':
1932           $ref: '#/components/responses/Forbidden'
1933         '404':
1934           $ref: '#/components/responses/NotFound'
1935         '405':
1936           $ref: '#/components/responses/MethodNotAllowed'
1937         '406':
1938           $ref: '#/components/responses/NotAcceptable'
1939         '409':
1940           $ref: '#/components/responses/Conflict'
1941         '422':
1942           $ref: '#/components/responses/UnprocessableEntity'
1943         '500':
1944           $ref: '#/components/responses/InternalServerError'
1945         '503':
1946           $ref: '#/components/responses/ServiceUnavailable'
1947         '5XX':
1948           $ref: '#/components/responses/UnexpectedError'
1949         default:
1950           $ref: '#/components/responses/UnexpectedError'
1951   '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}':
1952     parameters:
1953       - name: nsLcmOpOccId
1954         in: path
1955         required: true
1956         description: NS LCM Operation Occurrence ID
1957         schema:
1958           type: string
1959     get:
1960       tags:
1961         - "NS instances"
1962       summary: Query information about an individual NS LCM Operation Occurrence
1963       description: Query information about an individual NS LCM Operation Occurrence
1964       operationId: getNSLCMOpOcc
1965       responses:
1966         '200':
1967           description: OK
1968           content:
1969             application/json:
1970               schema:
1971                 $ref: '#/components/schemas/NsLcmOpOcc'
1972             application/yaml:
1973               schema:
1974                 $ref: '#/components/schemas/NsLcmOpOcc'
1975         '400':
1976           $ref: '#/components/responses/BadRequest'
1977         '401':
1978           $ref: '#/components/responses/Unauthorized'
1979         '403':
1980           $ref: '#/components/responses/Forbidden'
1981         '404':
1982           $ref: '#/components/responses/NotFound'
1983         '405':
1984           $ref: '#/components/responses/MethodNotAllowed'
1985         '406':
1986           $ref: '#/components/responses/NotAcceptable'
1987         '409':
1988           $ref: '#/components/responses/Conflict'
1989         '422':
1990           $ref: '#/components/responses/UnprocessableEntity'
1991         '500':
1992           $ref: '#/components/responses/InternalServerError'
1993         '503':
1994           $ref: '#/components/responses/ServiceUnavailable'
1995         '5XX':
1996           $ref: '#/components/responses/UnexpectedError'
1997         default:
1998           $ref: '#/components/responses/UnexpectedError'
1999   '/nslcm/v1/vnf_instances':
2000     get:
2001       tags:
2002         - "NS instances"
2003       summary: Query information about multiple VNF Instances
2004       description: Query information about multiple VNF Instances
2005       operationId: getVnfInstances
2006       responses:
2007         '200':
2008           description: OK
2009           content:
2010             application/json:
2011               schema:
2012                 $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
2013             application/yaml:
2014               schema:
2015                 $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
2016         '400':
2017           $ref: '#/components/responses/BadRequest'
2018         '401':
2019           $ref: '#/components/responses/Unauthorized'
2020         '403':
2021           $ref: '#/components/responses/Forbidden'
2022         '404':
2023           $ref: '#/components/responses/NotFound'
2024         '405':
2025           $ref: '#/components/responses/MethodNotAllowed'
2026         '406':
2027           $ref: '#/components/responses/NotAcceptable'
2028         '409':
2029           $ref: '#/components/responses/Conflict'
2030         '422':
2031           $ref: '#/components/responses/UnprocessableEntity'
2032         '500':
2033           $ref: '#/components/responses/InternalServerError'
2034         '503':
2035           $ref: '#/components/responses/ServiceUnavailable'
2036         '5XX':
2037           $ref: '#/components/responses/UnexpectedError'
2038         default:
2039           $ref: '#/components/responses/UnexpectedError'
2040   '/nslcm/v1/vnf_instances/{vnfInstanceId}':
2041     parameters:
2042       - name: vnfInstanceId
2043         in: path
2044         required: true
2045         description: VNF Instance ID
2046         schema:
2047           type: string
2048     get:
2049       tags:
2050         - "NS instances"
2051       summary: Query information about an individual VNF Instance
2052       description: Query information about an individual VNF Instance
2053       operationId: getVnfInstance
2054       responses:
2055         '200':
2056           description: OK
2057           content:
2058             application/json:
2059               schema:
2060                 $ref: '#/components/schemas/VnfInstanceInfo'
2061             application/yaml:
2062               schema:
2063                 $ref: '#/components/schemas/VnfInstanceInfo'
2064         '400':
2065           $ref: '#/components/responses/BadRequest'
2066         '401':
2067           $ref: '#/components/responses/Unauthorized'
2068         '403':
2069           $ref: '#/components/responses/Forbidden'
2070         '404':
2071           $ref: '#/components/responses/NotFound'
2072         '405':
2073           $ref: '#/components/responses/MethodNotAllowed'
2074         '406':
2075           $ref: '#/components/responses/NotAcceptable'
2076         '409':
2077           $ref: '#/components/responses/Conflict'
2078         '422':
2079           $ref: '#/components/responses/UnprocessableEntity'
2080         '500':
2081           $ref: '#/components/responses/InternalServerError'
2082         '503':
2083           $ref: '#/components/responses/ServiceUnavailable'
2084         '5XX':
2085           $ref: '#/components/responses/UnexpectedError'
2086         default:
2087           $ref: '#/components/responses/UnexpectedError'
2088   /nslcm/v1/subscriptions:
2089     get:
2090       tags:
2091         - NS instances
2092       summary: Query information about multiple NS instance subscription
2093       description: Query information about multiple NS instance subscription
2094       operationId: getNsSubcriptions
2095       responses:
2096         '200':
2097           description: OK
2098           content:
2099             application/json:
2100               schema:
2101                 $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
2102             application/yaml:
2103               schema:
2104                 $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
2105         '400':
2106           $ref: '#/components/responses/BadRequest'
2107         '401':
2108           $ref: '#/components/responses/Unauthorized'
2109         '403':
2110           $ref: '#/components/responses/Forbidden'
2111         '404':
2112           $ref: '#/components/responses/NotFound'
2113         '405':
2114           $ref: '#/components/responses/MethodNotAllowed'
2115         '406':
2116           $ref: '#/components/responses/NotAcceptable'
2117         '409':
2118           $ref: '#/components/responses/Conflict'
2119         '422':
2120           $ref: '#/components/responses/UnprocessableEntity'
2121         '500':
2122           $ref: '#/components/responses/InternalServerError'
2123         '503':
2124           $ref: '#/components/responses/ServiceUnavailable'
2125         5XX:
2126           $ref: '#/components/responses/UnexpectedError'
2127         default:
2128           $ref: '#/components/responses/UnexpectedError'
2129     post:
2130       tags:
2131         - NS instances
2132       summary: Create a new subscription for the Network service
2133       description: Create a new subscription for the Network service
2134       operationId: addNsSubcriptions
2135       requestBody:
2136         $ref: '#/components/requestBodies/NslcmSubscriptionRequest'
2137       responses:
2138         '201':
2139           description: Created
2140           headers:
2141             Location:
2142               schema:
2143                 type: object
2144           content:
2145             application/json:
2146               schema:
2147                 $ref: '#/components/schemas/NslcmSubscriptionResponse'
2148             application/yaml:
2149               schema:
2150                 $ref: '#/components/schemas/NslcmSubscriptionResponse'
2151         '400':
2152           $ref: '#/components/responses/BadRequest'
2153         '401':
2154           $ref: '#/components/responses/Unauthorized'
2155         '403':
2156           $ref: '#/components/responses/Forbidden'
2157         '404':
2158           $ref: '#/components/responses/NotFound'
2159         '405':
2160           $ref: '#/components/responses/MethodNotAllowed'
2161         '406':
2162           $ref: '#/components/responses/NotAcceptable'
2163         '409':
2164           $ref: '#/components/responses/Conflict'
2165         '422':
2166           $ref: '#/components/responses/UnprocessableEntity'
2167         '500':
2168           $ref: '#/components/responses/InternalServerError'
2169         '503':
2170           $ref: '#/components/responses/ServiceUnavailable'
2171         5XX:
2172           $ref: '#/components/responses/UnexpectedError'
2173         default:
2174           $ref: '#/components/responses/UnexpectedError'
2175   '/nslcm/v1/subscriptions/{nsSubscriptionsId}':
2176     parameters:
2177       - name: nsSubscriptionsId
2178         in: path
2179         required: true
2180         description: Network Service Subscription ID
2181         schema:
2182           type: string
2183     get:
2184       tags:
2185         - NS instances
2186       summary: Read information about an individual Network Service Subscription
2187       description: Read information about an individual Network Service Subscription
2188       operationId: getNsSubcriptionId
2189       responses:
2190         '200':
2191           description: OK
2192           content:
2193             application/json:
2194               schema:
2195                 $ref: '#/components/schemas/NslcmSubscriptionInfo'
2196             application/yaml:
2197               schema:
2198                 $ref: '#/components/schemas/NslcmSubscriptionInfo'
2199         '400':
2200           $ref: '#/components/responses/BadRequest'
2201         '401':
2202           $ref: '#/components/responses/Unauthorized'
2203         '403':
2204           $ref: '#/components/responses/Forbidden'
2205         '404':
2206           $ref: '#/components/responses/NotFound'
2207         '405':
2208           $ref: '#/components/responses/MethodNotAllowed'
2209         '406':
2210           $ref: '#/components/responses/NotAcceptable'
2211         '409':
2212           $ref: '#/components/responses/Conflict'
2213         '422':
2214           $ref: '#/components/responses/UnprocessableEntity'
2215         '500':
2216           $ref: '#/components/responses/InternalServerError'
2217         '503':
2218           $ref: '#/components/responses/ServiceUnavailable'
2219         5XX:
2220           $ref: '#/components/responses/UnexpectedError'
2221         default:
2222           $ref: '#/components/responses/UnexpectedError'
2223     delete:
2224       tags:
2225         - NS instances
2226       summary: Delete an individual Network Service Subscription
2227       description: Delete an individual Network Service Subscription
2228       operationId: deleteNsSubcriptionId
2229       responses:
2230         '204':
2231           description: No Content
2232         '400':
2233           $ref: '#/components/responses/BadRequest'
2234         '401':
2235           $ref: '#/components/responses/Unauthorized'
2236         '403':
2237           $ref: '#/components/responses/Forbidden'
2238         '404':
2239           $ref: '#/components/responses/NotFound'
2240         '405':
2241           $ref: '#/components/responses/MethodNotAllowed'
2242         '406':
2243           $ref: '#/components/responses/NotAcceptable'
2244         '409':
2245           $ref: '#/components/responses/Conflict'
2246         '422':
2247           $ref: '#/components/responses/UnprocessableEntity'
2248         '500':
2249           $ref: '#/components/responses/InternalServerError'
2250         '503':
2251           $ref: '#/components/responses/ServiceUnavailable'
2252         5XX:
2253           $ref: '#/components/responses/UnexpectedError'
2254         default:
2255           $ref: '#/components/responses/UnexpectedError'
2256 # END NS Instances
2257
2258 # BEGIN NetSlice Templates
2259   '/nst/v1/netslice_templates':
2260     get:
2261       tags:
2262         - "NetSlice templates"
2263       summary: Query information about multiple NetSlice template resources
2264       description: Query information about multiple NetSlice template resources
2265       operationId: getNSTs
2266       responses:
2267         '200':
2268           description: OK
2269           content:
2270             application/json:
2271               schema:
2272                 $ref: '#/components/schemas/ArrayOfNstInfo'
2273             application/yaml:
2274               schema:
2275                 $ref: '#/components/schemas/ArrayOfNstInfo'
2276         '400':
2277           $ref: '#/components/responses/BadRequest'
2278         '401':
2279           $ref: '#/components/responses/Unauthorized'
2280         '403':
2281           $ref: '#/components/responses/Forbidden'
2282         '404':
2283           $ref: '#/components/responses/NotFound'
2284         '405':
2285           $ref: '#/components/responses/MethodNotAllowed'
2286         '406':
2287           $ref: '#/components/responses/NotAcceptable'
2288         '409':
2289           $ref: '#/components/responses/Conflict'
2290         '422':
2291           $ref: '#/components/responses/UnprocessableEntity'
2292         '500':
2293           $ref: '#/components/responses/InternalServerError'
2294         '503':
2295           $ref: '#/components/responses/ServiceUnavailable'
2296         '5XX':
2297           $ref: '#/components/responses/UnexpectedError'
2298         default:
2299           $ref: '#/components/responses/UnexpectedError'
2300     post:
2301       tags:
2302         - "NetSlice templates"
2303       summary: Create a new NetSlice template resource
2304       description: Create a new NetSlice template resource
2305       operationId: addNST
2306       requestBody:
2307         $ref: '#/components/requestBodies/CreateNstInfoRequest'
2308       responses:
2309         '201':
2310           description: Created
2311           headers:
2312             Location:
2313               schema:
2314                 type: string
2315                 format: uri
2316           content:
2317             application/json:
2318               schema:
2319                 $ref: '#/components/schemas/ObjectId'
2320             application/yaml:
2321               schema:
2322                 $ref: '#/components/schemas/ObjectId'
2323         '400':
2324           $ref: '#/components/responses/BadRequest'
2325         '401':
2326           $ref: '#/components/responses/Unauthorized'
2327         '403':
2328           $ref: '#/components/responses/Forbidden'
2329         '404':
2330           $ref: '#/components/responses/NotFound'
2331         '405':
2332           $ref: '#/components/responses/MethodNotAllowed'
2333         '406':
2334           $ref: '#/components/responses/NotAcceptable'
2335         '409':
2336           $ref: '#/components/responses/Conflict'
2337         '422':
2338           $ref: '#/components/responses/UnprocessableEntity'
2339         '500':
2340           $ref: '#/components/responses/InternalServerError'
2341         '503':
2342           $ref: '#/components/responses/ServiceUnavailable'
2343         '5XX':
2344           $ref: '#/components/responses/UnexpectedError'
2345         default:
2346           $ref: '#/components/responses/UnexpectedError'
2347   '/nst/v1/netslice_templates/{netsliceTemplateId}':
2348     parameters:
2349       - name: netsliceTemplateId
2350         in: path
2351         required: true
2352         description: NetSlice Template ID
2353         schema:
2354           type: string
2355     get:
2356       tags:
2357         - "NetSlice templates"
2358       summary: Read information about an individual NetSlice template resource
2359       description: Read information about an individual NetSlice template resource
2360       operationId: getNST
2361       responses:
2362         '200':
2363           description: OK
2364           content:
2365             application/json:
2366               schema:
2367                 $ref: '#/components/schemas/NstInfo'
2368             application/yaml:
2369               schema:
2370                 $ref: '#/components/schemas/NstInfo'
2371         '400':
2372           $ref: '#/components/responses/BadRequest'
2373         '401':
2374           $ref: '#/components/responses/Unauthorized'
2375         '403':
2376           $ref: '#/components/responses/Forbidden'
2377         '404':
2378           $ref: '#/components/responses/NotFound'
2379         '405':
2380           $ref: '#/components/responses/MethodNotAllowed'
2381         '406':
2382           $ref: '#/components/responses/NotAcceptable'
2383         '409':
2384           $ref: '#/components/responses/Conflict'
2385         '422':
2386           $ref: '#/components/responses/UnprocessableEntity'
2387         '500':
2388           $ref: '#/components/responses/InternalServerError'
2389         '503':
2390           $ref: '#/components/responses/ServiceUnavailable'
2391         '5XX':
2392           $ref: '#/components/responses/UnexpectedError'
2393         default:
2394           $ref: '#/components/responses/UnexpectedError'
2395     delete:
2396       tags:
2397         - "NetSlice templates"
2398       summary: Delete an individual NetSlice template resource
2399       description: Delete an individual NetSlice template resource
2400       operationId: deleteNST
2401       responses:
2402         '204':
2403           description: No Content
2404         '400':
2405           $ref: '#/components/responses/BadRequest'
2406         '401':
2407           $ref: '#/components/responses/Unauthorized'
2408         '403':
2409           $ref: '#/components/responses/Forbidden'
2410         '404':
2411           $ref: '#/components/responses/NotFound'
2412         '405':
2413           $ref: '#/components/responses/MethodNotAllowed'
2414         '406':
2415           $ref: '#/components/responses/NotAcceptable'
2416         '409':
2417           $ref: '#/components/responses/Conflict'
2418         '422':
2419           $ref: '#/components/responses/UnprocessableEntity'
2420         '500':
2421           $ref: '#/components/responses/InternalServerError'
2422         '503':
2423           $ref: '#/components/responses/ServiceUnavailable'
2424         '5XX':
2425           $ref: '#/components/responses/UnexpectedError'
2426         default:
2427           $ref: '#/components/responses/UnexpectedError'
2428   '/nst/v1/netslice_templates/{netsliceTemplateId}/artifacts/{artifactPath}':
2429     parameters:
2430       - name: netsliceTemplateId
2431         in: path
2432         required: true
2433         description: NetSlice Template ID
2434         schema:
2435           type: string
2436       - name: artifactPath
2437         in: path
2438         required: true
2439         description: Artifact Path
2440         schema:
2441           type: string
2442     get:
2443       tags:
2444         - "NetSlice templates"
2445       summary: Fetch individual NetSlice Template artifact
2446       description: Fetch individual NetSlice Template artifact
2447       operationId: getNstArtifact
2448       responses:
2449         '200':
2450           description: OK
2451           content:
2452             application/octet-stream:
2453               schema:
2454                 type: string
2455                 format: binary
2456         '206':
2457           description: Partial Content
2458           headers:
2459             Content-Range:
2460               schema:
2461                 type: string
2462           content:
2463             application/octet-stream:
2464               schema:
2465                 type: string
2466                 format: binary
2467         '400':
2468           $ref: '#/components/responses/BadRequest'
2469         '401':
2470           $ref: '#/components/responses/Unauthorized'
2471         '403':
2472           $ref: '#/components/responses/Forbidden'
2473         '404':
2474           $ref: '#/components/responses/NotFound'
2475         '405':
2476           $ref: '#/components/responses/MethodNotAllowed'
2477         '406':
2478           $ref: '#/components/responses/NotAcceptable'
2479         '409':
2480           $ref: '#/components/responses/Conflict'
2481         '422':
2482           $ref: '#/components/responses/UnprocessableEntity'
2483         '500':
2484           $ref: '#/components/responses/InternalServerError'
2485         '503':
2486           $ref: '#/components/responses/ServiceUnavailable'
2487         '5XX':
2488           $ref: '#/components/responses/UnexpectedError'
2489         default:
2490           $ref: '#/components/responses/UnexpectedError'
2491   '/nst/v1/netslice_templates/{netsliceTemplateId}/nst':
2492     parameters:
2493       - name: netsliceTemplateId
2494         in: path
2495         required: true
2496         description: NetSlice Template ID
2497         schema:
2498           type: string
2499     get:
2500       tags:
2501         - "NetSlice templates"
2502       summary: Read NST of an on-boarded NetSlice Template
2503       description: Read NST of an on-boarded NetSlice Template
2504       operationId: getNstNst
2505       responses:
2506         '200':
2507           description: OK
2508           content:
2509             text/plain:
2510               schema:
2511                 $ref: '#/components/schemas/NetSliceTemplate'
2512         '400':
2513           $ref: '#/components/responses/BadRequest'
2514         '401':
2515           $ref: '#/components/responses/Unauthorized'
2516         '403':
2517           $ref: '#/components/responses/Forbidden'
2518         '404':
2519           $ref: '#/components/responses/NotFound'
2520         '405':
2521           $ref: '#/components/responses/MethodNotAllowed'
2522         '406':
2523           $ref: '#/components/responses/NotAcceptable'
2524         '409':
2525           $ref: '#/components/responses/Conflict'
2526         '422':
2527           $ref: '#/components/responses/UnprocessableEntity'
2528         '500':
2529           $ref: '#/components/responses/InternalServerError'
2530         '503':
2531           $ref: '#/components/responses/ServiceUnavailable'
2532         '5XX':
2533           $ref: '#/components/responses/UnexpectedError'
2534         default:
2535           $ref: '#/components/responses/UnexpectedError'
2536   '/nst/v1/netslice_templates/{netsliceTemplateId}/nst_content':
2537     parameters:
2538       - name: netsliceTemplateId
2539         in: path
2540         required: true
2541         description: NetSlice Template ID
2542         schema:
2543           type: string
2544     get:
2545       tags:
2546         - "NetSlice templates"
2547       summary: Fetch the content of a NST
2548       description: Fetch the content of a NST
2549       operationId: getNSTcontent
2550       responses:
2551         '200':
2552           description: OK
2553           content:
2554             application/zip:
2555               schema:
2556                 $ref: '#/components/schemas/NetSlicePackage'
2557         '206':
2558           description: Partial Content
2559           headers:
2560             Content-Range:
2561               schema:
2562                 type: string
2563           content:
2564             application/zip:
2565               schema:
2566                 $ref: '#/components/schemas/NetSlicePackage'
2567         '400':
2568           $ref: '#/components/responses/BadRequest'
2569         '401':
2570           $ref: '#/components/responses/Unauthorized'
2571         '403':
2572           $ref: '#/components/responses/Forbidden'
2573         '404':
2574           $ref: '#/components/responses/NotFound'
2575         '405':
2576           $ref: '#/components/responses/MethodNotAllowed'
2577         '406':
2578           $ref: '#/components/responses/NotAcceptable'
2579         '409':
2580           $ref: '#/components/responses/Conflict'
2581         '422':
2582           $ref: '#/components/responses/UnprocessableEntity'
2583         '500':
2584           $ref: '#/components/responses/InternalServerError'
2585         '503':
2586           $ref: '#/components/responses/ServiceUnavailable'
2587         '5XX':
2588           $ref: '#/components/responses/UnexpectedError'
2589         default:
2590           $ref: '#/components/responses/UnexpectedError'
2591     put:
2592       tags:
2593         - "NetSlice templates"
2594       summary: Upload the content of a NST
2595       description: Upload the content of a NST
2596       operationId: updateNSTcontent
2597       requestBody:
2598         $ref: '#/components/requestBodies/NetSlicePackage'
2599       responses:
2600         '202':
2601           description: Accepted
2602         '204':
2603           description: No Content
2604         '400':
2605           $ref: '#/components/responses/BadRequest'
2606         '401':
2607           $ref: '#/components/responses/Unauthorized'
2608         '403':
2609           $ref: '#/components/responses/Forbidden'
2610         '404':
2611           $ref: '#/components/responses/NotFound'
2612         '405':
2613           $ref: '#/components/responses/MethodNotAllowed'
2614         '406':
2615           $ref: '#/components/responses/NotAcceptable'
2616         '409':
2617           $ref: '#/components/responses/Conflict'
2618         '422':
2619           $ref: '#/components/responses/UnprocessableEntity'
2620         '500':
2621           $ref: '#/components/responses/InternalServerError'
2622         '503':
2623           $ref: '#/components/responses/ServiceUnavailable'
2624         '5XX':
2625           $ref: '#/components/responses/UnexpectedError'
2626         default:
2627           $ref: '#/components/responses/UnexpectedError'
2628   '/nst/v1/netslice_templates_content':
2629     post:
2630       tags:
2631         - "NetSlice templates"
2632       summary: Upload a NetSlice package by providing the content of the NetSlice package
2633       description: Upload a NetSlice package by providing the content of the NetSlice package
2634       operationId: uploadNstContent
2635       requestBody:
2636         content:
2637           application/zip:
2638             schema:
2639               $ref: '#/components/schemas/NetSlicePackage'
2640       responses:
2641         '201':
2642           description: Created
2643           headers:
2644             Location:
2645               schema:
2646                 type: string
2647                 format: uri
2648           content:
2649             application/json:
2650               schema:
2651                 $ref: '#/components/schemas/ObjectId'
2652             application/yaml:
2653               schema:
2654                 $ref: '#/components/schemas/ObjectId'
2655         '202':
2656           description: Accepted
2657         '204':
2658           description: No Content
2659         '400':
2660           $ref: '#/components/responses/BadRequest'
2661         '401':
2662           $ref: '#/components/responses/Unauthorized'
2663         '403':
2664           $ref: '#/components/responses/Forbidden'
2665         '404':
2666           $ref: '#/components/responses/NotFound'
2667         '405':
2668           $ref: '#/components/responses/MethodNotAllowed'
2669         '406':
2670           $ref: '#/components/responses/NotAcceptable'
2671         '409':
2672           $ref: '#/components/responses/Conflict'
2673         '422':
2674           $ref: '#/components/responses/UnprocessableEntity'
2675         '500':
2676           $ref: '#/components/responses/InternalServerError'
2677         '503':
2678           $ref: '#/components/responses/ServiceUnavailable'
2679         '5XX':
2680           $ref: '#/components/responses/UnexpectedError'
2681         default:
2682           $ref: '#/components/responses/UnexpectedError'
2683     get:
2684       tags:
2685         - "NetSlice templates"
2686       summary: Query information about multiple NetSlice Template resources
2687       description: Query information about multiple NetSlice Template resources
2688       operationId: getNstContent
2689       responses:
2690         '200':
2691           description: OK
2692           content:
2693             application/json:
2694               schema:
2695                 $ref: '#/components/schemas/ArrayOfNstInfo'
2696             application/yaml:
2697               schema:
2698                 $ref: '#/components/schemas/ArrayOfNstInfo'
2699         '206':
2700           description: Partial Content
2701           headers:
2702             Content-Range:
2703               schema:
2704                 type: string
2705           content:
2706             application/octet-stream:
2707               schema:
2708                 type: string
2709                 format: binary
2710         '400':
2711           $ref: '#/components/responses/BadRequest'
2712         '401':
2713           $ref: '#/components/responses/Unauthorized'
2714         '403':
2715           $ref: '#/components/responses/Forbidden'
2716         '404':
2717           $ref: '#/components/responses/NotFound'
2718         '405':
2719           $ref: '#/components/responses/MethodNotAllowed'
2720         '406':
2721           $ref: '#/components/responses/NotAcceptable'
2722         '409':
2723           $ref: '#/components/responses/Conflict'
2724         '422':
2725           $ref: '#/components/responses/UnprocessableEntity'
2726         '500':
2727           $ref: '#/components/responses/InternalServerError'
2728         '503':
2729           $ref: '#/components/responses/ServiceUnavailable'
2730         '5XX':
2731           $ref: '#/components/responses/UnexpectedError'
2732         default:
2733           $ref: '#/components/responses/UnexpectedError'
2734   '/nst/v1/netslice_templates_content/{netsliceTemplateContentId}':
2735     parameters:
2736       - name: netsliceTemplateContentId
2737         in: path
2738         required: true
2739         description: NetSlice Template ID
2740         schema:
2741           type: string
2742     get:
2743       tags:
2744         - "NetSlice templates"
2745       summary: Read information about an individual NetSlice Template resource
2746       description: Read information about an individual NetSlice Template resource
2747       operationId: getNstIdContent
2748       responses:
2749         '200':
2750           description: OK
2751           content:
2752             application/json:
2753               schema:
2754                 $ref: '#/components/schemas/NstInfo'
2755             application/yaml:
2756               schema:
2757                 $ref: '#/components/schemas/NstInfo'
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     put:
2783       tags:
2784         - "NetSlice templates"
2785       summary: Modify an individual NetSlice Template resource
2786       description: Modify an individual NetSlice Template resource
2787       operationId: updateNstIdContent
2788       requestBody:
2789         $ref: '#/components/requestBodies/NstInfoModifications'
2790       responses:
2791         '204':
2792           description: No Content
2793         '400':
2794           $ref: '#/components/responses/BadRequest'
2795         '401':
2796           $ref: '#/components/responses/Unauthorized'
2797         '403':
2798           $ref: '#/components/responses/Forbidden'
2799         '404':
2800           $ref: '#/components/responses/NotFound'
2801         '405':
2802           $ref: '#/components/responses/MethodNotAllowed'
2803         '406':
2804           $ref: '#/components/responses/NotAcceptable'
2805         '409':
2806           $ref: '#/components/responses/Conflict'
2807         '422':
2808           $ref: '#/components/responses/UnprocessableEntity'
2809         '500':
2810           $ref: '#/components/responses/InternalServerError'
2811         '503':
2812           $ref: '#/components/responses/ServiceUnavailable'
2813         '5XX':
2814           $ref: '#/components/responses/UnexpectedError'
2815         default:
2816           $ref: '#/components/responses/UnexpectedError'
2817     delete:
2818       tags:
2819         - "NetSlice templates"
2820       summary: Delete an individual NetSlice Template resource
2821       description: Delete an individual NetSlice Template resource
2822       operationId: deleteNstIdContent
2823       responses:
2824         '204':
2825           description: No Content
2826         '400':
2827           $ref: '#/components/responses/BadRequest'
2828         '401':
2829           $ref: '#/components/responses/Unauthorized'
2830         '403':
2831           $ref: '#/components/responses/Forbidden'
2832         '404':
2833           $ref: '#/components/responses/NotFound'
2834         '405':
2835           $ref: '#/components/responses/MethodNotAllowed'
2836         '406':
2837           $ref: '#/components/responses/NotAcceptable'
2838         '409':
2839           $ref: '#/components/responses/Conflict'
2840         '422':
2841           $ref: '#/components/responses/UnprocessableEntity'
2842         '500':
2843           $ref: '#/components/responses/InternalServerError'
2844         '503':
2845           $ref: '#/components/responses/ServiceUnavailable'
2846         '5XX':
2847           $ref: '#/components/responses/UnexpectedError'
2848         default:
2849           $ref: '#/components/responses/UnexpectedError'
2850 # END NetSlice Templates
2851
2852 # BEGIN NetSlice Instances
2853   '/nsilcm/v1/netslice_instances':
2854     get:
2855       tags:
2856         - "NetSlice instances"
2857       summary: Query information about multiple NetSlice instances
2858       description: Query information about multiple NetSlice isntances
2859       operationId: getNSIs
2860       responses:
2861         '200':
2862           description: OK
2863           content:
2864             application/json:
2865               schema:
2866                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
2867             application/yaml:
2868               schema:
2869                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
2870         '400':
2871           $ref: '#/components/responses/BadRequest'
2872         '401':
2873           $ref: '#/components/responses/Unauthorized'
2874         '403':
2875           $ref: '#/components/responses/Forbidden'
2876         '404':
2877           $ref: '#/components/responses/NotFound'
2878         '405':
2879           $ref: '#/components/responses/MethodNotAllowed'
2880         '406':
2881           $ref: '#/components/responses/NotAcceptable'
2882         '409':
2883           $ref: '#/components/responses/Conflict'
2884         '422':
2885           $ref: '#/components/responses/UnprocessableEntity'
2886         '500':
2887           $ref: '#/components/responses/InternalServerError'
2888         '503':
2889           $ref: '#/components/responses/ServiceUnavailable'
2890         '5XX':
2891           $ref: '#/components/responses/UnexpectedError'
2892         default:
2893           $ref: '#/components/responses/UnexpectedError'
2894     post:
2895       tags:
2896         - "NetSlice instances"
2897       summary: Create a new NetSlice instance resource
2898       description: Create a new NetSlice instance resource
2899       operationId: addNSI
2900       requestBody:
2901         $ref: '#/components/requestBodies/InstantiateNsiRequest'
2902       responses:
2903         '201':
2904           description: Created
2905           headers:
2906             Location:
2907               schema:
2908                 type: string
2909                 format: uri
2910           content:
2911             application/json:
2912               schema:
2913                 $ref: '#/components/schemas/ObjectId'
2914             application/yaml:
2915               schema:
2916                 $ref: '#/components/schemas/ObjectId'
2917         '400':
2918           $ref: '#/components/responses/BadRequest'
2919         '401':
2920           $ref: '#/components/responses/Unauthorized'
2921         '403':
2922           $ref: '#/components/responses/Forbidden'
2923         '404':
2924           $ref: '#/components/responses/NotFound'
2925         '405':
2926           $ref: '#/components/responses/MethodNotAllowed'
2927         '406':
2928           $ref: '#/components/responses/NotAcceptable'
2929         '409':
2930           $ref: '#/components/responses/Conflict'
2931         '422':
2932           $ref: '#/components/responses/UnprocessableEntity'
2933         '500':
2934           $ref: '#/components/responses/InternalServerError'
2935         '503':
2936           $ref: '#/components/responses/ServiceUnavailable'
2937         '5XX':
2938           $ref: '#/components/responses/UnexpectedError'
2939         default:
2940           $ref: '#/components/responses/UnexpectedError'
2941   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}':
2942     parameters:
2943       - name: netsliceInstanceId
2944         in: path
2945         required: true
2946         description: NetSlice Instance ID
2947         schema:
2948           type: string
2949     get:
2950       tags:
2951         - "NetSlice instances"
2952       summary: Read an individual NetSlice instance resource
2953       description: Read an individual NetSlice instance resource
2954       operationId: getNSI
2955       responses:
2956         '200':
2957           description: OK
2958           content:
2959             application/json:
2960               schema:
2961                 $ref: '#/components/schemas/NetSliceInstance'
2962             application/yaml:
2963               schema:
2964                 $ref: '#/components/schemas/NetSliceInstance'
2965         '400':
2966           $ref: '#/components/responses/BadRequest'
2967         '401':
2968           $ref: '#/components/responses/Unauthorized'
2969         '403':
2970           $ref: '#/components/responses/Forbidden'
2971         '404':
2972           $ref: '#/components/responses/NotFound'
2973         '405':
2974           $ref: '#/components/responses/MethodNotAllowed'
2975         '406':
2976           $ref: '#/components/responses/NotAcceptable'
2977         '409':
2978           $ref: '#/components/responses/Conflict'
2979         '422':
2980           $ref: '#/components/responses/UnprocessableEntity'
2981         '500':
2982           $ref: '#/components/responses/InternalServerError'
2983         '503':
2984           $ref: '#/components/responses/ServiceUnavailable'
2985         '5XX':
2986           $ref: '#/components/responses/UnexpectedError'
2987         default:
2988           $ref: '#/components/responses/UnexpectedError'
2989     delete:
2990       tags:
2991         - "NetSlice instances"
2992       summary: Delete an individual NetSlice instance resource
2993       description: Delete an individual NetSlice instance resource
2994       operationId: deleteNSI
2995       responses:
2996         '204':
2997           description: No Content
2998         '400':
2999           $ref: '#/components/responses/BadRequest'
3000         '401':
3001           $ref: '#/components/responses/Unauthorized'
3002         '403':
3003           $ref: '#/components/responses/Forbidden'
3004         '404':
3005           $ref: '#/components/responses/NotFound'
3006         '405':
3007           $ref: '#/components/responses/MethodNotAllowed'
3008         '406':
3009           $ref: '#/components/responses/NotAcceptable'
3010         '409':
3011           $ref: '#/components/responses/Conflict'
3012         '422':
3013           $ref: '#/components/responses/UnprocessableEntity'
3014         '500':
3015           $ref: '#/components/responses/InternalServerError'
3016         '503':
3017           $ref: '#/components/responses/ServiceUnavailable'
3018         '5XX':
3019           $ref: '#/components/responses/UnexpectedError'
3020         default:
3021           $ref: '#/components/responses/UnexpectedError'
3022   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/instantiate':
3023     parameters:
3024       - name: netsliceInstanceId
3025         in: path
3026         required: true
3027         description: NetSlice Instance ID
3028         schema:
3029           type: string
3030     post:
3031       tags:
3032         - "NetSlice instances"
3033       summary: Instantiate a NetSlice
3034       description: |
3035         Instantiate a NetSlice. The precondition is that the NetSlice instance
3036         must have been created and must be in NOT_INSTANTIATED state. As a result
3037         of the success of this operation, the NFVO creates a "NetSlice Lifecycle
3038         Operation Occurrence" resource for the request, and the NS instance state
3039         becomes INSTANTIATED.
3040       operationId: instantiateNSI
3041       requestBody:
3042         $ref: '#/components/requestBodies/InstantiateNsiRequest'
3043       responses:
3044         '202':
3045           description: Accepted
3046           headers:
3047             Location:
3048               description: |
3049                 It must point to the new "NetSlice Lifecycle Operation Occurrence"
3050                 resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
3051               schema:
3052                 type: string
3053                 format: uri
3054           content:
3055             application/json:
3056               schema:
3057                 $ref: '#/components/schemas/ObjectId'
3058             application/yaml:
3059               schema:
3060                 $ref: '#/components/schemas/ObjectId'
3061         '400':
3062           $ref: '#/components/responses/BadRequest'
3063         '401':
3064           $ref: '#/components/responses/Unauthorized'
3065         '403':
3066           $ref: '#/components/responses/Forbidden'
3067         '404':
3068           $ref: '#/components/responses/NotFound'
3069         '405':
3070           $ref: '#/components/responses/MethodNotAllowed'
3071         '406':
3072           $ref: '#/components/responses/NotAcceptable'
3073         '409':
3074           $ref: '#/components/responses/Conflict'
3075         '422':
3076           $ref: '#/components/responses/UnprocessableEntity'
3077         '500':
3078           $ref: '#/components/responses/InternalServerError'
3079         '503':
3080           $ref: '#/components/responses/ServiceUnavailable'
3081         '5XX':
3082           $ref: '#/components/responses/UnexpectedError'
3083         default:
3084           $ref: '#/components/responses/UnexpectedError'
3085   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/terminate':
3086     parameters:
3087       - name: netsliceInstanceId
3088         in: path
3089         required: true
3090         description: NetSlice Instance ID
3091         schema:
3092           type: string
3093     post:
3094       tags:
3095         - "NetSlice instances"
3096       summary: Terminate a NetSlice instance
3097       description: |
3098         Terminate a NetSlice instance. The precondition is that the NetSlice instance
3099         must have been created and must be in INSTANTIATED state. As a result of the
3100         success of this operation, the NFVO creates a "NetSlice Lifecycle Operation
3101         Occurrence" resource for the request, and the NetSlice instance state becomes
3102         NOT_INSTANTIATED.
3103       operationId: terminateNSI
3104       requestBody:
3105         # Request data is not required
3106         $ref: '#/components/requestBodies/TerminateNsiRequest'
3107       responses:
3108         '202':
3109           description: Accepted
3110           headers:
3111             Location:
3112               description: |
3113                 It must point to the new "NetSlice Lifecycle Operation Occurrence"
3114                 resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
3115               schema:
3116                 type: string
3117                 format: uri
3118           content:
3119             application/json:
3120               schema:
3121                 $ref: '#/components/schemas/ObjectId'
3122             application/yaml:
3123               schema:
3124                 $ref: '#/components/schemas/ObjectId'
3125         '400':
3126           $ref: '#/components/responses/BadRequest'
3127         '401':
3128           $ref: '#/components/responses/Unauthorized'
3129         '403':
3130           $ref: '#/components/responses/Forbidden'
3131         '404':
3132           $ref: '#/components/responses/NotFound'
3133         '405':
3134           $ref: '#/components/responses/MethodNotAllowed'
3135         '406':
3136           $ref: '#/components/responses/NotAcceptable'
3137         '409':
3138           $ref: '#/components/responses/Conflict'
3139         '422':
3140           $ref: '#/components/responses/UnprocessableEntity'
3141         '500':
3142           $ref: '#/components/responses/InternalServerError'
3143         '503':
3144           $ref: '#/components/responses/ServiceUnavailable'
3145         '5XX':
3146           $ref: '#/components/responses/UnexpectedError'
3147         default:
3148           $ref: '#/components/responses/UnexpectedError'
3149   '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/action':
3150     parameters:
3151       - name: netsliceInstanceId
3152         in: path
3153         required: true
3154         description: NetSlice Instance ID
3155         schema:
3156           type: string
3157     post:
3158       tags:
3159         - "NetSlice instances"
3160       summary: Execute an action on a NetSlice instance
3161       description: |
3162         Execute an action on a NetSlice instance.
3163         The NetSlice instance must have been created and must be in INSTANTIATED state.
3164       operationId: actionOnNSI
3165       requestBody:
3166         content:
3167           application/json:
3168             schema:
3169               $ref: '#/components/schemas/NsiActionRequest'
3170           application/yaml:
3171             schema:
3172               $ref: '#/components/schemas/NsiActionRequest'
3173       responses:
3174         '202':
3175           description: Accepted
3176           headers:
3177             Location:
3178               description: |
3179                 It must point to the new "NS Lifecycle Operation Occurrence"
3180                 resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
3181               schema:
3182                 type: string
3183                 format: uri
3184           content:
3185             application/json:
3186               schema:
3187                 $ref: '#/components/schemas/ObjectId'
3188             application/yaml:
3189               schema:
3190                 $ref: '#/components/schemas/ObjectId'
3191         '400':
3192           $ref: '#/components/responses/BadRequest'
3193         '401':
3194           $ref: '#/components/responses/Unauthorized'
3195         '403':
3196           $ref: '#/components/responses/Forbidden'
3197         '404':
3198           $ref: '#/components/responses/NotFound'
3199         '405':
3200           $ref: '#/components/responses/MethodNotAllowed'
3201         '406':
3202           $ref: '#/components/responses/NotAcceptable'
3203         '409':
3204           $ref: '#/components/responses/Conflict'
3205         '422':
3206           $ref: '#/components/responses/UnprocessableEntity'
3207         '500':
3208           $ref: '#/components/responses/InternalServerError'
3209         '503':
3210           $ref: '#/components/responses/ServiceUnavailable'
3211         '5XX':
3212           $ref: '#/components/responses/UnexpectedError'
3213         default:
3214           $ref: '#/components/responses/UnexpectedError'
3215   '/nsilcm/v1/netslice_instances_content':
3216     get:
3217       tags:
3218         - "NetSlice instances"
3219       summary: Query information about multiple NetSlice instances
3220       description: Query information about multiple NetSlice isntances
3221       operationId: getNSIsContent
3222       responses:
3223         '200':
3224           description: OK
3225           content:
3226             application/json:
3227               schema:
3228                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3229             application/yaml:
3230               schema:
3231                 $ref: '#/components/schemas/ArrayOfNetSliceInstance'
3232         '400':
3233           $ref: '#/components/responses/BadRequest'
3234         '401':
3235           $ref: '#/components/responses/Unauthorized'
3236         '403':
3237           $ref: '#/components/responses/Forbidden'
3238         '404':
3239           $ref: '#/components/responses/NotFound'
3240         '405':
3241           $ref: '#/components/responses/MethodNotAllowed'
3242         '406':
3243           $ref: '#/components/responses/NotAcceptable'
3244         '409':
3245           $ref: '#/components/responses/Conflict'
3246         '422':
3247           $ref: '#/components/responses/UnprocessableEntity'
3248         '500':
3249           $ref: '#/components/responses/InternalServerError'
3250         '503':
3251           $ref: '#/components/responses/ServiceUnavailable'
3252         '5XX':
3253           $ref: '#/components/responses/UnexpectedError'
3254         default:
3255           $ref: '#/components/responses/UnexpectedError'
3256     post:
3257       tags:
3258         - "NetSlice instances"
3259       summary: Create a new NetSlice instance
3260       description: Create a new NetSlice instance
3261       operationId: createNSIContent
3262       requestBody:
3263         $ref: '#/components/requestBodies/InstantiateNsiRequest'
3264       responses:
3265         '201':
3266           description: Created
3267           headers:
3268             Location:
3269               schema:
3270                 type: string
3271                 format: uri
3272           content:
3273             application/json:
3274               schema:
3275                 $ref: '#/components/schemas/CreateNsiContentResponse'
3276             application/yaml:
3277               schema:
3278                 $ref: '#/components/schemas/CreateNsiContentResponse'
3279         '400':
3280           $ref: '#/components/responses/BadRequest'
3281         '401':
3282           $ref: '#/components/responses/Unauthorized'
3283         '403':
3284           $ref: '#/components/responses/Forbidden'
3285         '404':
3286           $ref: '#/components/responses/NotFound'
3287         '405':
3288           $ref: '#/components/responses/MethodNotAllowed'
3289         '406':
3290           $ref: '#/components/responses/NotAcceptable'
3291         '409':
3292           $ref: '#/components/responses/Conflict'
3293         '422':
3294           $ref: '#/components/responses/UnprocessableEntity'
3295         '500':
3296           $ref: '#/components/responses/InternalServerError'
3297         '503':
3298           $ref: '#/components/responses/ServiceUnavailable'
3299         '5XX':
3300           $ref: '#/components/responses/UnexpectedError'
3301         default:
3302           $ref: '#/components/responses/UnexpectedError'
3303   '/nsilcm/v1/netslice_instances_content/{netsliceInstanceContentId}':
3304     parameters:
3305       - name: netsliceInstanceContentId
3306         in: path
3307         required: true
3308         description: NetSlice Instance Content ID
3309         schema:
3310           type: string
3311     get:
3312       tags:
3313         - "NetSlice instances"
3314       summary: Read an individual NetSlice instance resource
3315       description: Read an individual NetSlice instance resource
3316       operationId: getNSIContent
3317       responses:
3318         '200':
3319           description: OK
3320           content:
3321             application/json:
3322               schema:
3323                 $ref: '#/components/schemas/NetSliceInstance'
3324             application/yaml:
3325               schema:
3326                 $ref: '#/components/schemas/NetSliceInstance'
3327         '400':
3328           $ref: '#/components/responses/BadRequest'
3329         '401':
3330           $ref: '#/components/responses/Unauthorized'
3331         '403':
3332           $ref: '#/components/responses/Forbidden'
3333         '404':
3334           $ref: '#/components/responses/NotFound'
3335         '405':
3336           $ref: '#/components/responses/MethodNotAllowed'
3337         '406':
3338           $ref: '#/components/responses/NotAcceptable'
3339         '409':
3340           $ref: '#/components/responses/Conflict'
3341         '422':
3342           $ref: '#/components/responses/UnprocessableEntity'
3343         '500':
3344           $ref: '#/components/responses/InternalServerError'
3345         '503':
3346           $ref: '#/components/responses/ServiceUnavailable'
3347         '5XX':
3348           $ref: '#/components/responses/UnexpectedError'
3349         default:
3350           $ref: '#/components/responses/UnexpectedError'
3351     delete:
3352       tags:
3353         - "NetSlice instances"
3354       summary: Delete an individual NS instance resource
3355       description: Delete an individual NS instance resource
3356       operationId: deleteNSIContent
3357       responses:
3358         '202':
3359           description: Accepted
3360           content:
3361             application/json:
3362               schema:
3363                 $ref: '#/components/schemas/ObjectId'
3364             application/yaml:
3365               schema:
3366                 $ref: '#/components/schemas/ObjectId'
3367         '204':
3368           description: No Content
3369         '400':
3370           $ref: '#/components/responses/BadRequest'
3371         '401':
3372           $ref: '#/components/responses/Unauthorized'
3373         '403':
3374           $ref: '#/components/responses/Forbidden'
3375         '404':
3376           $ref: '#/components/responses/NotFound'
3377         '405':
3378           $ref: '#/components/responses/MethodNotAllowed'
3379         '406':
3380           $ref: '#/components/responses/NotAcceptable'
3381         '409':
3382           $ref: '#/components/responses/Conflict'
3383         '422':
3384           $ref: '#/components/responses/UnprocessableEntity'
3385         '500':
3386           $ref: '#/components/responses/InternalServerError'
3387         '503':
3388           $ref: '#/components/responses/ServiceUnavailable'
3389         '5XX':
3390           $ref: '#/components/responses/UnexpectedError'
3391         default:
3392           $ref: '#/components/responses/UnexpectedError'
3393   '/nsilcm/v1/nsi_lcm_op_occs':
3394     get:
3395       tags:
3396         - "NetSlice instances"
3397       summary: Query information about multiple NetSlice LCM Operation Occurrences
3398       description: Query information about multiple NetSlice LCM Operation Occurrences
3399       operationId: getNsiLcmOpOccs
3400       responses:
3401         '200':
3402           description: OK
3403           content:
3404             application/json:
3405               schema:
3406                 $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
3407             application/yaml:
3408               schema:
3409                 $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
3410         '400':
3411           $ref: '#/components/responses/BadRequest'
3412         '401':
3413           $ref: '#/components/responses/Unauthorized'
3414         '403':
3415           $ref: '#/components/responses/Forbidden'
3416         '404':
3417           $ref: '#/components/responses/NotFound'
3418         '405':
3419           $ref: '#/components/responses/MethodNotAllowed'
3420         '406':
3421           $ref: '#/components/responses/NotAcceptable'
3422         '409':
3423           $ref: '#/components/responses/Conflict'
3424         '422':
3425           $ref: '#/components/responses/UnprocessableEntity'
3426         '500':
3427           $ref: '#/components/responses/InternalServerError'
3428         '503':
3429           $ref: '#/components/responses/ServiceUnavailable'
3430         '5XX':
3431           $ref: '#/components/responses/UnexpectedError'
3432         default:
3433           $ref: '#/components/responses/UnexpectedError'
3434   '/nsilcm/v1/nsi_lcm_op_occs/{nsiLcmOpOccId}':
3435     parameters:
3436       - name: nsiLcmOpOccId
3437         in: path
3438         required: true
3439         description: NetSlice LCM Operation Occurrence ID
3440         schema:
3441           type: string
3442     get:
3443       tags:
3444         - "NetSlice instances"
3445       summary: Query information about an individual NetSlice LCM Operation Occurrence
3446       description: Query information about an individual NetSlice LCM Operation Occurrence
3447       operationId: getNsiLcmOpOcc
3448       responses:
3449         '200':
3450           description: OK
3451           content:
3452             application/json:
3453               schema:
3454                 $ref: '#/components/schemas/NsiLcmOpOcc'
3455             application/yaml:
3456               schema:
3457                 $ref: '#/components/schemas/NsiLcmOpOcc'
3458         '400':
3459           $ref: '#/components/responses/BadRequest'
3460         '401':
3461           $ref: '#/components/responses/Unauthorized'
3462         '403':
3463           $ref: '#/components/responses/Forbidden'
3464         '404':
3465           $ref: '#/components/responses/NotFound'
3466         '405':
3467           $ref: '#/components/responses/MethodNotAllowed'
3468         '406':
3469           $ref: '#/components/responses/NotAcceptable'
3470         '409':
3471           $ref: '#/components/responses/Conflict'
3472         '422':
3473           $ref: '#/components/responses/UnprocessableEntity'
3474         '500':
3475           $ref: '#/components/responses/InternalServerError'
3476         '503':
3477           $ref: '#/components/responses/ServiceUnavailable'
3478         '5XX':
3479           $ref: '#/components/responses/UnexpectedError'
3480         default:
3481           $ref: '#/components/responses/UnexpectedError'
3482 # END NetSlice Instances
3483
3484 # BEGIN NSPM
3485   '/nspm/v1/pm_jobs/{pmJobId}/reports/{nsId}':
3486     parameters:
3487       - name: pmJobId
3488         in: path
3489         required: true
3490         description: NS PM Job ID
3491         schema:
3492           type: string
3493       - name: nsId
3494         in: path
3495         required: true
3496         description: NS ID
3497         schema:
3498           type: string
3499     get:
3500       tags:
3501         - "NS Performance Management"
3502       summary: Query information about an individual NS PM Job Report
3503       description: Query information about an individual NS PM Job Report
3504       operationId: getNsPmJobReport
3505       responses:
3506         '200':
3507           description: OK
3508           content:
3509             application/json:
3510               schema:
3511                 $ref: '#/components/schemas/NsPmJobReportInfo'
3512             application/yaml:
3513               schema:
3514                 $ref: '#/components/schemas/NsPmJobReportInfo'
3515         '400':
3516           $ref: '#/components/responses/BadRequest'
3517         '401':
3518           $ref: '#/components/responses/Unauthorized'
3519         '403':
3520           $ref: '#/components/responses/Forbidden'
3521         '404':
3522           $ref: '#/components/responses/NotFound'
3523         '405':
3524           $ref: '#/components/responses/MethodNotAllowed'
3525         '406':
3526           $ref: '#/components/responses/NotAcceptable'
3527         '409':
3528           $ref: '#/components/responses/Conflict'
3529         '422':
3530           $ref: '#/components/responses/UnprocessableEntity'
3531         '500':
3532           $ref: '#/components/responses/InternalServerError'
3533         '503':
3534           $ref: '#/components/responses/ServiceUnavailable'
3535         '5XX':
3536           $ref: '#/components/responses/UnexpectedError'
3537         default:
3538           $ref: '#/components/responses/UnexpectedError'
3539 # END NSPM
3540
3541 # BEGIN PDU
3542   '/pdu/v1/pdu_descriptors':
3543     get:
3544       tags:
3545         - "Physical Data Units (PDU)"
3546       summary: Query information about multiple PDU Descriptors
3547       description: Query information about multiple PDU Descriptors
3548       operationId: getPDUs
3549       responses:
3550         '200':
3551           description: OK
3552           content:
3553             application/json:
3554               schema:
3555                 $ref: '#/components/schemas/ArrayOfPduInfo'
3556             application/yaml:
3557               schema:
3558                 $ref: '#/components/schemas/ArrayOfPduInfo'
3559         '400':
3560           $ref: '#/components/responses/BadRequest'
3561         '401':
3562           $ref: '#/components/responses/Unauthorized'
3563         '403':
3564           $ref: '#/components/responses/Forbidden'
3565         '404':
3566           $ref: '#/components/responses/NotFound'
3567         '405':
3568           $ref: '#/components/responses/MethodNotAllowed'
3569         '406':
3570           $ref: '#/components/responses/NotAcceptable'
3571         '409':
3572           $ref: '#/components/responses/Conflict'
3573         '422':
3574           $ref: '#/components/responses/UnprocessableEntity'
3575         '500':
3576           $ref: '#/components/responses/InternalServerError'
3577         '503':
3578           $ref: '#/components/responses/ServiceUnavailable'
3579         '5XX':
3580           $ref: '#/components/responses/UnexpectedError'
3581         default:
3582           $ref: '#/components/responses/UnexpectedError'
3583     post:
3584       tags:
3585         - "Physical Data Units (PDU)"
3586       summary: Create a new PDU
3587       description: Create a new PDU Descriptor
3588       operationId: createPDU
3589       requestBody:
3590         $ref: '#/components/requestBodies/CreatePduRequest'
3591       responses:
3592         '200':
3593           description: OK
3594           headers:
3595             Location:
3596               schema:
3597                 type: string
3598                 format: uri
3599           content:
3600             application/json:
3601               schema:
3602                 $ref: '#/components/schemas/ObjectId'
3603             application/yaml:
3604               schema:
3605                 $ref: '#/components/schemas/ObjectId'
3606         '400':
3607           $ref: '#/components/responses/BadRequest'
3608         '401':
3609           $ref: '#/components/responses/Unauthorized'
3610         '403':
3611           $ref: '#/components/responses/Forbidden'
3612         '404':
3613           $ref: '#/components/responses/NotFound'
3614         '405':
3615           $ref: '#/components/responses/MethodNotAllowed'
3616         '406':
3617           $ref: '#/components/responses/NotAcceptable'
3618         '409':
3619           $ref: '#/components/responses/Conflict'
3620         '422':
3621           $ref: '#/components/responses/UnprocessableEntity'
3622         '500':
3623           $ref: '#/components/responses/InternalServerError'
3624         '503':
3625           $ref: '#/components/responses/ServiceUnavailable'
3626         '5XX':
3627           $ref: '#/components/responses/UnexpectedError'
3628         default:
3629           $ref: '#/components/responses/UnexpectedError'
3630   '/pdu/v1/pdu_descriptors/{pduDescriptorId}':
3631     parameters:
3632       - name: pduDescriptorId
3633         in: path
3634         required: true
3635         description: PDU Descriptor ID
3636         schema:
3637           type: string
3638     get:
3639       tags:
3640         - "Physical Data Units (PDU)"
3641       summary: Query information about an individual PDU Descriptor
3642       description: Query information about an individual PDU Descriptor
3643       operationId: getPDU
3644       responses:
3645         '200':
3646           description: OK
3647           content:
3648             application/json:
3649               schema:
3650                 $ref: '#/components/schemas/PduInfo'
3651             application/yaml:
3652               schema:
3653                 $ref: '#/components/schemas/PduInfo'
3654         '400':
3655           $ref: '#/components/responses/BadRequest'
3656         '401':
3657           $ref: '#/components/responses/Unauthorized'
3658         '403':
3659           $ref: '#/components/responses/Forbidden'
3660         '404':
3661           $ref: '#/components/responses/NotFound'
3662         '405':
3663           $ref: '#/components/responses/MethodNotAllowed'
3664         '406':
3665           $ref: '#/components/responses/NotAcceptable'
3666         '409':
3667           $ref: '#/components/responses/Conflict'
3668         '422':
3669           $ref: '#/components/responses/UnprocessableEntity'
3670         '500':
3671           $ref: '#/components/responses/InternalServerError'
3672         '503':
3673           $ref: '#/components/responses/ServiceUnavailable'
3674         '5XX':
3675           $ref: '#/components/responses/UnexpectedError'
3676         default:
3677           $ref: '#/components/responses/UnexpectedError'
3678     patch:
3679       tags:
3680         - "Physical Data Units (PDU)"
3681       summary: Modify an individual PDU Descriptor
3682       description: Modify an individual PDU Descriptor
3683       operationId: editPDU
3684       requestBody:
3685         $ref: '#/components/requestBodies/EditPduRequest'
3686       responses:
3687         '204':
3688           description: No Content
3689         '400':
3690           $ref: '#/components/responses/BadRequest'
3691         '401':
3692           $ref: '#/components/responses/Unauthorized'
3693         '403':
3694           $ref: '#/components/responses/Forbidden'
3695         '404':
3696           $ref: '#/components/responses/NotFound'
3697         '405':
3698           $ref: '#/components/responses/MethodNotAllowed'
3699         '406':
3700           $ref: '#/components/responses/NotAcceptable'
3701         '409':
3702           $ref: '#/components/responses/Conflict'
3703         '422':
3704           $ref: '#/components/responses/UnprocessableEntity'
3705         '500':
3706           $ref: '#/components/responses/InternalServerError'
3707         '503':
3708           $ref: '#/components/responses/ServiceUnavailable'
3709         '5XX':
3710           $ref: '#/components/responses/UnexpectedError'
3711         default:
3712           $ref: '#/components/responses/UnexpectedError'
3713     delete:
3714       tags:
3715         - "Physical Data Units (PDU)"
3716       summary: Delete an individual PDU Descriptor
3717       description: Delete an individual PDU Descriptor
3718       operationId: deletePDU
3719       responses:
3720         '204':
3721           description: No Content
3722         '400':
3723           $ref: '#/components/responses/BadRequest'
3724         '401':
3725           $ref: '#/components/responses/Unauthorized'
3726         '403':
3727           $ref: '#/components/responses/Forbidden'
3728         '404':
3729           $ref: '#/components/responses/NotFound'
3730         '405':
3731           $ref: '#/components/responses/MethodNotAllowed'
3732         '406':
3733           $ref: '#/components/responses/NotAcceptable'
3734         '409':
3735           $ref: '#/components/responses/Conflict'
3736         '422':
3737           $ref: '#/components/responses/UnprocessableEntity'
3738         '500':
3739           $ref: '#/components/responses/InternalServerError'
3740         '503':
3741           $ref: '#/components/responses/ServiceUnavailable'
3742         '5XX':
3743           $ref: '#/components/responses/UnexpectedError'
3744         default:
3745           $ref: '#/components/responses/UnexpectedError'
3746 # END PDU
3747
3748 # BEGIN Admin
3749   '/admin/v1/tokens':
3750     get:
3751       tags:
3752         - "Authentication"
3753         - "Admin"
3754       summary: Query information about multiple Tokens
3755       description: Query information about multiple Tokens
3756       operationId: getTokens
3757       responses:
3758         '200':
3759           description: OK
3760           content:
3761             application/json:
3762               schema:
3763                 $ref: '#/components/schemas/ArrayOfTokenInfo'
3764             application/yaml:
3765               schema:
3766                 $ref: '#/components/schemas/ArrayOfTokenInfo'
3767         '400':
3768           $ref: '#/components/responses/BadRequest'
3769         '401':
3770           $ref: '#/components/responses/Unauthorized'
3771         '403':
3772           $ref: '#/components/responses/Forbidden'
3773         '404':
3774           $ref: '#/components/responses/NotFound'
3775         '405':
3776           $ref: '#/components/responses/MethodNotAllowed'
3777         '406':
3778           $ref: '#/components/responses/NotAcceptable'
3779         '409':
3780           $ref: '#/components/responses/Conflict'
3781         '422':
3782           $ref: '#/components/responses/UnprocessableEntity'
3783         '500':
3784           $ref: '#/components/responses/InternalServerError'
3785         '503':
3786           $ref: '#/components/responses/ServiceUnavailable'
3787         '5XX':
3788           $ref: '#/components/responses/UnexpectedError'
3789         default:
3790           $ref: '#/components/responses/UnexpectedError'
3791     post:
3792       tags:
3793         - "Authentication"
3794         - "Admin"
3795       summary: Request a new Token
3796       description: Request a new Token
3797       operationId: createToken
3798       requestBody:
3799         $ref: '#/components/requestBodies/CreateTokenRequest'
3800       responses:
3801         '200':
3802           description: OK
3803           headers:
3804             Location:
3805               schema:
3806                 type: string
3807                 format: uri
3808           content:
3809             application/json:
3810               schema:
3811                 $ref: '#/components/schemas/TokenInfo'
3812             application/yaml:
3813               schema:
3814                 $ref: '#/components/schemas/TokenInfo'
3815         '400':
3816           $ref: '#/components/responses/BadRequest'
3817         '401':
3818           $ref: '#/components/responses/Unauthorized'
3819         '403':
3820           $ref: '#/components/responses/Forbidden'
3821         '404':
3822           $ref: '#/components/responses/NotFound'
3823         '405':
3824           $ref: '#/components/responses/MethodNotAllowed'
3825         '406':
3826           $ref: '#/components/responses/NotAcceptable'
3827         '409':
3828           $ref: '#/components/responses/Conflict'
3829         '422':
3830           $ref: '#/components/responses/UnprocessableEntity'
3831         '500':
3832           $ref: '#/components/responses/InternalServerError'
3833         '503':
3834           $ref: '#/components/responses/ServiceUnavailable'
3835         '5XX':
3836           $ref: '#/components/responses/UnexpectedError'
3837         default:
3838           $ref: '#/components/responses/UnexpectedError'
3839     delete:
3840       tags:
3841         - "Authentication"
3842         - "Admin"
3843       summary: Delete the Token indicated in the Authorization Header
3844       description: Delete the Token indicated in the Authorization Header
3845       operationId: deleteAuthToken
3846       responses:
3847         '200':
3848           description: OK
3849           content:
3850             application/json:
3851               schema:
3852                 type: string
3853             application/yaml:
3854               schema:
3855                 type: string
3856         '400':
3857           $ref: '#/components/responses/BadRequest'
3858         '401':
3859           $ref: '#/components/responses/Unauthorized'
3860         '403':
3861           $ref: '#/components/responses/Forbidden'
3862         '404':
3863           $ref: '#/components/responses/NotFound'
3864         '405':
3865           $ref: '#/components/responses/MethodNotAllowed'
3866         '406':
3867           $ref: '#/components/responses/NotAcceptable'
3868         '409':
3869           $ref: '#/components/responses/Conflict'
3870         '422':
3871           $ref: '#/components/responses/UnprocessableEntity'
3872         '500':
3873           $ref: '#/components/responses/InternalServerError'
3874         '503':
3875           $ref: '#/components/responses/ServiceUnavailable'
3876         '5XX':
3877           $ref: '#/components/responses/UnexpectedError'
3878         default:
3879           $ref: '#/components/responses/UnexpectedError'
3880   '/admin/v1/tokens/{tokenId}':
3881     parameters:
3882       - name: tokenId
3883         in: path
3884         required: true
3885         description: Token ID
3886         schema:
3887           type: string
3888     get:
3889       tags:
3890         - "Authentication"
3891         - "Admin"
3892       summary: Query information about an individual Token
3893       description: Query information about an individual Token
3894       operationId: getToken
3895       responses:
3896         '200':
3897           description: OK
3898           content:
3899             application/json:
3900               schema:
3901                 $ref: '#/components/schemas/TokenInfo'
3902             application/yaml:
3903               schema:
3904                 $ref: '#/components/schemas/TokenInfo'
3905         '400':
3906           $ref: '#/components/responses/BadRequest'
3907         '401':
3908           $ref: '#/components/responses/Unauthorized'
3909         '403':
3910           $ref: '#/components/responses/Forbidden'
3911         '404':
3912           $ref: '#/components/responses/NotFound'
3913         '405':
3914           $ref: '#/components/responses/MethodNotAllowed'
3915         '406':
3916           $ref: '#/components/responses/NotAcceptable'
3917         '409':
3918           $ref: '#/components/responses/Conflict'
3919         '422':
3920           $ref: '#/components/responses/UnprocessableEntity'
3921         '500':
3922           $ref: '#/components/responses/InternalServerError'
3923         '503':
3924           $ref: '#/components/responses/ServiceUnavailable'
3925         '5XX':
3926           $ref: '#/components/responses/UnexpectedError'
3927         default:
3928           $ref: '#/components/responses/UnexpectedError'
3929     delete:
3930       tags:
3931         - "Authentication"
3932         - "Admin"
3933       summary: Delete the Token indicated as parameter
3934       description: Delete the Token indicated as parameter
3935       operationId: deleteToken
3936       responses:
3937         '200':
3938           description: OK
3939           content:
3940             application/json:
3941               schema:
3942                 type: string
3943             application/yaml:
3944               schema:
3945                 type: string
3946         '400':
3947           $ref: '#/components/responses/BadRequest'
3948         '401':
3949           $ref: '#/components/responses/Unauthorized'
3950         '403':
3951           $ref: '#/components/responses/Forbidden'
3952         '404':
3953           $ref: '#/components/responses/NotFound'
3954         '405':
3955           $ref: '#/components/responses/MethodNotAllowed'
3956         '406':
3957           $ref: '#/components/responses/NotAcceptable'
3958         '409':
3959           $ref: '#/components/responses/Conflict'
3960         '422':
3961           $ref: '#/components/responses/UnprocessableEntity'
3962         '500':
3963           $ref: '#/components/responses/InternalServerError'
3964         '503':
3965           $ref: '#/components/responses/ServiceUnavailable'
3966         '5XX':
3967           $ref: '#/components/responses/UnexpectedError'
3968         default:
3969           $ref: '#/components/responses/UnexpectedError'
3970   '/admin/v1/users':
3971     get:
3972       tags:
3973         - "Identity"
3974         - "Admin"
3975       summary: Query information about multiple Users
3976       description: Query information about multiple Users
3977       operationId: getUsers
3978       responses:
3979         '200':
3980           description: OK
3981           content:
3982             application/json:
3983               schema:
3984                 $ref: '#/components/schemas/ArrayOfUserInfo'
3985             application/yaml:
3986               schema:
3987                 $ref: '#/components/schemas/ArrayOfUserInfo'
3988         '400':
3989           $ref: '#/components/responses/BadRequest'
3990         '401':
3991           $ref: '#/components/responses/Unauthorized'
3992         '403':
3993           $ref: '#/components/responses/Forbidden'
3994         '404':
3995           $ref: '#/components/responses/NotFound'
3996         '405':
3997           $ref: '#/components/responses/MethodNotAllowed'
3998         '406':
3999           $ref: '#/components/responses/NotAcceptable'
4000         '409':
4001           $ref: '#/components/responses/Conflict'
4002         '422':
4003           $ref: '#/components/responses/UnprocessableEntity'
4004         '500':
4005           $ref: '#/components/responses/InternalServerError'
4006         '503':
4007           $ref: '#/components/responses/ServiceUnavailable'
4008         '5XX':
4009           $ref: '#/components/responses/UnexpectedError'
4010         default:
4011           $ref: '#/components/responses/UnexpectedError'
4012     post:
4013       tags:
4014         - "Identity"
4015         - "Admin"
4016       summary: Create a new User
4017       description: Create a new User
4018       operationId: createUser
4019       requestBody:
4020         $ref: '#/components/requestBodies/CreateUserRequest'
4021       responses:
4022         '201':
4023           description: Created
4024           headers:
4025             Location:
4026               schema:
4027                 type: string
4028                 format: uri
4029           content:
4030             application/json:
4031               schema:
4032                 $ref: '#/components/schemas/ObjectId'
4033             application/yaml:
4034               schema:
4035                 $ref: '#/components/schemas/ObjectId'
4036         '400':
4037           $ref: '#/components/responses/BadRequest'
4038         '401':
4039           $ref: '#/components/responses/Unauthorized'
4040         '403':
4041           $ref: '#/components/responses/Forbidden'
4042         '404':
4043           $ref: '#/components/responses/NotFound'
4044         '405':
4045           $ref: '#/components/responses/MethodNotAllowed'
4046         '406':
4047           $ref: '#/components/responses/NotAcceptable'
4048         '409':
4049           $ref: '#/components/responses/Conflict'
4050         '422':
4051           $ref: '#/components/responses/UnprocessableEntity'
4052         '500':
4053           $ref: '#/components/responses/InternalServerError'
4054         '503':
4055           $ref: '#/components/responses/ServiceUnavailable'
4056         '5XX':
4057           $ref: '#/components/responses/UnexpectedError'
4058         default:
4059           $ref: '#/components/responses/UnexpectedError'
4060   '/admin/v1/users/{userId}':
4061     parameters:
4062       - name: userId
4063         in: path
4064         required: true
4065         description: User ID/Name
4066         schema:
4067           type: string
4068     get:
4069       tags:
4070         - "Identity"
4071         - "Admin"
4072       summary: Query information about an individual User
4073       description: Query information about an individual User
4074       operationId: getUser
4075       responses:
4076         '200':
4077           description: OK
4078           content:
4079             application/json:
4080               schema:
4081                 $ref: '#/components/schemas/UserInfo'
4082             application/yaml:
4083               schema:
4084                 $ref: '#/components/schemas/UserInfo'
4085         '400':
4086           $ref: '#/components/responses/BadRequest'
4087         '401':
4088           $ref: '#/components/responses/Unauthorized'
4089         '403':
4090           $ref: '#/components/responses/Forbidden'
4091         '404':
4092           $ref: '#/components/responses/NotFound'
4093         '405':
4094           $ref: '#/components/responses/MethodNotAllowed'
4095         '406':
4096           $ref: '#/components/responses/NotAcceptable'
4097         '409':
4098           $ref: '#/components/responses/Conflict'
4099         '422':
4100           $ref: '#/components/responses/UnprocessableEntity'
4101         '500':
4102           $ref: '#/components/responses/InternalServerError'
4103         '503':
4104           $ref: '#/components/responses/ServiceUnavailable'
4105         '5XX':
4106           $ref: '#/components/responses/UnexpectedError'
4107         default:
4108           $ref: '#/components/responses/UnexpectedError'
4109     patch:
4110       tags:
4111         - "Identity"
4112         - "Admin"
4113       summary: Modify a User
4114       description: Modify a User
4115       operationId: editUser
4116       requestBody:
4117         $ref: '#/components/requestBodies/EditUserRequest'
4118       responses:
4119         '204':
4120           description: No Content
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     delete:
4146       tags:
4147         - "Identity"
4148         - "Admin"
4149       summary: Delete a User
4150       description: Delete a User
4151       operationId: deleteUser
4152       responses:
4153         '204':
4154           description: No Content
4155         '400':
4156           $ref: '#/components/responses/BadRequest'
4157         '401':
4158           $ref: '#/components/responses/Unauthorized'
4159         '403':
4160           $ref: '#/components/responses/Forbidden'
4161         '404':
4162           $ref: '#/components/responses/NotFound'
4163         '405':
4164           $ref: '#/components/responses/MethodNotAllowed'
4165         '406':
4166           $ref: '#/components/responses/NotAcceptable'
4167         '409':
4168           $ref: '#/components/responses/Conflict'
4169         '422':
4170           $ref: '#/components/responses/UnprocessableEntity'
4171         '500':
4172           $ref: '#/components/responses/InternalServerError'
4173         '503':
4174           $ref: '#/components/responses/ServiceUnavailable'
4175         '5XX':
4176           $ref: '#/components/responses/UnexpectedError'
4177         default:
4178           $ref: '#/components/responses/UnexpectedError'
4179   '/admin/v1/projects':
4180     get:
4181       tags:
4182         - "Identity"
4183         - "Admin"
4184       summary: Query information about multiple Projects
4185       description: Query information about multiple Projects
4186       operationId: getProjects
4187       responses:
4188         '200':
4189           description: OK
4190           content:
4191             application/json:
4192               schema:
4193                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4194             application/yaml:
4195               schema:
4196                 $ref: '#/components/schemas/ArrayOfProjectInfo'
4197         '400':
4198           $ref: '#/components/responses/BadRequest'
4199         '401':
4200           $ref: '#/components/responses/Unauthorized'
4201         '403':
4202           $ref: '#/components/responses/Forbidden'
4203         '404':
4204           $ref: '#/components/responses/NotFound'
4205         '405':
4206           $ref: '#/components/responses/MethodNotAllowed'
4207         '406':
4208           $ref: '#/components/responses/NotAcceptable'
4209         '409':
4210           $ref: '#/components/responses/Conflict'
4211         '422':
4212           $ref: '#/components/responses/UnprocessableEntity'
4213         '500':
4214           $ref: '#/components/responses/InternalServerError'
4215         '503':
4216           $ref: '#/components/responses/ServiceUnavailable'
4217         '5XX':
4218           $ref: '#/components/responses/UnexpectedError'
4219         default:
4220           $ref: '#/components/responses/UnexpectedError'
4221     post:
4222       tags:
4223         - "Identity"
4224         - "Admin"
4225       summary: Create a new Project
4226       description: Create a new Project
4227       operationId: createProject
4228       requestBody:
4229         $ref: '#/components/requestBodies/CreateProjectRequest'
4230       responses:
4231         '201':
4232           description: Created
4233           headers:
4234             Location:
4235               schema:
4236                 type: string
4237                 format: uri
4238           content:
4239             application/json:
4240               schema:
4241                 $ref: '#/components/schemas/ObjectId'
4242             application/yaml:
4243               schema:
4244                 $ref: '#/components/schemas/ObjectId'
4245         '400':
4246           $ref: '#/components/responses/BadRequest'
4247         '401':
4248           $ref: '#/components/responses/Unauthorized'
4249         '403':
4250           $ref: '#/components/responses/Forbidden'
4251         '404':
4252           $ref: '#/components/responses/NotFound'
4253         '405':
4254           $ref: '#/components/responses/MethodNotAllowed'
4255         '406':
4256           $ref: '#/components/responses/NotAcceptable'
4257         '409':
4258           $ref: '#/components/responses/Conflict'
4259         '422':
4260           $ref: '#/components/responses/UnprocessableEntity'
4261         '500':
4262           $ref: '#/components/responses/InternalServerError'
4263         '503':
4264           $ref: '#/components/responses/ServiceUnavailable'
4265         '5XX':
4266           $ref: '#/components/responses/UnexpectedError'
4267         default:
4268           $ref: '#/components/responses/UnexpectedError'
4269   '/admin/v1/projects/{projectId}':
4270     parameters:
4271       - name: projectId
4272         in: path
4273         required: true
4274         description: Project ID/Name
4275         schema:
4276           type: string
4277     get:
4278       tags:
4279         - "Identity"
4280         - "Admin"
4281       summary: Query information about an individual Project
4282       description: Query information about an individual Project
4283       operationId: getProject
4284       responses:
4285         '200':
4286           description: OK
4287           content:
4288             application/json:
4289               schema:
4290                 $ref: '#/components/schemas/ProjectInfo'
4291             application/yaml:
4292               schema:
4293                 $ref: '#/components/schemas/ProjectInfo'
4294         '400':
4295           $ref: '#/components/responses/BadRequest'
4296         '401':
4297           $ref: '#/components/responses/Unauthorized'
4298         '403':
4299           $ref: '#/components/responses/Forbidden'
4300         '404':
4301           $ref: '#/components/responses/NotFound'
4302         '405':
4303           $ref: '#/components/responses/MethodNotAllowed'
4304         '406':
4305           $ref: '#/components/responses/NotAcceptable'
4306         '409':
4307           $ref: '#/components/responses/Conflict'
4308         '422':
4309           $ref: '#/components/responses/UnprocessableEntity'
4310         '500':
4311           $ref: '#/components/responses/InternalServerError'
4312         '503':
4313           $ref: '#/components/responses/ServiceUnavailable'
4314         '5XX':
4315           $ref: '#/components/responses/UnexpectedError'
4316         default:
4317           $ref: '#/components/responses/UnexpectedError'
4318     patch:
4319       tags:
4320         - "Identity"
4321         - "Admin"
4322       summary: Modify a Project
4323       description: Modify a Project
4324       operationId: editProject
4325       requestBody:
4326         $ref: '#/components/requestBodies/EditProjectRequest'
4327       responses:
4328         '204':
4329           description: No Content
4330         '400':
4331           $ref: '#/components/responses/BadRequest'
4332         '401':
4333           $ref: '#/components/responses/Unauthorized'
4334         '403':
4335           $ref: '#/components/responses/Forbidden'
4336         '404':
4337           $ref: '#/components/responses/NotFound'
4338         '405':
4339           $ref: '#/components/responses/MethodNotAllowed'
4340         '406':
4341           $ref: '#/components/responses/NotAcceptable'
4342         '409':
4343           $ref: '#/components/responses/Conflict'
4344         '422':
4345           $ref: '#/components/responses/UnprocessableEntity'
4346         '500':
4347           $ref: '#/components/responses/InternalServerError'
4348         '503':
4349           $ref: '#/components/responses/ServiceUnavailable'
4350         '5XX':
4351           $ref: '#/components/responses/UnexpectedError'
4352         default:
4353           $ref: '#/components/responses/UnexpectedError'
4354     delete:
4355       tags:
4356         - "Identity"
4357         - "Admin"
4358       summary: Delete a Project
4359       description: Delete a Project
4360       operationId: deleteProject
4361       responses:
4362         '204':
4363           description: No Content
4364         '400':
4365           $ref: '#/components/responses/BadRequest'
4366         '401':
4367           $ref: '#/components/responses/Unauthorized'
4368         '403':
4369           $ref: '#/components/responses/Forbidden'
4370         '404':
4371           $ref: '#/components/responses/NotFound'
4372         '405':
4373           $ref: '#/components/responses/MethodNotAllowed'
4374         '406':
4375           $ref: '#/components/responses/NotAcceptable'
4376         '409':
4377           $ref: '#/components/responses/Conflict'
4378         '422':
4379           $ref: '#/components/responses/UnprocessableEntity'
4380         '500':
4381           $ref: '#/components/responses/InternalServerError'
4382         '503':
4383           $ref: '#/components/responses/ServiceUnavailable'
4384         '5XX':
4385           $ref: '#/components/responses/UnexpectedError'
4386         default:
4387           $ref: '#/components/responses/UnexpectedError'
4388   '/admin/v1/roles':
4389     get:
4390       tags:
4391         - "Identity"
4392         - "Admin"
4393       summary: Query information about multiple Roles
4394       description: Query information about multiple Roles
4395       operationId: getRoles
4396       responses:
4397         '200':
4398           description: OK
4399           content:
4400             application/json:
4401               schema:
4402                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4403             application/yaml:
4404               schema:
4405                 $ref: '#/components/schemas/ArrayOfRoleInfo'
4406         '400':
4407           $ref: '#/components/responses/BadRequest'
4408         '401':
4409           $ref: '#/components/responses/Unauthorized'
4410         '403':
4411           $ref: '#/components/responses/Forbidden'
4412         '404':
4413           $ref: '#/components/responses/NotFound'
4414         '405':
4415           $ref: '#/components/responses/MethodNotAllowed'
4416         '406':
4417           $ref: '#/components/responses/NotAcceptable'
4418         '409':
4419           $ref: '#/components/responses/Conflict'
4420         '422':
4421           $ref: '#/components/responses/UnprocessableEntity'
4422         '500':
4423           $ref: '#/components/responses/InternalServerError'
4424         '503':
4425           $ref: '#/components/responses/ServiceUnavailable'
4426         '5XX':
4427           $ref: '#/components/responses/UnexpectedError'
4428         default:
4429           $ref: '#/components/responses/UnexpectedError'
4430     post:
4431       tags:
4432         - "Identity"
4433         - "Admin"
4434       summary: Create a new Role
4435       description: Create a new Role
4436       operationId: createRole
4437       requestBody:
4438         $ref: '#/components/requestBodies/CreateRoleRequest'
4439       responses:
4440         '201':
4441           description: Created
4442           headers:
4443             Location:
4444               schema:
4445                 type: string
4446                 format: uri
4447           content:
4448             application/json:
4449               schema:
4450                 $ref: '#/components/schemas/ObjectId'
4451             application/yaml:
4452               schema:
4453                 $ref: '#/components/schemas/ObjectId'
4454         '400':
4455           $ref: '#/components/responses/BadRequest'
4456         '401':
4457           $ref: '#/components/responses/Unauthorized'
4458         '403':
4459           $ref: '#/components/responses/Forbidden'
4460         '404':
4461           $ref: '#/components/responses/NotFound'
4462         '405':
4463           $ref: '#/components/responses/MethodNotAllowed'
4464         '406':
4465           $ref: '#/components/responses/NotAcceptable'
4466         '409':
4467           $ref: '#/components/responses/Conflict'
4468         '422':
4469           $ref: '#/components/responses/UnprocessableEntity'
4470         '500':
4471           $ref: '#/components/responses/InternalServerError'
4472         '503':
4473           $ref: '#/components/responses/ServiceUnavailable'
4474         '5XX':
4475           $ref: '#/components/responses/UnexpectedError'
4476         default:
4477           $ref: '#/components/responses/UnexpectedError'
4478   '/admin/v1/roles/{roleId}':
4479     parameters:
4480       - name: roleId
4481         in: path
4482         required: true
4483         description: Role ID/Name
4484         schema:
4485           type: string
4486     get:
4487       tags:
4488         - "Identity"
4489         - "Admin"
4490       summary: Query information about an individual Role
4491       description: Query information about an individual Role
4492       operationId: getRole
4493       responses:
4494         '200':
4495           description: OK
4496           content:
4497             application/json:
4498               schema:
4499                 $ref: '#/components/schemas/RoleInfo'
4500             application/yaml:
4501               schema:
4502                 $ref: '#/components/schemas/RoleInfo'
4503         '400':
4504           $ref: '#/components/responses/BadRequest'
4505         '401':
4506           $ref: '#/components/responses/Unauthorized'
4507         '403':
4508           $ref: '#/components/responses/Forbidden'
4509         '404':
4510           $ref: '#/components/responses/NotFound'
4511         '405':
4512           $ref: '#/components/responses/MethodNotAllowed'
4513         '406':
4514           $ref: '#/components/responses/NotAcceptable'
4515         '409':
4516           $ref: '#/components/responses/Conflict'
4517         '422':
4518           $ref: '#/components/responses/UnprocessableEntity'
4519         '500':
4520           $ref: '#/components/responses/InternalServerError'
4521         '503':
4522           $ref: '#/components/responses/ServiceUnavailable'
4523         '5XX':
4524           $ref: '#/components/responses/UnexpectedError'
4525         default:
4526           $ref: '#/components/responses/UnexpectedError'
4527     patch:
4528       tags:
4529         - "Identity"
4530         - "Admin"
4531       summary: Modify a Role
4532       description: Modify a Role
4533       operationId: editRole
4534       requestBody:
4535         $ref: '#/components/requestBodies/EditRoleRequest'
4536       responses:
4537         '204':
4538           description: No Content
4539         '400':
4540           $ref: '#/components/responses/BadRequest'
4541         '401':
4542           $ref: '#/components/responses/Unauthorized'
4543         '403':
4544           $ref: '#/components/responses/Forbidden'
4545         '404':
4546           $ref: '#/components/responses/NotFound'
4547         '405':
4548           $ref: '#/components/responses/MethodNotAllowed'
4549         '406':
4550           $ref: '#/components/responses/NotAcceptable'
4551         '409':
4552           $ref: '#/components/responses/Conflict'
4553         '422':
4554           $ref: '#/components/responses/UnprocessableEntity'
4555         '500':
4556           $ref: '#/components/responses/InternalServerError'
4557         '503':
4558           $ref: '#/components/responses/ServiceUnavailable'
4559         '5XX':
4560           $ref: '#/components/responses/UnexpectedError'
4561         default:
4562           $ref: '#/components/responses/UnexpectedError'
4563     delete:
4564       tags:
4565         - "Identity"
4566         - "Admin"
4567       summary: Delete a Role
4568       description: Delete a Role
4569       operationId: deleteRole
4570       responses:
4571         '204':
4572           description: No Content
4573         '400':
4574           $ref: '#/components/responses/BadRequest'
4575         '401':
4576           $ref: '#/components/responses/Unauthorized'
4577         '403':
4578           $ref: '#/components/responses/Forbidden'
4579         '404':
4580           $ref: '#/components/responses/NotFound'
4581         '405':
4582           $ref: '#/components/responses/MethodNotAllowed'
4583         '406':
4584           $ref: '#/components/responses/NotAcceptable'
4585         '409':
4586           $ref: '#/components/responses/Conflict'
4587         '422':
4588           $ref: '#/components/responses/UnprocessableEntity'
4589         '500':
4590           $ref: '#/components/responses/InternalServerError'
4591         '503':
4592           $ref: '#/components/responses/ServiceUnavailable'
4593         '5XX':
4594           $ref: '#/components/responses/UnexpectedError'
4595         default:
4596           $ref: '#/components/responses/UnexpectedError'
4597   '/admin/v1/vims':
4598     get:
4599       tags:
4600         - "Infrastructure"
4601         - "Admin"
4602       summary: Query information about multiple VIMs
4603       description: Query information about multiple VIMs
4604       operationId: getVIMs
4605       responses:
4606         '200':
4607           description: OK
4608           content:
4609             application/json:
4610               schema:
4611                 $ref: '#/components/schemas/ArrayOfVimInfo'
4612             application/yaml:
4613               schema:
4614                 $ref: '#/components/schemas/ArrayOfVimInfo'
4615         '400':
4616           $ref: '#/components/responses/BadRequest'
4617         '401':
4618           $ref: '#/components/responses/Unauthorized'
4619         '403':
4620           $ref: '#/components/responses/Forbidden'
4621         '404':
4622           $ref: '#/components/responses/NotFound'
4623         '405':
4624           $ref: '#/components/responses/MethodNotAllowed'
4625         '406':
4626           $ref: '#/components/responses/NotAcceptable'
4627         '409':
4628           $ref: '#/components/responses/Conflict'
4629         '422':
4630           $ref: '#/components/responses/UnprocessableEntity'
4631         '500':
4632           $ref: '#/components/responses/InternalServerError'
4633         '503':
4634           $ref: '#/components/responses/ServiceUnavailable'
4635         '5XX':
4636           $ref: '#/components/responses/UnexpectedError'
4637         default:
4638           $ref: '#/components/responses/UnexpectedError'
4639     post:
4640       tags:
4641         - "Infrastructure"
4642         - "Admin"
4643       summary: Create a new VIM
4644       description: Create a new VIM
4645       operationId: createVIM
4646       requestBody:
4647         $ref: '#/components/requestBodies/CreateVimRequest'
4648       responses:
4649         '202':
4650           description: Accepted
4651           content:
4652             application/json:
4653               schema:
4654                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4655             application/yaml:
4656               schema:
4657                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4658         '400':
4659           $ref: '#/components/responses/BadRequest'
4660         '401':
4661           $ref: '#/components/responses/Unauthorized'
4662         '403':
4663           $ref: '#/components/responses/Forbidden'
4664         '404':
4665           $ref: '#/components/responses/NotFound'
4666         '405':
4667           $ref: '#/components/responses/MethodNotAllowed'
4668         '406':
4669           $ref: '#/components/responses/NotAcceptable'
4670         '409':
4671           $ref: '#/components/responses/Conflict'
4672         '422':
4673           $ref: '#/components/responses/UnprocessableEntity'
4674         '500':
4675           $ref: '#/components/responses/InternalServerError'
4676         '503':
4677           $ref: '#/components/responses/ServiceUnavailable'
4678         '5XX':
4679           $ref: '#/components/responses/UnexpectedError'
4680         default:
4681           $ref: '#/components/responses/UnexpectedError'
4682   '/admin/v1/vims/{vimId}':
4683     parameters:
4684       - name: vimId
4685         in: path
4686         required: true
4687         description: VIM ID
4688         schema:
4689           type: string
4690           format: uuid
4691     get:
4692       tags:
4693         - "Infrastructure"
4694         - "Admin"
4695       summary: Query information about an individual VIM
4696       description: Query information about an individual VIM
4697       operationId: getVIM
4698       responses:
4699         '200':
4700           description: OK
4701           content:
4702             application/json:
4703               schema:
4704                 $ref: '#/components/schemas/VimInfo'
4705             application/yaml:
4706               schema:
4707                 $ref: '#/components/schemas/VimInfo'
4708         '400':
4709           $ref: '#/components/responses/BadRequest'
4710         '401':
4711           $ref: '#/components/responses/Unauthorized'
4712         '403':
4713           $ref: '#/components/responses/Forbidden'
4714         '404':
4715           $ref: '#/components/responses/NotFound'
4716         '405':
4717           $ref: '#/components/responses/MethodNotAllowed'
4718         '406':
4719           $ref: '#/components/responses/NotAcceptable'
4720         '409':
4721           $ref: '#/components/responses/Conflict'
4722         '422':
4723           $ref: '#/components/responses/UnprocessableEntity'
4724         '500':
4725           $ref: '#/components/responses/InternalServerError'
4726         '503':
4727           $ref: '#/components/responses/ServiceUnavailable'
4728         '5XX':
4729           $ref: '#/components/responses/UnexpectedError'
4730         default:
4731           $ref: '#/components/responses/UnexpectedError'
4732     patch:
4733       tags:
4734         - "Infrastructure"
4735         - "Admin"
4736       summary: Modify a VIM
4737       description: Modify a VIM
4738       operationId: editVIM
4739       requestBody:
4740         $ref: '#/components/requestBodies/EditVimRequest'
4741       responses:
4742         '202':
4743           description: Accepted
4744           content:
4745             application/json:
4746               schema:
4747                 $ref: '#/components/schemas/OpId'
4748             application/yaml:
4749               schema:
4750                 $ref: '#/components/schemas/OpId'
4751         '400':
4752           $ref: '#/components/responses/BadRequest'
4753         '401':
4754           $ref: '#/components/responses/Unauthorized'
4755         '403':
4756           $ref: '#/components/responses/Forbidden'
4757         '404':
4758           $ref: '#/components/responses/NotFound'
4759         '405':
4760           $ref: '#/components/responses/MethodNotAllowed'
4761         '406':
4762           $ref: '#/components/responses/NotAcceptable'
4763         '409':
4764           $ref: '#/components/responses/Conflict'
4765         '422':
4766           $ref: '#/components/responses/UnprocessableEntity'
4767         '500':
4768           $ref: '#/components/responses/InternalServerError'
4769         '503':
4770           $ref: '#/components/responses/ServiceUnavailable'
4771         '5XX':
4772           $ref: '#/components/responses/UnexpectedError'
4773         default:
4774           $ref: '#/components/responses/UnexpectedError'
4775     delete:
4776       tags:
4777         - "Infrastructure"
4778         - "Admin"
4779       summary: Delete a VIM
4780       description: Delete a VIM
4781       operationId: deleteVIM
4782       responses:
4783         '202':
4784           description: Accepted
4785         '400':
4786           $ref: '#/components/responses/BadRequest'
4787         '401':
4788           $ref: '#/components/responses/Unauthorized'
4789         '403':
4790           $ref: '#/components/responses/Forbidden'
4791         '404':
4792           $ref: '#/components/responses/NotFound'
4793         '405':
4794           $ref: '#/components/responses/MethodNotAllowed'
4795         '406':
4796           $ref: '#/components/responses/NotAcceptable'
4797         '409':
4798           $ref: '#/components/responses/Conflict'
4799         '422':
4800           $ref: '#/components/responses/UnprocessableEntity'
4801         '500':
4802           $ref: '#/components/responses/InternalServerError'
4803         '503':
4804           $ref: '#/components/responses/ServiceUnavailable'
4805         '5XX':
4806           $ref: '#/components/responses/UnexpectedError'
4807         default:
4808           $ref: '#/components/responses/UnexpectedError'
4809   '/admin/v1/vim_accounts':
4810     get:
4811       tags:
4812         - "Infrastructure"
4813         - "Admin"
4814       summary: Query information about multiple VIM Accounts
4815       description: Query information about multiple VIM Accounts
4816       operationId: getVimAccounts
4817       responses:
4818         '200':
4819           description: OK
4820           content:
4821             application/json:
4822               schema:
4823                 $ref: '#/components/schemas/ArrayOfVimInfo'
4824             application/yaml:
4825               schema:
4826                 $ref: '#/components/schemas/ArrayOfVimInfo'
4827         '400':
4828           $ref: '#/components/responses/BadRequest'
4829         '401':
4830           $ref: '#/components/responses/Unauthorized'
4831         '403':
4832           $ref: '#/components/responses/Forbidden'
4833         '404':
4834           $ref: '#/components/responses/NotFound'
4835         '405':
4836           $ref: '#/components/responses/MethodNotAllowed'
4837         '406':
4838           $ref: '#/components/responses/NotAcceptable'
4839         '409':
4840           $ref: '#/components/responses/Conflict'
4841         '422':
4842           $ref: '#/components/responses/UnprocessableEntity'
4843         '500':
4844           $ref: '#/components/responses/InternalServerError'
4845         '503':
4846           $ref: '#/components/responses/ServiceUnavailable'
4847         '5XX':
4848           $ref: '#/components/responses/UnexpectedError'
4849         default:
4850           $ref: '#/components/responses/UnexpectedError'
4851     post:
4852       tags:
4853         - "Infrastructure"
4854         - "Admin"
4855       summary: Create a new VIM Account
4856       description: Create a new VIM Account
4857       operationId: createVimAccount
4858       requestBody:
4859         $ref: '#/components/requestBodies/CreateVimRequest'
4860       responses:
4861         '202':
4862           description: Accepted
4863           content:
4864             application/json:
4865               schema:
4866                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4867             application/yaml:
4868               schema:
4869                 $ref: '#/components/schemas/ObjectId_plus_OpId'
4870         '400':
4871           $ref: '#/components/responses/BadRequest'
4872         '401':
4873           $ref: '#/components/responses/Unauthorized'
4874         '403':
4875           $ref: '#/components/responses/Forbidden'
4876         '404':
4877           $ref: '#/components/responses/NotFound'
4878         '405':
4879           $ref: '#/components/responses/MethodNotAllowed'
4880         '406':
4881           $ref: '#/components/responses/NotAcceptable'
4882         '409':
4883           $ref: '#/components/responses/Conflict'
4884         '422':
4885           $ref: '#/components/responses/UnprocessableEntity'
4886         '500':
4887           $ref: '#/components/responses/InternalServerError'
4888         '503':
4889           $ref: '#/components/responses/ServiceUnavailable'
4890         '5XX':
4891           $ref: '#/components/responses/UnexpectedError'
4892         default:
4893           $ref: '#/components/responses/UnexpectedError'
4894   '/admin/v1/vim_accounts/{vimAccountId}':
4895     parameters:
4896       - name: vimAccountId
4897         in: path
4898         required: true
4899         description: VIM Account ID
4900         schema:
4901           type: string
4902           format: uuid
4903     get:
4904       tags:
4905         - "Infrastructure"
4906         - "Admin"
4907       summary: Query information about an individual VIM Account
4908       description: Query information about an individual VIM Account
4909       operationId: getVimAccount
4910       responses:
4911         '200':
4912           description: OK
4913           content:
4914             application/json:
4915               schema:
4916                 $ref: '#/components/schemas/VimInfo'
4917             application/yaml:
4918               schema:
4919                 $ref: '#/components/schemas/VimInfo'
4920         '400':
4921           $ref: '#/components/responses/BadRequest'
4922         '401':
4923           $ref: '#/components/responses/Unauthorized'
4924         '403':
4925           $ref: '#/components/responses/Forbidden'
4926         '404':
4927           $ref: '#/components/responses/NotFound'
4928         '405':
4929           $ref: '#/components/responses/MethodNotAllowed'
4930         '406':
4931           $ref: '#/components/responses/NotAcceptable'
4932         '409':
4933           $ref: '#/components/responses/Conflict'
4934         '422':
4935           $ref: '#/components/responses/UnprocessableEntity'
4936         '500':
4937           $ref: '#/components/responses/InternalServerError'
4938         '503':
4939           $ref: '#/components/responses/ServiceUnavailable'
4940         '5XX':
4941           $ref: '#/components/responses/UnexpectedError'
4942         default:
4943           $ref: '#/components/responses/UnexpectedError'
4944     patch:
4945       tags:
4946         - "Infrastructure"
4947         - "Admin"
4948       summary: Modify a VIM Account
4949       description: Modify a VIM Account
4950       operationId: editVimAccount
4951       requestBody:
4952         $ref: '#/components/requestBodies/EditVimRequest'
4953       responses:
4954         '202':
4955           description: Accepted
4956           content:
4957             application/json:
4958               schema:
4959                 $ref: '#/components/schemas/OpId'
4960             application/yaml:
4961               schema:
4962                 $ref: '#/components/schemas/OpId'
4963         '400':
4964           $ref: '#/components/responses/BadRequest'
4965         '401':
4966           $ref: '#/components/responses/Unauthorized'
4967         '403':
4968           $ref: '#/components/responses/Forbidden'
4969         '404':
4970           $ref: '#/components/responses/NotFound'
4971         '405':
4972           $ref: '#/components/responses/MethodNotAllowed'
4973         '406':
4974           $ref: '#/components/responses/NotAcceptable'
4975         '409':
4976           $ref: '#/components/responses/Conflict'
4977         '422':
4978           $ref: '#/components/responses/UnprocessableEntity'
4979         '500':
4980           $ref: '#/components/responses/InternalServerError'
4981         '503':
4982           $ref: '#/components/responses/ServiceUnavailable'
4983         '5XX':
4984           $ref: '#/components/responses/UnexpectedError'
4985         default:
4986           $ref: '#/components/responses/UnexpectedError'
4987     delete:
4988       tags:
4989         - "Infrastructure"
4990         - "Admin"
4991       summary: Delete a VIM Account
4992       description: Delete a VIM Account
4993       operationId: deleteVimAccount
4994       responses:
4995         '202':
4996           description: Accepted
4997         '400':
4998           $ref: '#/components/responses/BadRequest'
4999         '401':
5000           $ref: '#/components/responses/Unauthorized'
5001         '403':
5002           $ref: '#/components/responses/Forbidden'
5003         '404':
5004           $ref: '#/components/responses/NotFound'
5005         '405':
5006           $ref: '#/components/responses/MethodNotAllowed'
5007         '406':
5008           $ref: '#/components/responses/NotAcceptable'
5009         '409':
5010           $ref: '#/components/responses/Conflict'
5011         '422':
5012           $ref: '#/components/responses/UnprocessableEntity'
5013         '500':
5014           $ref: '#/components/responses/InternalServerError'
5015         '503':
5016           $ref: '#/components/responses/ServiceUnavailable'
5017         '5XX':
5018           $ref: '#/components/responses/UnexpectedError'
5019         default:
5020           $ref: '#/components/responses/UnexpectedError'
5021   '/admin/v1/wim_accounts':
5022     get:
5023       tags:
5024         - "Infrastructure"
5025         - "Admin"
5026       summary: Query information about multiple WIM Accounts
5027       description: Query information about multiple WIM Accounts
5028       operationId: getWimAccounts
5029       responses:
5030         '200':
5031           description: OK
5032           content:
5033             application/json:
5034               schema:
5035                 $ref: '#/components/schemas/ArrayOfWimInfo'
5036             application/yaml:
5037               schema:
5038                 $ref: '#/components/schemas/ArrayOfWimInfo'
5039         '400':
5040           $ref: '#/components/responses/BadRequest'
5041         '401':
5042           $ref: '#/components/responses/Unauthorized'
5043         '403':
5044           $ref: '#/components/responses/Forbidden'
5045         '404':
5046           $ref: '#/components/responses/NotFound'
5047         '405':
5048           $ref: '#/components/responses/MethodNotAllowed'
5049         '406':
5050           $ref: '#/components/responses/NotAcceptable'
5051         '409':
5052           $ref: '#/components/responses/Conflict'
5053         '422':
5054           $ref: '#/components/responses/UnprocessableEntity'
5055         '500':
5056           $ref: '#/components/responses/InternalServerError'
5057         '503':
5058           $ref: '#/components/responses/ServiceUnavailable'
5059         '5XX':
5060           $ref: '#/components/responses/UnexpectedError'
5061         default:
5062           $ref: '#/components/responses/UnexpectedError'
5063     post:
5064       tags:
5065         - "Infrastructure"
5066         - "Admin"
5067       summary: Create a new WIM Account
5068       description: Create a new WIM Account
5069       operationId: createWimAccount
5070       requestBody:
5071         $ref: '#/components/requestBodies/CreateWimRequest'
5072       responses:
5073         '202':
5074           description: Accepted
5075           content:
5076             application/json:
5077               schema:
5078                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5079             application/yaml:
5080               schema:
5081                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5082         '400':
5083           $ref: '#/components/responses/BadRequest'
5084         '401':
5085           $ref: '#/components/responses/Unauthorized'
5086         '403':
5087           $ref: '#/components/responses/Forbidden'
5088         '404':
5089           $ref: '#/components/responses/NotFound'
5090         '405':
5091           $ref: '#/components/responses/MethodNotAllowed'
5092         '406':
5093           $ref: '#/components/responses/NotAcceptable'
5094         '409':
5095           $ref: '#/components/responses/Conflict'
5096         '422':
5097           $ref: '#/components/responses/UnprocessableEntity'
5098         '500':
5099           $ref: '#/components/responses/InternalServerError'
5100         '503':
5101           $ref: '#/components/responses/ServiceUnavailable'
5102         '5XX':
5103           $ref: '#/components/responses/UnexpectedError'
5104         default:
5105           $ref: '#/components/responses/UnexpectedError'
5106   '/admin/v1/wim_accounts/{wimAccountId}':
5107     parameters:
5108       - name: wimAccountId
5109         in: path
5110         required: true
5111         description: WIM Account ID
5112         schema:
5113           type: string
5114           format: uuid
5115     get:
5116       tags:
5117         - "Infrastructure"
5118         - "Admin"
5119       summary: Query information about an individual WIM Account
5120       description: Query information about an individual WIM Account
5121       operationId: getWimAccount
5122       responses:
5123         '200':
5124           description: OK
5125           content:
5126             application/json:
5127               schema:
5128                 $ref: '#/components/schemas/WimInfo'
5129             application/yaml:
5130               schema:
5131                 $ref: '#/components/schemas/WimInfo'
5132         '400':
5133           $ref: '#/components/responses/BadRequest'
5134         '401':
5135           $ref: '#/components/responses/Unauthorized'
5136         '403':
5137           $ref: '#/components/responses/Forbidden'
5138         '404':
5139           $ref: '#/components/responses/NotFound'
5140         '405':
5141           $ref: '#/components/responses/MethodNotAllowed'
5142         '406':
5143           $ref: '#/components/responses/NotAcceptable'
5144         '409':
5145           $ref: '#/components/responses/Conflict'
5146         '422':
5147           $ref: '#/components/responses/UnprocessableEntity'
5148         '500':
5149           $ref: '#/components/responses/InternalServerError'
5150         '503':
5151           $ref: '#/components/responses/ServiceUnavailable'
5152         '5XX':
5153           $ref: '#/components/responses/UnexpectedError'
5154         default:
5155           $ref: '#/components/responses/UnexpectedError'
5156     patch:
5157       tags:
5158         - "Infrastructure"
5159         - "Admin"
5160       summary: Modify a WIM Account
5161       description: Modify a WIM Account
5162       operationId: editWimAccount
5163       requestBody:
5164         $ref: '#/components/requestBodies/EditWimRequest'
5165       responses:
5166         '202':
5167           description: Accepted
5168           content:
5169             application/json:
5170               schema:
5171                 $ref: '#/components/schemas/OpId'
5172             application/yaml:
5173               schema:
5174                 $ref: '#/components/schemas/OpId'
5175         '400':
5176           $ref: '#/components/responses/BadRequest'
5177         '401':
5178           $ref: '#/components/responses/Unauthorized'
5179         '403':
5180           $ref: '#/components/responses/Forbidden'
5181         '404':
5182           $ref: '#/components/responses/NotFound'
5183         '405':
5184           $ref: '#/components/responses/MethodNotAllowed'
5185         '406':
5186           $ref: '#/components/responses/NotAcceptable'
5187         '409':
5188           $ref: '#/components/responses/Conflict'
5189         '422':
5190           $ref: '#/components/responses/UnprocessableEntity'
5191         '500':
5192           $ref: '#/components/responses/InternalServerError'
5193         '503':
5194           $ref: '#/components/responses/ServiceUnavailable'
5195         '5XX':
5196           $ref: '#/components/responses/UnexpectedError'
5197         default:
5198           $ref: '#/components/responses/UnexpectedError'
5199     delete:
5200       tags:
5201         - "Infrastructure"
5202         - "Admin"
5203       summary: Delete a WIM Account
5204       description: Delete a WIM Account
5205       operationId: deleteWimAccount
5206       responses:
5207         '202':
5208           description: Accepted
5209         '400':
5210           $ref: '#/components/responses/BadRequest'
5211         '401':
5212           $ref: '#/components/responses/Unauthorized'
5213         '403':
5214           $ref: '#/components/responses/Forbidden'
5215         '404':
5216           $ref: '#/components/responses/NotFound'
5217         '405':
5218           $ref: '#/components/responses/MethodNotAllowed'
5219         '406':
5220           $ref: '#/components/responses/NotAcceptable'
5221         '409':
5222           $ref: '#/components/responses/Conflict'
5223         '422':
5224           $ref: '#/components/responses/UnprocessableEntity'
5225         '500':
5226           $ref: '#/components/responses/InternalServerError'
5227         '503':
5228           $ref: '#/components/responses/ServiceUnavailable'
5229         '5XX':
5230           $ref: '#/components/responses/UnexpectedError'
5231         default:
5232           $ref: '#/components/responses/UnexpectedError'
5233   '/admin/v1/sdns':
5234     get:
5235       tags:
5236         - "Infrastructure"
5237         - "Admin"
5238       summary: Query information about multiple SDNs
5239       description: Query information about multiple SDNs
5240       operationId: getSDNs
5241       responses:
5242         '200':
5243           description: OK
5244           content:
5245             application/json:
5246               schema:
5247                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5248             application/yaml:
5249               schema:
5250                 $ref: '#/components/schemas/ArrayOfSdnInfo'
5251         '400':
5252           $ref: '#/components/responses/BadRequest'
5253         '401':
5254           $ref: '#/components/responses/Unauthorized'
5255         '403':
5256           $ref: '#/components/responses/Forbidden'
5257         '404':
5258           $ref: '#/components/responses/NotFound'
5259         '405':
5260           $ref: '#/components/responses/MethodNotAllowed'
5261         '406':
5262           $ref: '#/components/responses/NotAcceptable'
5263         '409':
5264           $ref: '#/components/responses/Conflict'
5265         '422':
5266           $ref: '#/components/responses/UnprocessableEntity'
5267         '500':
5268           $ref: '#/components/responses/InternalServerError'
5269         '503':
5270           $ref: '#/components/responses/ServiceUnavailable'
5271         '5XX':
5272           $ref: '#/components/responses/UnexpectedError'
5273         default:
5274           $ref: '#/components/responses/UnexpectedError'
5275     post:
5276       tags:
5277         - "Infrastructure"
5278         - "Admin"
5279       summary: Create a new SDN
5280       description: Create a new SDN
5281       operationId: createSDN
5282       requestBody:
5283         $ref: '#/components/requestBodies/CreateSdnRequest'
5284       responses:
5285         '202':
5286           description: Accepted
5287           content:
5288             application/json:
5289               schema:
5290                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5291             application/yaml:
5292               schema:
5293                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5294         '400':
5295           $ref: '#/components/responses/BadRequest'
5296         '401':
5297           $ref: '#/components/responses/Unauthorized'
5298         '403':
5299           $ref: '#/components/responses/Forbidden'
5300         '404':
5301           $ref: '#/components/responses/NotFound'
5302         '405':
5303           $ref: '#/components/responses/MethodNotAllowed'
5304         '406':
5305           $ref: '#/components/responses/NotAcceptable'
5306         '409':
5307           $ref: '#/components/responses/Conflict'
5308         '422':
5309           $ref: '#/components/responses/UnprocessableEntity'
5310         '500':
5311           $ref: '#/components/responses/InternalServerError'
5312         '503':
5313           $ref: '#/components/responses/ServiceUnavailable'
5314         '5XX':
5315           $ref: '#/components/responses/UnexpectedError'
5316         default:
5317           $ref: '#/components/responses/UnexpectedError'
5318   '/admin/v1/sdns/{sdnId}':
5319     parameters:
5320       - name: sdnId
5321         in: path
5322         required: true
5323         description: SDN ID
5324         schema:
5325           type: string
5326           format: uuid
5327     get:
5328       tags:
5329         - "Infrastructure"
5330         - "Admin"
5331       summary: Query information about an individual SDN
5332       description: Query information about an individual SDN
5333       operationId: getSDN
5334       responses:
5335         '200':
5336           description: OK
5337           content:
5338             application/json:
5339               schema:
5340                 $ref: '#/components/schemas/SdnInfo'
5341             application/yaml:
5342               schema:
5343                 $ref: '#/components/schemas/SdnInfo'
5344         '400':
5345           $ref: '#/components/responses/BadRequest'
5346         '401':
5347           $ref: '#/components/responses/Unauthorized'
5348         '403':
5349           $ref: '#/components/responses/Forbidden'
5350         '404':
5351           $ref: '#/components/responses/NotFound'
5352         '405':
5353           $ref: '#/components/responses/MethodNotAllowed'
5354         '406':
5355           $ref: '#/components/responses/NotAcceptable'
5356         '409':
5357           $ref: '#/components/responses/Conflict'
5358         '422':
5359           $ref: '#/components/responses/UnprocessableEntity'
5360         '500':
5361           $ref: '#/components/responses/InternalServerError'
5362         '503':
5363           $ref: '#/components/responses/ServiceUnavailable'
5364         '5XX':
5365           $ref: '#/components/responses/UnexpectedError'
5366         default:
5367           $ref: '#/components/responses/UnexpectedError'
5368     patch:
5369       tags:
5370         - "Infrastructure"
5371         - "Admin"
5372       summary: Modify a SDN
5373       description: Modify a SDN
5374       operationId: editSDN
5375       requestBody:
5376         $ref: '#/components/requestBodies/EditSdnRequest'
5377       responses:
5378         '202':
5379           description: Accepted
5380           content:
5381             application/json:
5382               schema:
5383                 $ref: '#/components/schemas/OpId'
5384             application/yaml:
5385               schema:
5386                 $ref: '#/components/schemas/OpId'
5387         '400':
5388           $ref: '#/components/responses/BadRequest'
5389         '401':
5390           $ref: '#/components/responses/Unauthorized'
5391         '403':
5392           $ref: '#/components/responses/Forbidden'
5393         '404':
5394           $ref: '#/components/responses/NotFound'
5395         '405':
5396           $ref: '#/components/responses/MethodNotAllowed'
5397         '406':
5398           $ref: '#/components/responses/NotAcceptable'
5399         '409':
5400           $ref: '#/components/responses/Conflict'
5401         '422':
5402           $ref: '#/components/responses/UnprocessableEntity'
5403         '500':
5404           $ref: '#/components/responses/InternalServerError'
5405         '503':
5406           $ref: '#/components/responses/ServiceUnavailable'
5407         '5XX':
5408           $ref: '#/components/responses/UnexpectedError'
5409         default:
5410           $ref: '#/components/responses/UnexpectedError'
5411     delete:
5412       tags:
5413         - "Infrastructure"
5414         - "Admin"
5415       summary: Delete a SDN
5416       description: Delete a SDN
5417       operationId: deleteSDN
5418       responses:
5419         '202':
5420           description: Accepted
5421         '400':
5422           $ref: '#/components/responses/BadRequest'
5423         '401':
5424           $ref: '#/components/responses/Unauthorized'
5425         '403':
5426           $ref: '#/components/responses/Forbidden'
5427         '404':
5428           $ref: '#/components/responses/NotFound'
5429         '405':
5430           $ref: '#/components/responses/MethodNotAllowed'
5431         '406':
5432           $ref: '#/components/responses/NotAcceptable'
5433         '409':
5434           $ref: '#/components/responses/Conflict'
5435         '422':
5436           $ref: '#/components/responses/UnprocessableEntity'
5437         '500':
5438           $ref: '#/components/responses/InternalServerError'
5439         '503':
5440           $ref: '#/components/responses/ServiceUnavailable'
5441         '5XX':
5442           $ref: '#/components/responses/UnexpectedError'
5443         default:
5444           $ref: '#/components/responses/UnexpectedError'
5445   '/admin/v1/k8sclusters':
5446     get:
5447       tags:
5448         - "Infrastructure"
5449         - "Admin"
5450       summary: Query information about multiple K8s Clusters
5451       description: Query information about multiple K8s Clusters
5452       operationId: getK8sClusters
5453       responses:
5454         '200':
5455           description: OK
5456           content:
5457             application/json:
5458               schema:
5459                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5460             application/yaml:
5461               schema:
5462                 $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
5463         '400':
5464           $ref: '#/components/responses/BadRequest'
5465         '401':
5466           $ref: '#/components/responses/Unauthorized'
5467         '403':
5468           $ref: '#/components/responses/Forbidden'
5469         '404':
5470           $ref: '#/components/responses/NotFound'
5471         '405':
5472           $ref: '#/components/responses/MethodNotAllowed'
5473         '406':
5474           $ref: '#/components/responses/NotAcceptable'
5475         '409':
5476           $ref: '#/components/responses/Conflict'
5477         '422':
5478           $ref: '#/components/responses/UnprocessableEntity'
5479         '500':
5480           $ref: '#/components/responses/InternalServerError'
5481         '503':
5482           $ref: '#/components/responses/ServiceUnavailable'
5483         '5XX':
5484           $ref: '#/components/responses/UnexpectedError'
5485         default:
5486           $ref: '#/components/responses/UnexpectedError'
5487     post:
5488       tags:
5489         - "Infrastructure"
5490         - "Admin"
5491       summary: Create a new K8s Cluster
5492       description: Create a new K8s Cluster
5493       operationId: createK8sCluster
5494       requestBody:
5495         $ref: '#/components/requestBodies/CreateK8sClusterRequest'
5496       responses:
5497         '202':
5498           description: Accepted
5499           content:
5500             application/json:
5501               schema:
5502                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5503             application/yaml:
5504               schema:
5505                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5506         '400':
5507           $ref: '#/components/responses/BadRequest'
5508         '401':
5509           $ref: '#/components/responses/Unauthorized'
5510         '403':
5511           $ref: '#/components/responses/Forbidden'
5512         '404':
5513           $ref: '#/components/responses/NotFound'
5514         '405':
5515           $ref: '#/components/responses/MethodNotAllowed'
5516         '406':
5517           $ref: '#/components/responses/NotAcceptable'
5518         '409':
5519           $ref: '#/components/responses/Conflict'
5520         '422':
5521           $ref: '#/components/responses/UnprocessableEntity'
5522         '500':
5523           $ref: '#/components/responses/InternalServerError'
5524         '503':
5525           $ref: '#/components/responses/ServiceUnavailable'
5526         '5XX':
5527           $ref: '#/components/responses/UnexpectedError'
5528         default:
5529           $ref: '#/components/responses/UnexpectedError'
5530   '/admin/v1/k8sclusters/{k8sClusterId}':
5531     parameters:
5532       - name: k8sClusterId
5533         in: path
5534         required: true
5535         description: K8s Cluster ID
5536         schema:
5537           type: string
5538           format: uuid
5539     get:
5540       tags:
5541         - "Infrastructure"
5542         - "Admin"
5543       summary: Query information about an individual K8s Cluster
5544       description: Query information about an individual K8s Cluster
5545       operationId: getK8sCluster
5546       responses:
5547         '200':
5548           description: OK
5549           content:
5550             application/json:
5551               schema:
5552                 $ref: '#/components/schemas/K8sClusterInfo'
5553             application/yaml:
5554               schema:
5555                 $ref: '#/components/schemas/K8sClusterInfo'
5556         '400':
5557           $ref: '#/components/responses/BadRequest'
5558         '401':
5559           $ref: '#/components/responses/Unauthorized'
5560         '403':
5561           $ref: '#/components/responses/Forbidden'
5562         '404':
5563           $ref: '#/components/responses/NotFound'
5564         '405':
5565           $ref: '#/components/responses/MethodNotAllowed'
5566         '406':
5567           $ref: '#/components/responses/NotAcceptable'
5568         '409':
5569           $ref: '#/components/responses/Conflict'
5570         '422':
5571           $ref: '#/components/responses/UnprocessableEntity'
5572         '500':
5573           $ref: '#/components/responses/InternalServerError'
5574         '503':
5575           $ref: '#/components/responses/ServiceUnavailable'
5576         '5XX':
5577           $ref: '#/components/responses/UnexpectedError'
5578         default:
5579           $ref: '#/components/responses/UnexpectedError'
5580     patch:
5581       tags:
5582         - "Infrastructure"
5583         - "Admin"
5584       summary: Modify a K8s Cluster
5585       description: Modify a K8s Cluster
5586       operationId: editK8sCluster
5587       requestBody:
5588         $ref: '#/components/requestBodies/EditK8sClusterRequest'
5589       responses:
5590         '202':
5591           description: Accepted
5592           content:
5593             application/json:
5594               schema:
5595                 $ref: '#/components/schemas/OpId'
5596             application/yaml:
5597               schema:
5598                 $ref: '#/components/schemas/OpId'
5599         '400':
5600           $ref: '#/components/responses/BadRequest'
5601         '401':
5602           $ref: '#/components/responses/Unauthorized'
5603         '403':
5604           $ref: '#/components/responses/Forbidden'
5605         '404':
5606           $ref: '#/components/responses/NotFound'
5607         '405':
5608           $ref: '#/components/responses/MethodNotAllowed'
5609         '406':
5610           $ref: '#/components/responses/NotAcceptable'
5611         '409':
5612           $ref: '#/components/responses/Conflict'
5613         '422':
5614           $ref: '#/components/responses/UnprocessableEntity'
5615         '500':
5616           $ref: '#/components/responses/InternalServerError'
5617         '503':
5618           $ref: '#/components/responses/ServiceUnavailable'
5619         '5XX':
5620           $ref: '#/components/responses/UnexpectedError'
5621         default:
5622           $ref: '#/components/responses/UnexpectedError'
5623     delete:
5624       tags:
5625         - "Infrastructure"
5626         - "Admin"
5627       summary: Delete a K8s Cluster
5628       description: Delete a K8s Cluster
5629       operationId: deleteK8sCluster
5630       responses:
5631         '202':
5632           description: Accepted
5633         '400':
5634           $ref: '#/components/responses/BadRequest'
5635         '401':
5636           $ref: '#/components/responses/Unauthorized'
5637         '403':
5638           $ref: '#/components/responses/Forbidden'
5639         '404':
5640           $ref: '#/components/responses/NotFound'
5641         '405':
5642           $ref: '#/components/responses/MethodNotAllowed'
5643         '406':
5644           $ref: '#/components/responses/NotAcceptable'
5645         '409':
5646           $ref: '#/components/responses/Conflict'
5647         '422':
5648           $ref: '#/components/responses/UnprocessableEntity'
5649         '500':
5650           $ref: '#/components/responses/InternalServerError'
5651         '503':
5652           $ref: '#/components/responses/ServiceUnavailable'
5653         '5XX':
5654           $ref: '#/components/responses/UnexpectedError'
5655         default:
5656           $ref: '#/components/responses/UnexpectedError'
5657   '/admin/v1/k8srepos':
5658     get:
5659       tags:
5660         - "Repositories"
5661         - "Admin"
5662       summary: Query information about multiple K8s Repos
5663       description: Query information about multiple K8s Repos
5664       operationId: getK8sRepos
5665       responses:
5666         '200':
5667           description: OK
5668           content:
5669             application/json:
5670               schema:
5671                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
5672             application/yaml:
5673               schema:
5674                 $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
5675         '400':
5676           $ref: '#/components/responses/BadRequest'
5677         '401':
5678           $ref: '#/components/responses/Unauthorized'
5679         '403':
5680           $ref: '#/components/responses/Forbidden'
5681         '404':
5682           $ref: '#/components/responses/NotFound'
5683         '405':
5684           $ref: '#/components/responses/MethodNotAllowed'
5685         '406':
5686           $ref: '#/components/responses/NotAcceptable'
5687         '409':
5688           $ref: '#/components/responses/Conflict'
5689         '422':
5690           $ref: '#/components/responses/UnprocessableEntity'
5691         '500':
5692           $ref: '#/components/responses/InternalServerError'
5693         '503':
5694           $ref: '#/components/responses/ServiceUnavailable'
5695         '5XX':
5696           $ref: '#/components/responses/UnexpectedError'
5697         default:
5698           $ref: '#/components/responses/UnexpectedError'
5699     post:
5700       tags:
5701         - "Repositories"
5702         - "Admin"
5703       summary: Create a new K8s Repo
5704       description: Create a new K8s Repo
5705       operationId: createK8sRepo
5706       requestBody:
5707         $ref: '#/components/requestBodies/CreateK8sRepoRequest'
5708       responses:
5709         '202':
5710           description: Accepted
5711           content:
5712             application/json:
5713               schema:
5714                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5715             application/yaml:
5716               schema:
5717                 $ref: '#/components/schemas/ObjectId_plus_OpId'
5718         '400':
5719           $ref: '#/components/responses/BadRequest'
5720         '401':
5721           $ref: '#/components/responses/Unauthorized'
5722         '403':
5723           $ref: '#/components/responses/Forbidden'
5724         '404':
5725           $ref: '#/components/responses/NotFound'
5726         '405':
5727           $ref: '#/components/responses/MethodNotAllowed'
5728         '406':
5729           $ref: '#/components/responses/NotAcceptable'
5730         '409':
5731           $ref: '#/components/responses/Conflict'
5732         '422':
5733           $ref: '#/components/responses/UnprocessableEntity'
5734         '500':
5735           $ref: '#/components/responses/InternalServerError'
5736         '503':
5737           $ref: '#/components/responses/ServiceUnavailable'
5738         '5XX':
5739           $ref: '#/components/responses/UnexpectedError'
5740         default:
5741           $ref: '#/components/responses/UnexpectedError'
5742   '/admin/v1/k8srepos/{k8sRepoId}':
5743     parameters:
5744       - name: k8sRepoId
5745         in: path
5746         required: true
5747         description: K8s Repo ID
5748         schema:
5749           type: string
5750           format: uuid
5751     get:
5752       tags:
5753         - "Repositories"
5754         - "Admin"
5755       summary: Query information about an individual K8s Repo
5756       description: Query information about an individual K8s Repo
5757       operationId: getK8sRepo
5758       responses:
5759         '200':
5760           description: OK
5761           content:
5762             application/json:
5763               schema:
5764                 $ref: '#/components/schemas/K8sRepoInfo'
5765             application/yaml:
5766               schema:
5767                 $ref: '#/components/schemas/K8sRepoInfo'
5768         '400':
5769           $ref: '#/components/responses/BadRequest'
5770         '401':
5771           $ref: '#/components/responses/Unauthorized'
5772         '403':
5773           $ref: '#/components/responses/Forbidden'
5774         '404':
5775           $ref: '#/components/responses/NotFound'
5776         '405':
5777           $ref: '#/components/responses/MethodNotAllowed'
5778         '406':
5779           $ref: '#/components/responses/NotAcceptable'
5780         '409':
5781           $ref: '#/components/responses/Conflict'
5782         '422':
5783           $ref: '#/components/responses/UnprocessableEntity'
5784         '500':
5785           $ref: '#/components/responses/InternalServerError'
5786         '503':
5787           $ref: '#/components/responses/ServiceUnavailable'
5788         '5XX':
5789           $ref: '#/components/responses/UnexpectedError'
5790         default:
5791           $ref: '#/components/responses/UnexpectedError'
5792     delete:
5793       tags:
5794         - "Repositories"
5795         - "Admin"
5796       summary: Delete a K8s Repo
5797       description: Delete a K8s Repo
5798       operationId: deleteK8sRepo
5799       responses:
5800         '202':
5801           description: Accepted
5802         '400':
5803           $ref: '#/components/responses/BadRequest'
5804         '401':
5805           $ref: '#/components/responses/Unauthorized'
5806         '403':
5807           $ref: '#/components/responses/Forbidden'
5808         '404':
5809           $ref: '#/components/responses/NotFound'
5810         '405':
5811           $ref: '#/components/responses/MethodNotAllowed'
5812         '406':
5813           $ref: '#/components/responses/NotAcceptable'
5814         '409':
5815           $ref: '#/components/responses/Conflict'
5816         '422':
5817           $ref: '#/components/responses/UnprocessableEntity'
5818         '500':
5819           $ref: '#/components/responses/InternalServerError'
5820         '503':
5821           $ref: '#/components/responses/ServiceUnavailable'
5822         '5XX':
5823           $ref: '#/components/responses/UnexpectedError'
5824         default:
5825           $ref: '#/components/responses/UnexpectedError'
5826 # END Admin
5827
5828 externalDocs:
5829   description: Find out more about OSM
5830   url: 'https://osm.etsi.org/docs/user-guide/'
5831
5832 components:
5833   responses:
5834     BadRequest:
5835       description: Bad request. The server cannot process the request due to a client error.
5836       content:
5837         application/json:
5838           schema:
5839             $ref: '#/components/schemas/ProblemDetails'
5840     Unauthorized:
5841       description: Authorization information is missing or invalid.
5842       content:
5843         application/json:
5844           schema:
5845             $ref: '#/components/schemas/ProblemDetails'
5846     Forbidden:
5847       description: Not enough permissions to do this operation.
5848       content:
5849         application/json:
5850           schema:
5851             $ref: '#/components/schemas/ProblemDetails'
5852     NotFound:
5853       description: The specified resource was not found.
5854       content:
5855         application/json:
5856           schema:
5857             $ref: '#/components/schemas/ProblemDetails'
5858     MethodNotAllowed:
5859       description: This method is not supported for the requested resource.
5860       content:
5861         application/json:
5862           schema:
5863             $ref: '#/components/schemas/ProblemDetails'
5864     NotAcceptable:
5865       description: The requested resource content cannot match the Accept headers sent in the request.
5866       content:
5867         application/json:
5868           schema:
5869             $ref: '#/components/schemas/ProblemDetails'
5870     Conflict:
5871       description: The operation cannot be executed currently, due to a conflict with the state of the resource.
5872       content:
5873         application/json:
5874           schema:
5875             $ref: '#/components/schemas/ProblemDetails'
5876     UnprocessableEntity:
5877       description: The request was well-formed but was unable to be followed due to semantic errors.
5878       content:
5879         application/json:
5880           schema:
5881             $ref: '#/components/schemas/ProblemDetails'
5882     InternalServerError:
5883       description: Internal server error.
5884       content:
5885         application/json:
5886           schema:
5887             $ref: '#/components/schemas/ProblemDetails'
5888     ServiceUnavailable:
5889       description: Service temporarily unavailable.
5890       content:
5891         application/json:
5892           schema:
5893             $ref: '#/components/schemas/ProblemDetails'
5894     UnexpectedError:
5895       description: Unexpected error.
5896       content:
5897         application/json:
5898           schema:
5899             $ref: '#/components/schemas/ProblemDetails'
5900     VnfDescriptor:
5901       description: VNF Descriptor (plaintext)
5902       content:
5903         text/plain:
5904           schema:
5905             $ref: '#/components/schemas/VnfDescriptor'
5906     VnfPackage:
5907       description: VNF Package (compressed)
5908       content:
5909         application/zip:
5910           schema:
5911             $ref: '#/components/schemas/VnfPackage'
5912     NsDescriptor:
5913       description: NS Descriptor (plaintext)
5914       content:
5915         text/plain:
5916           schema:
5917             $ref: '#/components/schemas/NsDescriptor'
5918     NsPackage:
5919       description: NS Package (compressed)
5920       content:
5921         application/zip:
5922           schema:
5923             $ref: '#/components/schemas/NsPackage'
5924     NetSliceTemplate:
5925       description: NetSlice Template (plaintext)
5926       content:
5927         text/plain:
5928           schema:
5929             $ref: '#/components/schemas/NetSliceTemplate'
5930     NetSlicePackage:
5931       description: NetSlice Package (compressed)
5932       content:
5933         application/zip:
5934           schema:
5935             $ref: '#/components/schemas/NetSlicePackage'
5936     NslcmSubscriptionResponse:
5937       description: NslcmSubscriptionResponse
5938       content:
5939         application/json:
5940           schema:
5941             $ref: '#/components/schemas/NslcmSubscriptionResponse'
5942         application/yaml:
5943           schema:
5944             $ref: '#/components/schemas/NslcmSubscriptionResponse'
5945   # END RESPONSES
5946
5947   schemas:
5948     ObjectId:
5949       type: object
5950       properties:
5951         id:
5952           type: string
5953           format: uuid
5954     KeyValuePairs:
5955       # A free list of key:value pairs
5956       type: object
5957       additionalProperties: true
5958     NsDescriptor:
5959       type: string
5960       format: yaml|json
5961     NsPackage:
5962       type: string
5963       format: binary
5964     CreateNsdInfoRequest:
5965       # A free list of key:value pairs
5966       type: object
5967       additionalProperties: true
5968     NsdInfoModifications:
5969       description: |
5970         NS Descriptor Information
5971         Only generic fields (id, name, description) are described
5972         For a full specification of the NS Descriptor see:
5973         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
5974       type: object
5975       properties:
5976         id:
5977           description: NSD Identifier
5978           type: string
5979         name:
5980           description: NSD Name
5981           type: string
5982         description:
5983           description: NSD Description
5984           type: string
5985     NsdInfo:
5986       description: |
5987         NS Descriptor Information
5988         Only generic fields (_id, id, name, description) are described
5989         For a full specification of the NS Descriptor see:
5990         http://osm-download.etsi.org/ftp/osm-doc/nsd.html
5991       type: object
5992       properties:
5993         _id:
5994           description: |
5995             Identifier of the onboarded individual NS descriptor
5996             resource. This identifier is allocated by the NFVO.
5997           type: string
5998           format: uuid
5999         id:
6000           description: |
6001             This identifier, which is allocated by the NSD
6002             designer, identifies the NSD in a globally unique
6003             way. It is copied from the NSD content and shall be
6004             present after the NSD content is on-boarded.
6005           type: string
6006         name:
6007           description: |
6008             Name of the onboarded NSD. This information is
6009             copied from the NSD content and shall be present
6010             after the NSD content is on-boarded.
6011           type: string
6012         description:
6013           description: |
6014             Description of the onboarded NSD.
6015             This information is copied from the NSD content.
6016           type: string
6017       required:
6018         - _id
6019         - id
6020     ArrayOfNsdInfo:
6021       type: array
6022       items:
6023         $ref: '#/components/schemas/NsdInfo'
6024     ProblemDetails:
6025       type: object
6026       properties:
6027         type:
6028           type: string
6029           format: uri
6030         title:
6031           type: string
6032         status:
6033           type: integer
6034         detail:
6035           type: string
6036         instance:
6037           type: string
6038           format: uri
6039       additionalProperties: true
6040       required:
6041         - status
6042         - detail
6043     VnfDescriptor:
6044       type: string
6045       format: yaml|json
6046     VnfPackage:
6047       type: string
6048       format: binary
6049     CreateVnfPkgInfoRequest:
6050       # A free list of key:value pairs
6051       type: object
6052       additionalProperties: true
6053     VnfPkgInfoModifications:
6054       description: |
6055         VNF Package Information
6056         Only generic fields (id, name, description) are described
6057         For a full specification of the VNF Descriptor see:
6058         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
6059       type: object
6060       properties:
6061         id:
6062           description: VNF Package Identifier
6063           type: string
6064         name:
6065           description: VNF Package Name
6066           type: string
6067         description:
6068           description: VNF Package description
6069           type: string
6070     VnfPkgInfo:
6071       description: |
6072         VNF Package Information
6073         Only generic fields (_id, id, name, description) are described
6074         For a full specification of the VNF Descriptor see:
6075         http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
6076       type: object
6077       properties:
6078         _id:
6079           description: |
6080             Identifier of the VNF package. This identifier is allocated by the NFVO.
6081           type: string
6082           format: uuid
6083         id:
6084           description: VNF Package Identifier
6085           type: string
6086         name:
6087           description: VNF Package Name
6088           type: string
6089         description:
6090           description: VNF Package description
6091           type: string
6092       required:
6093         - _id
6094         - id
6095     ArrayOfVnfPkgInfo:
6096       type: array
6097       items:
6098         $ref: '#/components/schemas/VnfPkgInfo'
6099     # CreateNsRequest:
6100       # Substituted by InstantiateNsRequest
6101     NsInstance:
6102       description: |
6103         NS Instance Information
6104         Only generic fields (_id, id, name, description) are described
6105         For a full specification of the NS Instance see:
6106         http://osm-download.etsi.org/ftp/osm-doc/nsr.html
6107       type: object
6108       properties:
6109         _id:
6110           description: Identifier of the NS instance.
6111           type: string
6112           format: uuid
6113         id:
6114           description: Identifier of the NS instance.
6115           type: string
6116           format: uuid
6117         name:
6118           description: Human readable name of the NS instance.
6119           type: string
6120         description:
6121           description: Human readable description of the NS instance.
6122           type: string
6123       required:
6124         - _id
6125         - id
6126         - name
6127     InstantiateNsRequest:
6128       type: object
6129       properties:
6130         nsName:
6131           description: |
6132             Human-readable name of the NS instance to be created.
6133           type: string
6134         nsdId:
6135           description: |
6136             Identifier of the NSD that defines the NS instance to be created.
6137           type: string
6138           format: uuid
6139         vimAccountId:
6140           description: |
6141             Identifier of the VIM Account where the NS instance shall be created.
6142           type: string
6143           format: uuid
6144         lcmOperationType:
6145           type: string
6146         nsInstanceId:
6147           type: string
6148           format: uuid
6149         netsliceInstanceId:
6150           type: string
6151           format: uuid
6152         nsDescription:
6153           type: string
6154           nullable: true
6155         wimAccountId:
6156           oneOf:
6157             - type: string
6158             - type: boolean
6159           nullable: true
6160         additionalParamsForNs:
6161           type: object
6162           additionalProperties: true
6163         additionalParamsForVnf: &additionalparamsforvnf
6164           type: array
6165           items:
6166             type: object
6167             properties:
6168               member-vnf-index:
6169                 type: string
6170               additionalParams:
6171                 type: object
6172                 additionalProperties: true
6173               k8s-namespace:
6174                 type: string
6175                 description: |
6176                   use this namespace for all the KDU deployed in this VNF
6177                   (if any). By default it is used the id of the project
6178               additionalParamsForVdu:
6179                 type: array
6180                 items:
6181                   type: object
6182                   properties:
6183                     vdu_id:
6184                       type: string
6185                     additionalParams:
6186                       type: object
6187                       additionalProperties: true
6188                   required:
6189                     - vdu_id
6190                     - additionalParams
6191                   additionalProperties: false
6192               additionalParamsForKdu:
6193                 type: array
6194                 items:
6195                   type: object
6196                   properties:
6197                     kdu_name:
6198                       type: string
6199                     k8s-namespace:
6200                       type: string
6201                       description: use this namespace for this KDU
6202                     kdu_model:
6203                       type: string
6204                     additionalParams:
6205                       type: object
6206                       additionalProperties: true
6207                   required:
6208                     - kdu_name
6209                   minProperties: 2
6210                   additionalProperties: false
6211             required:
6212               - member-vnf-index
6213             minProperties: 2
6214             additionalProperties: false
6215         ssh_keys:
6216           type: array
6217           items:
6218             type: string
6219         nsr_id:
6220           type: string
6221           format: uuid
6222         vduImage:
6223           type: string
6224         placement-engine:
6225           type: string
6226           description: |
6227            To compute automatically the target VIM for each VNF based on 
6228            constrains, e.g. latency. Currently only 'PLA' is supported
6229         placement-constraints:
6230           type: object
6231           additionalProperties: true
6232         k8s-namespace:
6233           type: string
6234         timeout_ns_deploy:
6235           type: integer
6236         vnf:
6237           type: array
6238           items:
6239             type: object
6240             properties:
6241               member-vnf-index:
6242                 type: string
6243               vimAccountId:
6244                 type: string
6245                 format: uuid
6246               vdu:
6247                 type: array
6248                 items:
6249                   type: object
6250                   properties:
6251                     id:
6252                       type: string
6253                     volume:
6254                       type: array
6255                       items:
6256                         type: object
6257                         properties:
6258                           name:
6259                             type: string
6260                           vim-volume-id:
6261                             type: string
6262                         required:
6263                           - name
6264                           - vim-volume-id
6265                         additionalProperties: false
6266                       minItems: 1
6267                     interface:
6268                       type: array
6269                       items:
6270                         type: object
6271                         properties:
6272                           name:
6273                             type: string
6274                           ip-address:
6275                             type: string
6276                             format: ipv4
6277                           mac-address:
6278                             type: string
6279                             format: mac_address
6280                           floating-ip-required:
6281                             type: boolean
6282                         required:
6283                           - name
6284                         additionalProperties: false
6285                       minItems: 1
6286                   required:
6287                     - id
6288                   additionalProperties: false
6289                 minItems: 1
6290               internal-vld:
6291                 type: array
6292                 items:
6293                   type: object
6294                   properties:
6295                     name:
6296                       type: string
6297                     vim-network-name:
6298                       type: string
6299                     vim-network-id:
6300                       type: string
6301                     ip-profile:
6302                       type: object
6303                       properties:
6304                         ip-version:
6305                           type: string
6306                           enum:
6307                             - ipv4
6308                             - ipv6
6309                         subnet-address:
6310                           type: string
6311                           format: ip_prefix
6312                           nullable: true
6313                         gateway-address:
6314                           type: string
6315                           format: ipv4
6316                           nullable: true
6317                         dns-server:
6318                           type: array
6319                           items:
6320                             type: object
6321                             properties:
6322                               address:
6323                                 type: string
6324                                 format: ipv4
6325                             required:
6326                               - address
6327                             additionalProperties: false
6328                           minItems: 1
6329                           nullable: true
6330                         dhcp-params:
6331                           type: object
6332                           properties:
6333                             enabled:
6334                               type: boolean
6335                             count:
6336                               type: integer
6337                               minimum: 1
6338                             start-address:
6339                               type: string
6340                               format: ipv4
6341                           additionalProperties: false
6342                           nullable: true
6343                       additionalProperties: false
6344                     provider-network:
6345                       type: object
6346                       properties:
6347                         physical-network:
6348                           type: string
6349                         segmentation-id:
6350                           type: string
6351                         network-type:
6352                           type: string
6353                         sdn-ports:
6354                           description: |
6355                             connect additional ports to the created underlay SDN connectivity.
6356                             Normally for external connectivy.
6357                           type: array
6358                           items:
6359                             type: object
6360                             properties:
6361                               switch_id:
6362                                 type: string
6363                               switch_port:
6364                                 type: string
6365                               mac_address:
6366                                 type: string
6367                                 format: mac_address
6368                               vlan:
6369                                 type: integer
6370                             additionalProperties: true
6371                             required:
6372                               - switch_id
6373                               - switch_port
6374                           minItems: 1
6375                       additionalProperties: false
6376                     internal-connection-point:
6377                       type: array
6378                       items:
6379                         type: object
6380                         properties:
6381                           id-ref:
6382                             type: string
6383                           ip-address:
6384                             type: string
6385                             format: ipv4
6386                         required:
6387                           - id-ref
6388                         minProperties: 2
6389                         additionalProperties: False
6390                       minItems: 1
6391                   required:
6392                     - name
6393                   minProperties: 2
6394                   additionalProperties: false
6395                 minItems: 1
6396             required:
6397               - member-vnf-index
6398             minProperties: 2
6399             additionalProperties: false
6400           minItems: 1
6401         vld:
6402           type: array
6403           items:
6404             type: object
6405             properties:
6406               name:
6407                 type: string
6408               vim-network-name:
6409                 oneOf:
6410                   - type: string
6411                   - type: object
6412               vim-network-id:
6413                 oneOf:
6414                   - type: string
6415                   - type: object
6416               ns-net:
6417                 type: object
6418                 additionalProperties: true
6419               wimAccountId:
6420                 oneOf:
6421                   - type: string
6422                   - type: boolean
6423                 nullable: true
6424               ip-profile:
6425                 type: object
6426                 additionalProperties: true
6427               provider-network:
6428                 type: object
6429                 properties:
6430                   physical-network:
6431                     type: string
6432                   segmentation-id:
6433                     type: string
6434                 additionalProperties: false
6435               vnfd-connection-point-ref:
6436                 type: array
6437                 items:
6438                   type: object
6439                   properties:
6440                     member-vnf-index-ref:
6441                       type: string
6442                     vnfd-connection-point-ref:
6443                       type: string
6444                     ip-address:
6445                       type: string
6446                       format: ipv4
6447                   required:
6448                     - member-vnf-index-ref
6449                     - vnfd-connection-point-ref
6450                   minProperties: 3
6451                   additionalProperties: false
6452                 minItems: 1
6453             required:
6454               - name
6455             additionalProperties: false
6456           minItems: 1
6457       required:
6458         - nsName
6459         - nsdId
6460         - vimAccountId
6461       additionalProperties: false
6462     ScaleNsRequest:
6463       type: object
6464       properties:
6465         scaleType:
6466           type: string
6467           enum:
6468             - SCALE_VNF
6469         timeout_ns_scale:
6470           description: timeout for the scale operation
6471           type: integer
6472         scaleVnfData:
6473           type: object
6474           properties:
6475             scaleVnfType:
6476               type: string
6477               enum:
6478                 - SCALE_IN
6479                 - SCALE_OUT
6480             scaleByStepData:
6481               type: object
6482               properties:
6483                 scaling-group-descriptor:
6484                   type: string
6485                 scaling-policy:
6486                   type: string
6487                 member-vnf-index:
6488                   type: string
6489               required:
6490                 - scaling-group-descriptor
6491                 - member-vnf-index
6492               additionalProperties: false
6493           required:
6494             - scaleVnfType
6495             - scaleByStepData
6496           additionalProperties: false
6497       required:
6498         - scaleType
6499         - scaleVnfData
6500       additionalProperties: false
6501     TerminateNsRequest:
6502       type: object
6503       properties:
6504         timeout_ns_terminate:
6505           description: timeout for terminate operation
6506           type: integer
6507         autoremove:
6508           description: remove network service if termination end without error
6509           type: boolean
6510         skip_terminate_primitives:
6511           description: Do not execute network service termination primitives
6512           type: boolean
6513       additionalProperties: false
6514     ArrayOfNsInstance:
6515       type: array
6516       items:
6517         $ref: '#/components/schemas/NsInstance'
6518     NSinstanceActionRequest:
6519       type: object
6520       properties:
6521         primitive:
6522           type: string
6523           description: |
6524             name of the primitive in the 'config-descriptor'. If the target is
6525             a kdu it can be also 'status', 'rollback' or 'upgrade'
6526         primitive_params:
6527           description: parameters of this primitive
6528           $ref: '#/components/schemas/KeyValuePairs'
6529         member_vnf_index:
6530           type: string
6531           description: provide if the target action is for a vnf, vdu or kdu
6532         vdu_id:
6533           type: string
6534           description: provide if the target action is for a vdu
6535         kdu_name:
6536           type: string
6537           description: provide if the target action is for a kdu
6538         vdu_count_index:
6539           type: integer
6540         timeout_ns_action:
6541           description: timeout for the day 1/2 operation
6542           type: integer
6543       required:
6544         - primitive
6545         - primitive_params
6546       additionalProperties: false
6547     # CreateNSinstanceContentRequest:
6548       # Substituted by InstantiateNsRequest
6549     CreateNSinstanceContentResponse:
6550       type: object
6551       properties:
6552         id:
6553           type: string
6554           format: uuid
6555         nslcmop_id:
6556           type: string
6557           format: uuid
6558     NsLcmOpOcc:
6559       type: object
6560       properties:
6561         _id:
6562           type: string
6563           format: uuid
6564         id:
6565           type: string
6566           format: uuid
6567         lcmOperationType:
6568           type: string
6569         nsInstanceId:
6570           type: string
6571           format: uuid
6572         isAutomaticInvocation:
6573           type: boolean
6574         isCancelPending:
6575           type: boolean
6576         startTime:
6577           type: number
6578           format: float
6579         statusEnteredTime:
6580           type: number
6581           format: float
6582         operationParams:
6583           type: object
6584           properties:
6585             nsName:
6586               type: string
6587             nsdId:
6588               type: string
6589               format: uuid
6590             vimAccountId:
6591               type: string
6592               format: uuid
6593             nsInstanceId:
6594               type: string
6595               format: uuid
6596             lcmOperationType:
6597               type: string
6598         operationState:
6599           type: string
6600         detailed-status:
6601           type: string
6602         links:
6603           type: object
6604           properties:
6605             self:
6606               type: string
6607               format: path   # uri?
6608             nsInstance:
6609               type: string
6610               format: path   # uri?
6611     ArrayOfNsLcmOpOcc:
6612       type: array
6613       items:
6614         $ref: '#/components/schemas/NsLcmOpOcc'
6615     VnfInstanceInfo:
6616       description: |
6617         VNF Instance Information
6618         Only generic fields (_id, id) are described
6619         For a full specification of the VNF Instance see:
6620         http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
6621       type: object
6622       properties:
6623         _id:
6624           type: string
6625           format: uuid
6626         id:
6627           type: string
6628           format: uuid
6629     ArrayOfVnfInstanceInfo:
6630       type: array
6631       items:
6632         $ref: '#/components/schemas/VnfInstanceInfo'
6633     NstInfo:
6634       description: |
6635         NetSlice Template Information
6636         Only generic fields (_id, id, name) are described
6637         For a full specification of the NetSlice Template see:
6638         http://osm-download.etsi.org/ftp/osm-doc/nst.html
6639       type: object
6640       properties:
6641         _id:
6642           description: NetSlice Template Identifier
6643           type: string
6644           format: uuid
6645         id:
6646           description: Human readable NetSlice Template Identifier
6647           type: string
6648         name:
6649           description: Human readable name of the NetSlice Template
6650           type: string
6651     ArrayOfNstInfo:
6652       type: array
6653       items:
6654         $ref: '#/components/schemas/NstInfo'
6655     CreateNstInfoRequest:
6656       # A free list of key:value pairs
6657       type: object
6658       additionalProperties: true
6659     NetSliceTemplate:
6660       type: string
6661       format: yaml|json
6662     NetSlicePackage:
6663       type: string
6664       format: binary
6665     NstInfoModifications:
6666       description: |
6667         NetSlice Template Information
6668         Only generic fields (id, name) are described
6669         For a full specification of the NetSlice Template see:
6670         http://osm-download.etsi.org/ftp/osm-doc/nst.html
6671       type: object
6672       properties:
6673         id:
6674           description: NST Identifier
6675           type: string
6676         name:
6677           description: NST Name
6678           type: string
6679     NetSliceInstance:
6680       description: |
6681         NetSlice Instance Information
6682         Only generic fields (_id, id, name, description) are described
6683         For a full specification of the NetSlice Instance see:
6684         http://osm-download.etsi.org/ftp/osm-doc/nsi.html
6685       type: object
6686       properties:
6687         _id:
6688           description: Identifier of the NetSlice instance.
6689           type: string
6690           format: uuid
6691         id:
6692           description: Identifier of the NetSlice instance.
6693           type: string
6694           format: uuid
6695         name:
6696           description: Human readable name of the NetSlice instance.
6697           type: string
6698         description:
6699           description: Human readable description of the NetSlice instance.
6700           type: string
6701       required:
6702         - _id
6703         - id
6704         - name
6705     ArrayOfNetSliceInstance:
6706       type: array
6707       items:
6708         $ref: '#/components/schemas/NetSliceInstance'
6709     # CreateNsiRequest:
6710       # Substituted by InstantiateNsiRequest
6711     InstantiateNsiRequest:
6712       type: object
6713       properties:
6714         nsiName:
6715           description: |
6716             Human-readable name of the NetSlice instance to be created.
6717           type: string
6718         nstId:
6719           description: |
6720             Identifier of the NST that defines the NetSlice instance to be created.
6721           type: string
6722           format: uuid
6723         vimAccountId:
6724           description: |
6725             Identifier of the VIM Account where the NetSlice instance shall be created.
6726           type: string
6727           format: uuid
6728         lcmOperationType:
6729           type: string
6730         netsliceInstanceId:
6731           type: string
6732           format: uuid
6733         nsiDescription:
6734           type: string
6735           nullable: true
6736         ssh_keys:
6737           type: string
6738         nsi_id:
6739           type: string
6740           format: uuid
6741         additionalParamsForNsi:
6742           type: object
6743           additionalProperties: true
6744         netslice-subnet:
6745           type: array
6746           items:
6747             type: object
6748             properties:
6749               id:
6750                 type: string
6751               nsName:
6752                 type: string
6753               nsdId:
6754                 type: string
6755                 format: uuid
6756               vimAccountId:
6757                 type: string
6758                 format: uuid
6759               lcmOperationType:
6760                 type: string
6761               nsInstanceId:
6762                 type: string
6763                 format: uuid
6764               netsliceInstanceId:
6765                 type: string
6766                 format: uuid
6767               nsDescription:
6768                 type: string
6769                 nullable: true
6770               wimAccountId:
6771                 oneOf:
6772                   - type: string
6773                   - type: boolean
6774                 nullable: true
6775               additionalParamsForNs:
6776                 type: object
6777                 additionalProperties: true
6778               additionalParamsForVnf: *additionalparamsforvnf
6779               ssh_keys:
6780                 type: array
6781                 items:
6782                   type: string
6783               nsr_id:
6784                 type: string
6785                 format: uuid
6786               vduImage:
6787                 type: string
6788               vnf:
6789                 type: array
6790                 items:
6791                   type: object
6792                   properties:
6793                     member-vnf-index:
6794                       type: string
6795                     vimAccountId:
6796                       type: string
6797                       format: uuid
6798                     vdu:
6799                       type: array
6800                       items:
6801                         type: object
6802                         properties:
6803                           id:
6804                             type: string
6805                           volume:
6806                             type: array
6807                             items:
6808                               type: object
6809                               properties:
6810                                 name:
6811                                   type: string
6812                                 vim-volume-id:
6813                                   type: string
6814                               required:
6815                                 - name
6816                                 - vim-volume-id
6817                               additionalProperties: false
6818                             minItems: 1
6819                           interface:
6820                             type: array
6821                             items:
6822                               type: object
6823                               properties:
6824                                 name:
6825                                   type: string
6826                                 ip-address:
6827                                   type: string
6828                                   format: ipv4
6829                                 mac-address:
6830                                   type: string
6831                                   format: mac_address
6832                                 floating-ip-required:
6833                                   type: boolean
6834                               required:
6835                                 - name
6836                               additionalProperties: false
6837                             minItems: 1
6838                         required:
6839                           - id
6840                         additionalProperties: false
6841                       minItems: 1
6842                     internal-vld:
6843                       type: array
6844                       items:
6845                         type: object
6846                         properties:
6847                           name:
6848                             type: string
6849                           vim-network-name:
6850                             type: string
6851                           vim-network-id:
6852                             type: string
6853                           ip-profile:
6854                             type: object
6855                             properties:
6856                               ip-version:
6857                                 type: string
6858                                 enum:
6859                                   - ipv4
6860                                   - ipv6
6861                               subnet-address:
6862                                 type: string
6863                                 format: ip_prefix
6864                                 nullable: true
6865                               gateway-address:
6866                                 type: string
6867                                 format: ipv4
6868                                 nullable: true
6869                               dns-server:
6870                                 type: array
6871                                 items:
6872                                   type: object
6873                                   properties:
6874                                     address:
6875                                       type: string
6876                                       format: ipv4
6877                                   required:
6878                                     - address
6879                                   additionalProperties: false
6880                                 minItems: 1
6881                                 nullable: true
6882                               dhcp-params:
6883                                 type: object
6884                                 properties:
6885                                   enabled:
6886                                     type: boolean
6887                                   count:
6888                                     type: integer
6889                                     minimum: 1
6890                                   start-address:
6891                                     type: string
6892                                     format: ipv4
6893                                 additionalProperties: false
6894                                 nullable: true
6895                             additionalProperties: false
6896                           provider-network:
6897                             type: object
6898                             properties:
6899                               physical-network:
6900                                 type: string
6901                               segmentation-id:
6902                                 type: string
6903                             additionalProperties: false
6904                           internal-connection-point:
6905                             type: array
6906                             items:
6907                               type: object
6908                               properties:
6909                                 id-ref:
6910                                   type: string
6911                                 ip-address:
6912                                   type: string
6913                                   format: ipv4
6914                               required:
6915                                 - id-ref
6916                               minProperties: 2
6917                               additionalProperties: False
6918                             minItems: 1
6919                         required:
6920                           - name
6921                         minProperties: 2
6922                         additionalProperties: false
6923                       minItems: 1
6924                   required:
6925                     - member-vnf-index
6926                   minProperties: 2
6927                   additionalProperties: false
6928                 minItems: 1
6929               vld:
6930                 type: array
6931                 items:
6932                   type: object
6933                   properties:
6934                     name:
6935                       type: string
6936                     vim-network-name:
6937                       oneOf:
6938                         - type: string
6939                         - type: object
6940                     vim-network-id:
6941                       oneOf:
6942                         - type: string
6943                         - type: object
6944                     ns-net:
6945                       type: object
6946                       additionalProperties: true
6947                     wimAccountId:
6948                       oneOf:
6949                         - type: string
6950                         - type: boolean
6951                       nullable: true
6952                     ip-profile:
6953                       type: object
6954                       additionalProperties: true
6955                     provider-network:
6956                       type: object
6957                       properties:
6958                         physical-network:
6959                           type: string
6960                         segmentation-id:
6961                           type: string
6962                       additionalProperties: false
6963                     vnfd-connection-point-ref:
6964                       type: array
6965                       items:
6966                         type: object
6967                         properties:
6968                           member-vnf-index-ref:
6969                             type: string
6970                           vnfd-connection-point-ref:
6971                             type: string
6972                           ip-address:
6973                             type: string
6974                             format: ipv4
6975                         required:
6976                           - member-vnf-index-ref
6977                           - vnfd-connection-point-ref
6978                         minProperties: 3
6979                         additionalProperties: false
6980                       minItems: 1
6981                   required:
6982                     - name
6983                   additionalProperties: false
6984                 minItems: 1
6985             additionalProperties: false
6986           minItems: 1
6987         netslice-vld:
6988           type: array
6989           items:
6990             type: object
6991             properties:
6992               name:
6993                 type: string
6994               vim-network-name:
6995                 oneOf:
6996                   - type: string
6997                   - type: object
6998               vim-network-id:
6999                 oneOf:
7000                   - type: string
7001                   - type: object
7002               ip-profile:
7003                 type: object
7004                 additionalProperties: true
7005             required:
7006               - name
7007             additionalProperties: false
7008           minItems: 1
7009       required:
7010         - nsiName
7011         - nstId
7012         - vimAccountId
7013       additionalProperties: false
7014     TerminateNsiRequest:
7015       type: object
7016       properties:
7017         terminationTime:
7018           description: |
7019             Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
7020             automatically at this timestamp. Cardinality "0" indicates the NSI termination
7021             takes place immediately.
7022           type: string
7023           format: date-time
7024     NsiActionRequest:
7025       type: object
7026       properties:
7027         primitive:
7028           type: string
7029         primitive_params:
7030           $ref: '#/components/schemas/KeyValuePairs'
7031         lcmOperationType:
7032           type: string
7033         netsliceInstanceId:
7034           type: string
7035           format: uuid
7036       required:
7037         - primitive
7038         - primitive_params
7039     # CreateNsiContentRequest:
7040       # Substituted by InstantiateNsiRequest
7041     CreateNsiContentResponse:
7042       type: object
7043       properties:
7044         id:
7045           type: string
7046           format: uuid
7047         nsilcmop_id:
7048           type: string
7049           format: uuid
7050     NsiLcmOpOcc:
7051       type: object
7052       properties:
7053         _id:
7054           type: string
7055           format: uuid
7056         id:
7057           type: string
7058           format: uuid
7059         lcmOperationType:
7060           type: string
7061         netsliceInstanceId:
7062           type: string
7063           format: uuid
7064         isAutomaticInvocation:
7065           type: boolean
7066         isCancelPending:
7067           type: boolean
7068         startTime:
7069           type: number
7070           format: float
7071         statusEnteredTime:
7072           type: number
7073           format: float
7074         operationParams:
7075           type: object
7076           properties:
7077             nsiName:
7078               type: string
7079             nstId:
7080               type: string
7081               format: uuid
7082             vimAccountId:
7083               type: string
7084               format: uuid
7085             netsliceInstanceId:
7086               type: string
7087               format: uuid
7088             lcmOperationType:
7089               type: string
7090             nslcmops_ids:
7091               type: array
7092               items:
7093                 type: string
7094                 format: uuid
7095         operationState:
7096           type: string
7097         detailed-status:
7098           type: string
7099         links:
7100           type: object
7101           properties:
7102             self:
7103               type: string
7104               format: path   # uri?
7105             netsliceInstanceId:
7106               type: string
7107               format: path   # uri?
7108     ArrayOfNsiLcmOpOcc:
7109       type: array
7110       items:
7111         $ref: '#/components/schemas/NsiLcmOpOcc'
7112     TokenInfo:
7113       type: object
7114       properties:
7115         _id:
7116           type: string
7117         id:
7118           type: string
7119         admin:
7120           type: boolean
7121         project_id:
7122           type: string
7123           format: uuid
7124         user_id:
7125           type: string
7126           format: uuid
7127         project_name:
7128           type: string
7129         username:
7130           type: string
7131         issued_at:
7132           type: number
7133           format: float
7134         expires:
7135           type: number
7136           format: float
7137         remote_host:
7138           type: string
7139           format: ipv4
7140         remote_port:
7141           type: integer
7142         roles:
7143           type: array
7144           items:
7145             type: object
7146             properties:
7147               id:
7148                 type: string
7149                 format: uuid
7150               name:
7151                 type: string
7152     ArrayOfTokenInfo:
7153       type: array
7154       items:
7155         $ref: '#/components/schemas/TokenInfo'
7156     CreateTokenRequest:
7157       type: object
7158       properties:
7159         username:
7160           type: string
7161         password:
7162           type: string
7163         project_id:
7164           type: string
7165       required:
7166         - username
7167         - password
7168     UserInfo:
7169       type: object
7170       properties:
7171         _id:
7172           type: string
7173           format: uuid
7174         username:
7175           type: string
7176         password:
7177           type: string
7178         project_role_mappings:
7179           type: array
7180           items:
7181             type: object
7182             properties:
7183               project:
7184                 type: string
7185                 format: uuid
7186               role:
7187                 type: string
7188                 format: uuid
7189               project_name:
7190                 type: string
7191               role_name:
7192                 type: string
7193         projects:
7194           type: array
7195           items:
7196             type: string
7197     ArrayOfUserInfo:
7198       type: array
7199       items:
7200         $ref: '#/components/schemas/UserInfo'
7201     ProjectRoleMappings:
7202       type: array
7203       items:
7204         type: object
7205         properties:
7206           project:
7207             type: string
7208           role:
7209             type: string
7210       required:
7211         - project
7212         - role
7213       additionalProperties: false
7214     ProjectRoleMappingsOpt:
7215       type: array
7216       items:
7217         type: object
7218         properties:
7219           project:
7220             type: string
7221           role:
7222             type: string
7223       required:
7224         - project
7225       additionalProperties: false
7226     CreateUserRequest:
7227       type: object
7228       properties:
7229         username:
7230           type: string
7231         password:
7232           type: string
7233         projects:
7234           type: array
7235           items:
7236             type: string
7237         project_role_mappings:
7238           $ref: '#/components/schemas/ProjectRoleMappings'
7239       required:
7240         - username
7241         - password
7242       additionalProperties: false
7243     ShortNameList:
7244       type: array
7245       items:
7246         type: string
7247     ArrayEditionSchema:
7248       type: object
7249       additionalProperties: true
7250       minProperties: 1
7251       description: |
7252         Array edition keys must start with '$'
7253         and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
7254     EditUserRequest:
7255       type: object
7256       properties:
7257         username:
7258           type: string
7259         password:
7260           type: string
7261         projects:
7262           oneOf:
7263             - $ref: '#/components/schemas/ShortNameList'
7264             - $ref: '#/components/schemas/ArrayEditionSchema'
7265         project_role_mappings:
7266           $ref: '#/components/schemas/ProjectRoleMappings'
7267         add_project_role_mappings:
7268           $ref: '#/components/schemas/ProjectRoleMappings'
7269         remove_project_role_mappings:
7270           $ref: '#/components/schemas/ProjectRoleMappingsOpt'
7271     QuotasInfo:
7272       type: object
7273       properties:
7274         vnfds:
7275           type: integer
7276           minimum: 0
7277           nullable: false
7278         nsds:
7279           type: integer
7280           minimum: 0
7281           nullable: false
7282         slice_templates:
7283           type: integer
7284           minimum: 0
7285           nullable: false
7286         pduds:
7287           type: integer
7288           minimum: 0
7289           nullable: false
7290         ns_instances:
7291           type: integer
7292           minimum: 0
7293           nullable: false
7294         slice_instances:
7295           type: integer
7296           minimum: 0
7297           nullable: false
7298         vim_accounts:
7299           type: integer
7300           minimum: 0
7301           nullable: false
7302         wim_accounts:
7303           type: integer
7304           minimum: 0
7305           nullable: false
7306         sdn_controllers:
7307           type: integer
7308           minimum: 0
7309           nullable: false
7310         k8sclusters:
7311           type: integer
7312           minimum: 0
7313           nullable: false
7314         k8srepos:
7315           type: integer
7316           minimum: 0
7317           nullable: false
7318         osmrepos:
7319           type: integer
7320           minimum: 0
7321           nullable: false
7322       additionalProperties: false
7323     EditQuotasInfo:
7324       type: object
7325       properties:
7326         vnfds:
7327           type: integer
7328           minimum: 0
7329           nullable: true
7330         nsds:
7331           type: integer
7332           minimum: 0
7333           nullable: true
7334         slice_templates:
7335           type: integer
7336           minimum: 0
7337           nullable: true
7338         pduds:
7339           type: integer
7340           minimum: 0
7341           nullable: true
7342         ns_instances:
7343           type: integer
7344           minimum: 0
7345           nullable: true
7346         slice_instances:
7347           type: integer
7348           minimum: 0
7349           nullable: true
7350         vim_accounts:
7351           type: integer
7352           minimum: 0
7353           nullable: true
7354         wim_accounts:
7355           type: integer
7356           minimum: 0
7357           nullable: true
7358         sdn_controllers:
7359           type: integer
7360           minimum: 0
7361           nullable: true
7362         k8sclusters:
7363           type: integer
7364           minimum: 0
7365           nullable: true
7366         k8srepos:
7367           type: integer
7368           minimum: 0
7369           nullable: true
7370         osmrepos:
7371           type: integer
7372           minimum: 0
7373           nullable: true
7374       additionalProperties: false
7375     ProjectInfo:
7376       type: object
7377       properties:
7378         _id:
7379           type: string
7380           format: uuid
7381         name:
7382           type: string
7383         quotas:
7384           $ref: '#/components/schemas/QuotasInfo'
7385     ArrayOfProjectInfo:
7386       type: array
7387       items:
7388         $ref: '#/components/schemas/ProjectInfo'
7389     CreateProjectRequest:
7390       type: object
7391       properties:
7392         name:
7393           type: string
7394         admin:
7395           type: boolean
7396         quotas:
7397           $ref: '#/components/schemas/QuotasInfo'
7398       required:
7399         - name
7400       additionalProperties: false
7401     EditProjectRequest:
7402       type: object
7403       properties:
7404         name:
7405           type: string
7406         admin:
7407           type: boolean
7408         quotas:
7409           $ref: '#/components/schemas/EditQuotasInfo'
7410       additionalProperties: false
7411     PermissionsInfo:
7412       type: object
7413       additionalProperties:
7414         type: boolean
7415         nullable: false
7416       description: |
7417         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7418         Permission values are either true or false
7419     EditPermissionsInfo:
7420       type: object
7421       additionalProperties:
7422         type: boolean
7423         nullable: true
7424       description: |
7425         Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
7426         Permission values are either true, false, or null
7427     RoleInfo:
7428       type: object
7429       properties:
7430         _id:
7431           type: string
7432           format: uuid
7433         name:
7434           type: string
7435         permissions:
7436           $ref: '#/components/schemas/PermissionsInfo'
7437     ArrayOfRoleInfo:
7438       type: array
7439       items:
7440         $ref: '#/components/schemas/RoleInfo'
7441     CreateRoleRequest:
7442       type: object
7443       properties:
7444         name:
7445           type: string
7446         permissions:
7447           $ref: '#/components/schemas/PermissionsInfo'
7448       required:
7449         - name
7450       additionalProperties: false
7451     EditRoleRequest:
7452       type: object
7453       properties:
7454         name:
7455           type: string
7456         permissions:
7457           $ref: '#/components/schemas/EditPermissionsInfo'
7458       additionalProperties: false
7459     VimType:
7460       type: string
7461       enum:
7462         - openvim
7463         - openstack
7464         - vmware
7465         - opennebula
7466         - aws
7467         - azure
7468         - fos
7469     VimInfo:
7470       type: object
7471       properties:
7472         _id:
7473           type: string
7474           format: uuid
7475         schema_version:
7476           type: string
7477           format: X.Y[.Z]
7478         schema_type:
7479           type: string
7480         name:
7481           type: string
7482         description:
7483           type: string
7484         vim:
7485           type: string
7486         datacenter:
7487           type: string
7488         vim_type:
7489           $ref: '#/components/schemas/VimType'
7490         vim_url:
7491           type: string
7492           format: uri
7493         vim_tenant_name:
7494           type: string
7495         vim_user:
7496           type: string
7497         vim_password:
7498           type: string
7499         config:
7500           type: object
7501           additionalProperties: true
7502     ArrayOfVimInfo:
7503       type: array
7504       items:
7505         $ref: '#/components/schemas/VimInfo'
7506     CreateVimRequest:
7507       type: object
7508       properties:
7509         schema_version:
7510           type: string
7511           format: X.Y[.Z]
7512         schema_type:
7513           type: string
7514         name:
7515           type: string
7516         description:
7517           type: string
7518         vim:
7519           type: string
7520         datacenter:
7521           type: string
7522         vim_type:
7523           $ref: '#/components/schemas/VimType'
7524         vim_url:
7525           type: string
7526           format: uri
7527         vim_tenant_name:
7528           type: string
7529         vim_user:
7530           type: string
7531         vim_password:
7532           type: string
7533         config:
7534           type: object
7535           additionalProperties: true
7536       required:
7537         - name
7538         - vim_url
7539         - vim_type
7540         - vim_user
7541         - vim_password
7542         - vim_tenant_name
7543       additionalProperties: false
7544     EditVimRequest:
7545       type: object
7546       properties:
7547         name:
7548           type: string
7549         description:
7550           type: string
7551         vim:
7552           type: string
7553         datacenter:
7554           type: string
7555         vim_type:
7556           $ref: '#/components/schemas/VimType'
7557         vim_url:
7558           type: string
7559           format: uri
7560         vim_tenant_name:
7561           type: string
7562         vim_user:
7563           type: string
7564         vim_password:
7565           type: string
7566         config:
7567           type: object
7568           additionalProperties: true
7569       additionalProperties: false
7570     ObjectId_plus_OpId:
7571       type: object
7572       properties:
7573         id:
7574           type: string
7575           format: uuid
7576         op_id:
7577           type: string
7578           format: uuid
7579     OpId:
7580       type: object
7581       properties:
7582         op_id:
7583           type: string
7584           format: uuid
7585     WimType:
7586       type: string
7587       enum:
7588         - onos
7589         - odl
7590         - tapi
7591         - dynpac
7592         - fake
7593     WimInfo:
7594       type: object
7595       properties:
7596         _id:
7597           type: string
7598           format: uuid
7599         schema_version:
7600           type: string
7601           format: X.Y[.Z]
7602         schema_type:
7603           type: string
7604         name:
7605           type: string
7606         description:
7607           type: string
7608         wim:
7609           type: string
7610         wim_type:
7611           $ref: '#/components/schemas/WimType'
7612         wim_url:
7613           type: string
7614           format: uri
7615         user:
7616           type: string
7617         password:
7618           type: string
7619         config:
7620           type: object
7621           additionalProperties: true
7622     ArrayOfWimInfo:
7623       type: array
7624       items:
7625         $ref: '#/components/schemas/WimInfo'
7626     CreateWimRequest:
7627       type: object
7628       properties:
7629         schema_version:
7630           type: string
7631           format: X.Y[.Z]
7632         schema_type:
7633           type: string
7634         name:
7635           type: string
7636         description:
7637           type: string
7638         wim:
7639           type: string
7640         wim_type:
7641           $ref: '#/components/schemas/WimType'
7642         wim_url:
7643           type: string
7644           format: uri
7645         user:
7646           type: string
7647         password:
7648           type: string
7649         config:
7650           type: object
7651           additionalProperties: true
7652       required:
7653         - name
7654         - wim_url
7655         - wim_type
7656       additionalProperties: false
7657     EditWimRequest:
7658       type: object
7659       properties:
7660         name:
7661           type: string
7662         description:
7663           type: string
7664         wim:
7665           type: string
7666         wim_type:
7667           type: string
7668         wim_url:
7669           type: string
7670           format: uri
7671         user:
7672           type: string
7673         password:
7674           type: string
7675         config:
7676           type: object
7677           additionalProperties: true
7678       additionalProperties: false
7679     SdnBasicProperties:
7680       type: object
7681       properties:
7682         name:
7683           type: string
7684         description:
7685           type: string
7686         dpid:
7687           type: string
7688           format: mac_address
7689         ip:
7690           type: string
7691           format: ipv4
7692         port:
7693           type: integer
7694         type:
7695           type: string
7696           enum:
7697             - floodlight
7698             - opendaylight
7699             - onos
7700         version:
7701           type: string
7702         user:
7703           type: string
7704         password:
7705           type: string
7706     SdnExtraProperties:
7707       type: object
7708       properties:
7709         _id:
7710           type: string
7711           format: uuid
7712         schema_version:
7713           type: string
7714           format: X.Y[.Z]
7715     SdnInfo:
7716       allOf:
7717         - $ref: '#/components/schemas/SdnExtraProperties'
7718         - $ref: '#/components/schemas/SdnBasicProperties'
7719     ArrayOfSdnInfo:
7720       type: array
7721       items:
7722         $ref: '#/components/schemas/SdnInfo'
7723     CreateSdnRequest:
7724       allOf:
7725         - $ref: '#/components/schemas/SdnBasicProperties'
7726       required:
7727         - name
7728         - type
7729         - ip
7730         - port
7731         - dpid
7732       additionalProperties: false
7733     EditSdnRequest:
7734       allOf:
7735         - $ref: '#/components/schemas/SdnBasicProperties'
7736       additionalProperties: false
7737     NsPmJobReportInfo:
7738       type: object
7739       properties:
7740         entries:
7741           type: array
7742           items:
7743             type: object
7744             properties:
7745               objectInstanceId:
7746                 type: string
7747                 format: uuid
7748               performanceMetric:
7749                 type: string
7750               performanceValue:
7751                 type: object
7752                 properties:
7753                   performanceValue:
7754                     type: object
7755                     properties:
7756                       performanceValue:
7757                         type: number
7758                       vnfMemberIndex:
7759                         type: string
7760                       vduName:
7761                         type: string
7762                   timestamp:
7763                     type: number
7764     PduInterfaces:
7765       type: array
7766       items:
7767         type: object
7768         properties:
7769           name:
7770             type: string
7771           mgmt:
7772             type: boolean
7773           type:
7774             type: string
7775             enum:
7776               - overlay
7777               - underlay
7778           ip-address:
7779             type: string
7780             format: ipv4
7781           mac-address:
7782             type: string
7783             format: mac_address
7784           vim-network-name:
7785             type: string
7786           vim-network-id:
7787             type: string
7788         required:
7789           - name
7790           - mgmt
7791           - ip-address
7792         additionalProperties: false
7793     PduInfo:
7794       type: object
7795       properties:
7796         _id:
7797           type: string
7798           format: uuid
7799         name:
7800           type: string
7801         type:
7802           type: string
7803         description:
7804           type: string
7805         shared:
7806           type: boolean
7807         vims:
7808           type: array
7809           items:
7810             type: string
7811         vim_accounts:
7812           type: array
7813           items:
7814             type: string
7815         interfaces:
7816           $ref: '#/components/schemas/PduInterfaces'
7817     ArrayOfPduInfo:
7818       type: array
7819       items:
7820         $ref: '#/components/schemas/PduInfo'
7821     CreatePduRequest:
7822       type: object
7823       properties:
7824         name:
7825           type: string
7826         type:
7827           type: string
7828         description:
7829           type: string
7830         shared:
7831           type: boolean
7832         vims:
7833           type: array
7834           items:
7835             type: string
7836         vim_accounts:
7837           type: array
7838           items:
7839             type: string
7840         interfaces:
7841           $ref: '#/components/schemas/PduInterfaces'
7842       required:
7843         - name
7844         - type
7845         - interfaces
7846       additionalProperties: false
7847     EditPduRequest:
7848       type: object
7849       properties:
7850         name:
7851           type: string
7852         type:
7853           type: string
7854         description:
7855           type: string
7856         shared:
7857           type: boolean
7858         vims:
7859           type: array
7860           items:
7861             type: string
7862         vim_accounts:
7863           type: array
7864           items:
7865             type: string
7866         interfaces:
7867           $ref: '#/components/schemas/PduInterfaces'
7868       additionalProperties: false
7869     K8sClusterNetList:
7870       type: array
7871       items:
7872         type: object
7873         additionalProperties: true
7874     K8sClusterInfo:
7875       type: object
7876       properties:
7877         _id:
7878           type: string
7879           format: uuid
7880         schema_version:
7881           type: string
7882           format: X.Y[.Z]
7883         schema_type:
7884           type: string
7885         name:
7886           type: string
7887         description:
7888           type: string
7889         credentials:
7890           type: object
7891           additionalProperties: true
7892         vim_account:
7893           type: string
7894           format: uuid
7895         k8s_version:
7896           type: string
7897         nets:
7898           $ref: '#/components/schemas/K8sClusterNetList'
7899         namespace:
7900           type: string
7901         cni:
7902           type: array
7903           items:
7904             type: string
7905     ArrayOfK8sClusterInfo:
7906       type: array
7907       items:
7908         $ref: '#/components/schemas/K8sClusterInfo'
7909     CreateK8sClusterRequest:
7910       type: object
7911       properties:
7912         schema_version:
7913           type: string
7914           format: X.Y[.Z]
7915         schema_type:
7916           type: string
7917         name:
7918           type: string
7919         description:
7920           type: string
7921         credentials:
7922           type: object
7923           additionalProperties: true
7924         vim_account:
7925           type: string
7926           format: uuid
7927         k8s_version:
7928           type: string
7929         nets:
7930           $ref: '#/components/schemas/K8sClusterNetList'
7931         namespace:
7932           type: string
7933         cni:
7934           type: array
7935           items:
7936             type: string
7937       required:
7938         - name
7939         - credentials
7940         - vim_account
7941         - k8s_version
7942         - nets
7943       additionalProperties: false
7944     EditK8sClusterRequest:
7945       type: object
7946       properties:
7947         name:
7948           type: string
7949         description:
7950           type: string
7951         credentials:
7952           type: object
7953           additionalProperties: true
7954         vim_account:
7955           type: string
7956           format: uuid
7957         k8s_version:
7958           type: string
7959         nets:
7960           $ref: '#/components/schemas/K8sClusterNetList'
7961         namespace:
7962           type: string
7963         cni:
7964           type: array
7965           items:
7966             type: string
7967       additionalProperties: false
7968     K8sRepoType:
7969       type: string
7970       enum:
7971         - chart
7972         - bundle
7973     K8sRepoInfo:
7974       type: object
7975       properties:
7976         _id:
7977           type: string
7978           format: uuid
7979         name:
7980           type: string
7981         description:
7982           type: string
7983         type:
7984           $ref: '#/components/schemas/K8sRepoType'
7985         url:
7986           type: string
7987           format: uri
7988     ArrayOfK8sRepoInfo:
7989       type: array
7990       items:
7991         $ref: '#/components/schemas/K8sRepoInfo'
7992     CreateK8sRepoRequest:
7993       type: object
7994       properties:
7995         name:
7996           type: string
7997         description:
7998           type: string
7999         type:
8000           $ref: '#/components/schemas/K8sRepoType'
8001         url:
8002           type: string
8003           format: uri
8004       required:
8005         - name
8006         - type
8007         - url
8008       additionalProperties: false
8009     NslcmSubscriptionResponse:
8010       type: object
8011       properties:
8012         id:
8013           type: string
8014           format: uuid
8015         filter:
8016           type: object
8017         CallbackUri:
8018           type: string
8019           format: uri
8020         _links:
8021           type: object
8022     NslcmSubscriptionInfo:
8023       type: object
8024       properties:
8025         _id:
8026           type: string
8027           format: uuid
8028         _admin:
8029           type: object
8030         schema_version:
8031           type: string
8032           format: 'X.Y[.Z]'
8033         CallbackUri:
8034           type: string
8035           format: uri
8036         filter:
8037           type: object
8038         authentication:
8039           $ref: '#/components/schemas/Authenticationschema'
8040     ArrayOfNslcmSubscriptionInfo:
8041       type: array
8042       items:
8043         $ref: '#/components/schemas/NslcmSubscriptionInfo'
8044     NsInstanceSubscriptionFilter:
8045       description: |
8046         used to identify the network service
8047       type: object
8048       oneOf:
8049         - $ref: '#/components/schemas/nsdIds'
8050         - $ref: '#/components/schemas/vnfdIds'
8051         - $ref: '#/components/schemas/pnfdIds'
8052         - $ref: '#/components/schemas/nsInstanceIds'
8053         - $ref: '#/components/schemas/nsInstanceNames'
8054     nsdIds:
8055       type: array
8056       items:
8057         type: string
8058     vnfdIds:
8059       type: array
8060       items:
8061         type: string
8062     pnfdIds:
8063       type: array
8064       items:
8065         type: string
8066     nsInstanceIds:
8067       type: array
8068       items:
8069         type: string
8070     nsInstanceNames:
8071       type: array
8072       items:
8073         type: string
8074     Nslcmsubschema:
8075       type: object
8076       properties:
8077         nsInstanceSubscriptionFilter:
8078            $ref: '#/components/schemas/NsInstanceSubscriptionFilter'
8079         notificationTypes:
8080           description: |
8081             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
8082           type: array
8083           items:
8084             type: string
8085             enum:
8086               - NsIdentifierCreationNotification
8087               - NsIdentifierDeletionNotification
8088               - NsLcmOperationOccurrenceNotification
8089               - NsChangeNotification
8090         operationTypes:
8091           type: array
8092           items:
8093             type: string
8094             enum:
8095               - INSTANTIATE
8096               - SCALE
8097               - TERMINATE
8098               - UPDATE
8099               - HEAL
8100         operationStates:
8101           type: array
8102           items:
8103             type: string
8104             enum:
8105               - PROCESSING
8106               - COMPLETED
8107               - PARTIALLY_COMPLETED
8108               - FAILED
8109               - FAILED_TEMP
8110               - ROLLING_BACK
8111               - ROLLED_BACK
8112         nsComponentTypes:
8113           type: array
8114           items:
8115             type: string
8116             enum:
8117               - VNF
8118               - NS
8119               - PNF
8120         lcmOpNameImpactingNsComponent:
8121           type: array
8122           items:
8123             type: string
8124             enum:
8125               - VNF_INSTANTIATE
8126               - VNF_SCALE
8127               - VNF_SCALE_TO_LEVEL
8128               - VNF_CHANGE_FLAVOUR
8129               - VNF_TERMINATE
8130               - VNF_HEAL
8131               - VNF_OPERATE
8132               - VNF_CHANGE_EXT_CONN
8133               - VNF_MODIFY_INFO
8134               - NS_INSTANTIATE
8135               - NS_SCALE
8136               - NS_UPDATE
8137               - NS_TERMINATE
8138               - NS_HEAL
8139         lcmOpOccStatusImpactingNsComponent:
8140           type: array
8141           items:
8142             type: string
8143             enum:
8144               - START
8145               - COMPLETED
8146               - PARTIALLY_COMPLETED
8147               - FAILED
8148               - ROLLED_BACK
8149     Authenticationschema:
8150       type: object
8151       properties:
8152         authType:
8153           type: string
8154           enum:
8155             - basic
8156         paramsBasic:
8157           type: object
8158           properties:
8159             userName:
8160               type: string
8161             password:
8162               type: string
8163     NslcmSubscriptionRequest:
8164       type: object
8165       properties:
8166         filter:
8167           $ref: '#/components/schemas/Nslcmsubschema'
8168         CallbackUri:
8169           type: string
8170           format: uri
8171         authentication:
8172           $ref: '#/components/schemas/Authenticationschema'
8173       required:
8174         - CallbackUri
8175   # END SCHEMAS
8176
8177   requestBodies:
8178     CreateNsdInfoRequest:
8179       content:
8180         application/json:
8181           schema:
8182             $ref: '#/components/schemas/CreateNsdInfoRequest'
8183         application/yaml:
8184           schema:
8185             $ref: '#/components/schemas/CreateNsdInfoRequest'
8186     NsdInfoModifications:
8187       content:
8188         application/json:
8189           schema:
8190             $ref: '#/components/schemas/NsdInfoModifications'
8191         application/yaml:
8192           schema:
8193             $ref: '#/components/schemas/NsdInfoModifications'
8194     NsDescriptor:
8195       content:
8196         text/plain:
8197           schema:
8198             $ref: '#/components/schemas/NsDescriptor'
8199     NsPackage:
8200       content:
8201         application/zip:
8202           schema:
8203             $ref: '#/components/schemas/NsPackage'
8204     CreateVnfPkgInfoRequest:
8205       content:
8206         application/json:
8207           schema:
8208             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
8209         application/yaml:
8210           schema:
8211             $ref: '#/components/schemas/CreateVnfPkgInfoRequest'
8212     VnfPkgInfoModifications:
8213       content:
8214         application/json:
8215           schema:
8216             $ref: '#/components/schemas/VnfPkgInfoModifications'
8217         application/yaml:
8218           schema:
8219             $ref: '#/components/schemas/VnfPkgInfoModifications'
8220     VnfPackage:
8221       content:
8222         application/zip:
8223           schema:
8224             $ref: '#/components/schemas/VnfPackage'
8225     VnfDescriptor:
8226       content:
8227         text/plain:
8228           schema:
8229             $ref: '#/components/schemas/VnfDescriptor'
8230     # CreateNsRequest:
8231       # Substituted by InstantiateNsRequest
8232     InstantiateNsRequest:
8233       content:
8234         application/json:
8235           schema:
8236             $ref: '#/components/schemas/InstantiateNsRequest'
8237         application/yaml:
8238           schema:
8239             $ref: '#/components/schemas/InstantiateNsRequest'
8240     ScaleNsRequest:
8241       content:
8242         application/json:
8243           schema:
8244             $ref: '#/components/schemas/ScaleNsRequest'
8245         application/yaml:
8246           schema:
8247             $ref: '#/components/schemas/ScaleNsRequest'
8248     TerminateNsRequest:
8249       content:
8250         application/json:
8251           schema:
8252             $ref: '#/components/schemas/TerminateNsRequest'
8253         application/yaml:
8254           schema:
8255             $ref: '#/components/schemas/TerminateNsRequest'
8256     # CreateNSinstanceContentRequest:
8257       # Substituted by InstantiateNsRequest
8258     CreateNstInfoRequest:
8259       content:
8260         application/json:
8261           schema:
8262             $ref: '#/components/schemas/CreateNstInfoRequest'
8263         application/yaml:
8264           schema:
8265             $ref: '#/components/schemas/CreateNstInfoRequest'
8266     NetSliceTemplate:
8267       content:
8268         text/plain:
8269           schema:
8270             $ref: '#/components/schemas/NetSliceTemplate'
8271     NetSlicePackage:
8272       content:
8273         application/zip:
8274           schema:
8275             $ref: '#/components/schemas/NetSlicePackage'
8276     NstInfoModifications:
8277       content:
8278         application/json:
8279           schema:
8280             $ref: '#/components/schemas/NstInfoModifications'
8281         application/yaml:
8282           schema:
8283             $ref: '#/components/schemas/NstInfoModifications'
8284     # CreateNsiRequest:
8285       # Substituted by InstantiateNsiRequest
8286     InstantiateNsiRequest:
8287       content:
8288         application/json:
8289           schema:
8290             $ref: '#/components/schemas/InstantiateNsiRequest'
8291         application/yaml:
8292           schema:
8293             $ref: '#/components/schemas/InstantiateNsiRequest'
8294     TerminateNsiRequest:
8295       content:
8296         application/json:
8297           schema:
8298             $ref: '#/components/schemas/TerminateNsiRequest'
8299         application/yaml:
8300           schema:
8301             $ref: '#/components/schemas/TerminateNsiRequest'
8302     NsiActionRequest:
8303       content:
8304         application/json:
8305           schema:
8306             $ref: '#/components/schemas/NsiActionRequest'
8307         application/yaml:
8308           schema:
8309             $ref: '#/components/schemas/NsiActionRequest'
8310     # CreateNsiContentRequest:
8311       # Substituted by InstantiateNsiRequest
8312     CreateTokenRequest:
8313       content:
8314         application/json:
8315           schema:
8316             $ref: '#/components/schemas/CreateTokenRequest'
8317         application/yaml:
8318           schema:
8319             $ref: '#/components/schemas/CreateTokenRequest'
8320     CreateUserRequest:
8321       content:
8322         application/json:
8323           schema:
8324             $ref: '#/components/schemas/CreateUserRequest'
8325         application/yaml:
8326           schema:
8327             $ref: '#/components/schemas/CreateUserRequest'
8328     EditUserRequest:
8329       content:
8330         application/json:
8331           schema:
8332             $ref: '#/components/schemas/EditUserRequest'
8333         application/yaml:
8334           schema:
8335             $ref: '#/components/schemas/EditUserRequest'
8336     CreateProjectRequest:
8337       content:
8338         application/json:
8339           schema:
8340             $ref: '#/components/schemas/CreateProjectRequest'
8341         application/yaml:
8342           schema:
8343             $ref: '#/components/schemas/CreateProjectRequest'
8344     EditProjectRequest:
8345       content:
8346         application/json:
8347           schema:
8348             $ref: '#/components/schemas/EditProjectRequest'
8349         application/yaml:
8350           schema:
8351             $ref: '#/components/schemas/EditProjectRequest'
8352     CreateRoleRequest:
8353       content:
8354         application/json:
8355           schema:
8356             $ref: '#/components/schemas/CreateRoleRequest'
8357         application/yaml:
8358           schema:
8359             $ref: '#/components/schemas/CreateRoleRequest'
8360     EditRoleRequest:
8361       content:
8362         application/json:
8363           schema:
8364             $ref: '#/components/schemas/EditRoleRequest'
8365         application/yaml:
8366           schema:
8367             $ref: '#/components/schemas/EditRoleRequest'
8368     CreateVimRequest:
8369       content:
8370         application/json:
8371           schema:
8372             $ref: '#/components/schemas/CreateVimRequest'
8373         application/yaml:
8374           schema:
8375             $ref: '#/components/schemas/CreateVimRequest'
8376     EditVimRequest:
8377       content:
8378         application/json:
8379           schema:
8380             $ref: '#/components/schemas/EditVimRequest'
8381         application/yaml:
8382           schema:
8383             $ref: '#/components/schemas/EditVimRequest'
8384     CreateWimRequest:
8385       content:
8386         application/json:
8387           schema:
8388             $ref: '#/components/schemas/CreateWimRequest'
8389         application/yaml:
8390           schema:
8391             $ref: '#/components/schemas/CreateWimRequest'
8392     EditWimRequest:
8393       content:
8394         application/json:
8395           schema:
8396             $ref: '#/components/schemas/EditWimRequest'
8397         application/yaml:
8398           schema:
8399             $ref: '#/components/schemas/EditWimRequest'
8400     CreateSdnRequest:
8401       content:
8402         application/json:
8403           schema:
8404             $ref: '#/components/schemas/CreateSdnRequest'
8405         application/yaml:
8406           schema:
8407             $ref: '#/components/schemas/CreateSdnRequest'
8408     EditSdnRequest:
8409       content:
8410         application/json:
8411           schema:
8412             $ref: '#/components/schemas/EditSdnRequest'
8413         application/yaml:
8414           schema:
8415             $ref: '#/components/schemas/EditSdnRequest'
8416     CreatePduRequest:
8417       content:
8418         application/json:
8419           schema:
8420             $ref: '#/components/schemas/CreatePduRequest'
8421         application/yaml:
8422           schema:
8423             $ref: '#/components/schemas/CreatePduRequest'
8424     EditPduRequest:
8425       content:
8426         application/json:
8427           schema:
8428             $ref: '#/components/schemas/EditPduRequest'
8429         application/yaml:
8430           schema:
8431             $ref: '#/components/schemas/EditPduRequest'
8432     CreateK8sClusterRequest:
8433       content:
8434         application/json:
8435           schema:
8436             $ref: '#/components/schemas/CreateK8sClusterRequest'
8437         application/yaml:
8438           schema:
8439             $ref: '#/components/schemas/CreateK8sClusterRequest'
8440     EditK8sClusterRequest:
8441       content:
8442         application/json:
8443           schema:
8444             $ref: '#/components/schemas/EditK8sClusterRequest'
8445         application/yaml:
8446           schema:
8447             $ref: '#/components/schemas/EditK8sClusterRequest'
8448     CreateK8sRepoRequest:
8449       content:
8450         application/json:
8451           schema:
8452             $ref: '#/components/schemas/CreateK8sRepoRequest'
8453         application/yaml:
8454           schema:
8455             $ref: '#/components/schemas/CreateK8sRepoRequest'
8456     NslcmSubscriptionRequest:
8457       content:
8458         application/json:
8459           schema:
8460             $ref: '#/components/schemas/NslcmSubscriptionRequest'
8461         application/yaml:
8462           schema:
8463             $ref: '#/components/schemas/NslcmSubscriptionRequest'
8464   # END REQUEST BODIES
8465
8466   securitySchemes:
8467     bearerAuth:
8468       type: http
8469       scheme: bearer