3a788f7d208b307ab640fbf8557c12b35b46366b
[netconf.git] / restconf / restconf-openapi / src / test / resources / yang-document / device-mandatory-test.json
1 {
2   "openapi": "3.0.3",
3   "info": {
4     "version": "1.0.0",
5     "title": "mandatory-test",
6     "description": "We are providing full API for configurational data which can be edited (by POST, PUT, PATCH and DELETE).\nFor operational data we only provide GET API.\n\nFor majority of request you can see only config data in examples. That’s because we can show only one example\nper request. The exception when you can see operational data in example is when data are representing\noperational (config false) container with no config data in it."
7   },
8   "servers": [
9     {
10       "url": "http://localhost:8181/"
11     }
12   ],
13   "paths": {
14     "/rests/data/nodes/node=123/yang-ext:mount/mandatory-test:root-container/mandatory-container": {
15       "get": {
16         "tags": [
17           "123 mandatory-test"
18         ],
19         "parameters": [
20           {
21             "name": "content",
22             "in": "query",
23             "required": false,
24             "schema": {
25               "enum": [
26                 "config",
27                 "nonconfig",
28                 "all"
29               ],
30               "type": "string"
31             }
32           }
33         ],
34         "responses": {
35           "200": {
36             "description": "200",
37             "content": {
38               "application/xml": {
39                 "schema": {
40                   "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container"
41                 }
42               },
43               "application/json": {
44                 "schema": {
45                   "properties": {
46                     "mandatory-container": {
47                       "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container",
48                       "type": "object"
49                     }
50                   }
51                 }
52               }
53             }
54           }
55         },
56         "description": "",
57         "summary": "GET - 123 - mandatory-test - mandatory-container"
58       },
59       "put": {
60         "tags": [
61           "123 mandatory-test"
62         ],
63         "parameters": [],
64         "requestBody": {
65           "description": "mandatory-container",
66           "content": {
67             "application/xml": {
68               "schema": {
69                 "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container"
70               }
71             },
72             "application/json": {
73               "schema": {
74                 "properties": {
75                   "mandatory-test:mandatory-container": {
76                     "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container",
77                     "type": "object"
78                   }
79                 }
80               }
81             }
82           }
83         },
84         "responses": {
85           "201": {
86             "description": "Created"
87           },
88           "204": {
89             "description": "Updated"
90           }
91         },
92         "description": "",
93         "summary": "PUT - mandatory-test - 123 - mandatory-container"
94       },
95       "delete": {
96         "tags": [
97           "123 mandatory-test"
98         ],
99         "parameters": [],
100         "responses": {
101           "204": {
102             "description": "Deleted"
103           }
104         },
105         "description": "",
106         "summary": "DELETE - 123 - mandatory-test - mandatory-container"
107       },
108       "patch": {
109         "tags": [
110           "123 mandatory-test"
111         ],
112         "parameters": [],
113         "requestBody": {
114           "description": "mandatory-container",
115           "content": {
116             "application/yang-data+json": {
117               "schema": {
118                 "properties": {
119                   "mandatory-test:mandatory-container": {
120                     "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container",
121                     "type": "object"
122                   }
123                 }
124               }
125             },
126             "application/yang-data+xml": {
127               "schema": {
128                 "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container"
129               }
130             }
131           }
132         },
133         "responses": {
134           "204": {
135             "description": "Updated"
136           },
137           "200": {
138             "description": "OK"
139           }
140         },
141         "description": "",
142         "summary": "PATCH - mandatory-test - 123 - mandatory-container"
143       }
144     },
145     "/rests/data/nodes/node=123/yang-ext:mount/mandatory-test:root-container/optional-list={id}": {
146       "get": {
147         "tags": [
148           "123 mandatory-test"
149         ],
150         "parameters": [
151           {
152             "name": "id",
153             "in": "path",
154             "required": true,
155             "schema": {
156               "type": "integer"
157             }
158           },
159           {
160             "name": "content",
161             "in": "query",
162             "required": false,
163             "schema": {
164               "enum": [
165                 "config",
166                 "nonconfig",
167                 "all"
168               ],
169               "type": "string"
170             }
171           }
172         ],
173         "responses": {
174           "200": {
175             "description": "200",
176             "content": {
177               "application/xml": {
178                 "schema": {
179                   "$ref": "#/components/schemas/mandatory-test_root-container_optional-list"
180                 }
181               },
182               "application/json": {
183                 "schema": {
184                   "properties": {
185                     "optional-list": {
186                       "type": "array",
187                       "items": {
188                         "$ref": "#/components/schemas/mandatory-test_root-container_optional-list",
189                         "type": "object"
190                       }
191                     }
192                   }
193                 }
194               }
195             }
196           }
197         },
198         "description": "",
199         "summary": "GET - 123 - mandatory-test - optional-list"
200       },
201       "put": {
202         "tags": [
203           "123 mandatory-test"
204         ],
205         "parameters": [
206           {
207             "name": "id",
208             "in": "path",
209             "required": true,
210             "schema": {
211               "type": "integer"
212             }
213           }
214         ],
215         "requestBody": {
216           "description": "optional-list",
217           "content": {
218             "application/xml": {
219               "schema": {
220                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-list"
221               }
222             },
223             "application/json": {
224               "schema": {
225                 "properties": {
226                   "mandatory-test:optional-list": {
227                     "type": "array",
228                     "items": {
229                       "$ref": "#/components/schemas/mandatory-test_root-container_optional-list",
230                       "type": "object"
231                     }
232                   }
233                 }
234               }
235             }
236           }
237         },
238         "responses": {
239           "201": {
240             "description": "Created"
241           },
242           "204": {
243             "description": "Updated"
244           }
245         },
246         "description": "",
247         "summary": "PUT - mandatory-test - 123 - optional-list"
248       },
249       "delete": {
250         "tags": [
251           "123 mandatory-test"
252         ],
253         "parameters": [
254           {
255             "name": "id",
256             "in": "path",
257             "required": true,
258             "schema": {
259               "type": "integer"
260             }
261           }
262         ],
263         "responses": {
264           "204": {
265             "description": "Deleted"
266           }
267         },
268         "description": "",
269         "summary": "DELETE - 123 - mandatory-test - optional-list"
270       },
271       "patch": {
272         "tags": [
273           "123 mandatory-test"
274         ],
275         "parameters": [
276           {
277             "name": "id",
278             "in": "path",
279             "required": true,
280             "schema": {
281               "type": "integer"
282             }
283           }
284         ],
285         "requestBody": {
286           "description": "optional-list",
287           "content": {
288             "application/yang-data+json": {
289               "schema": {
290                 "properties": {
291                   "mandatory-test:optional-list": {
292                     "type": "array",
293                     "items": {
294                       "$ref": "#/components/schemas/mandatory-test_root-container_optional-list",
295                       "type": "object"
296                     }
297                   }
298                 }
299               }
300             },
301             "application/yang-data+xml": {
302               "schema": {
303                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-list"
304               }
305             }
306           }
307         },
308         "responses": {
309           "204": {
310             "description": "Updated"
311           },
312           "200": {
313             "description": "OK"
314           }
315         },
316         "description": "",
317         "summary": "PATCH - mandatory-test - 123 - optional-list"
318       }
319     },
320     "/rests/data/nodes/node=123/yang-ext:mount/mandatory-test:root-container/mandatory-list={id}": {
321       "get": {
322         "tags": [
323           "123 mandatory-test"
324         ],
325         "parameters": [
326           {
327             "name": "id",
328             "in": "path",
329             "required": true,
330             "schema": {
331               "type": "integer"
332             }
333           },
334           {
335             "name": "content",
336             "in": "query",
337             "required": false,
338             "schema": {
339               "enum": [
340                 "config",
341                 "nonconfig",
342                 "all"
343               ],
344               "type": "string"
345             }
346           }
347         ],
348         "responses": {
349           "200": {
350             "description": "200",
351             "content": {
352               "application/xml": {
353                 "schema": {
354                   "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list"
355                 }
356               },
357               "application/json": {
358                 "schema": {
359                   "properties": {
360                     "mandatory-list": {
361                       "type": "array",
362                       "items": {
363                         "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list",
364                         "type": "object"
365                       }
366                     }
367                   }
368                 }
369               }
370             }
371           }
372         },
373         "description": "",
374         "summary": "GET - 123 - mandatory-test - mandatory-list"
375       },
376       "put": {
377         "tags": [
378           "123 mandatory-test"
379         ],
380         "parameters": [
381           {
382             "name": "id",
383             "in": "path",
384             "required": true,
385             "schema": {
386               "type": "integer"
387             }
388           }
389         ],
390         "requestBody": {
391           "description": "mandatory-list",
392           "content": {
393             "application/xml": {
394               "schema": {
395                 "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list"
396               }
397             },
398             "application/json": {
399               "schema": {
400                 "properties": {
401                   "mandatory-test:mandatory-list": {
402                     "type": "array",
403                     "items": {
404                       "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list",
405                       "type": "object"
406                     }
407                   }
408                 }
409               }
410             }
411           }
412         },
413         "responses": {
414           "201": {
415             "description": "Created"
416           },
417           "204": {
418             "description": "Updated"
419           }
420         },
421         "description": "",
422         "summary": "PUT - mandatory-test - 123 - mandatory-list"
423       },
424       "delete": {
425         "tags": [
426           "123 mandatory-test"
427         ],
428         "parameters": [
429           {
430             "name": "id",
431             "in": "path",
432             "required": true,
433             "schema": {
434               "type": "integer"
435             }
436           }
437         ],
438         "responses": {
439           "204": {
440             "description": "Deleted"
441           }
442         },
443         "description": "",
444         "summary": "DELETE - 123 - mandatory-test - mandatory-list"
445       },
446       "patch": {
447         "tags": [
448           "123 mandatory-test"
449         ],
450         "parameters": [
451           {
452             "name": "id",
453             "in": "path",
454             "required": true,
455             "schema": {
456               "type": "integer"
457             }
458           }
459         ],
460         "requestBody": {
461           "description": "mandatory-list",
462           "content": {
463             "application/yang-data+json": {
464               "schema": {
465                 "properties": {
466                   "mandatory-test:mandatory-list": {
467                     "type": "array",
468                     "items": {
469                       "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list",
470                       "type": "object"
471                     }
472                   }
473                 }
474               }
475             },
476             "application/yang-data+xml": {
477               "schema": {
478                 "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list"
479               }
480             }
481           }
482         },
483         "responses": {
484           "204": {
485             "description": "Updated"
486           },
487           "200": {
488             "description": "OK"
489           }
490         },
491         "description": "",
492         "summary": "PATCH - mandatory-test - 123 - mandatory-list"
493       }
494     },
495     "/rests/data/nodes/node=123/yang-ext:mount/mandatory-test:root-optional-list={id}": {
496       "get": {
497         "tags": [
498           "123 mandatory-test"
499         ],
500         "parameters": [
501           {
502             "name": "id",
503             "in": "path",
504             "required": true,
505             "schema": {
506               "type": "integer"
507             }
508           },
509           {
510             "name": "content",
511             "in": "query",
512             "required": false,
513             "schema": {
514               "enum": [
515                 "config",
516                 "nonconfig",
517                 "all"
518               ],
519               "type": "string"
520             }
521           }
522         ],
523         "responses": {
524           "200": {
525             "description": "200",
526             "content": {
527               "application/xml": {
528                 "schema": {
529                   "$ref": "#/components/schemas/mandatory-test_root-optional-list"
530                 }
531               },
532               "application/json": {
533                 "schema": {
534                   "properties": {
535                     "root-optional-list": {
536                       "type": "array",
537                       "items": {
538                         "$ref": "#/components/schemas/mandatory-test_root-optional-list",
539                         "type": "object"
540                       }
541                     }
542                   }
543                 }
544               }
545             }
546           }
547         },
548         "description": "",
549         "summary": "GET - 123 - mandatory-test - root-optional-list"
550       },
551       "put": {
552         "tags": [
553           "123 mandatory-test"
554         ],
555         "parameters": [
556           {
557             "name": "id",
558             "in": "path",
559             "required": true,
560             "schema": {
561               "type": "integer"
562             }
563           }
564         ],
565         "requestBody": {
566           "description": "root-optional-list",
567           "content": {
568             "application/xml": {
569               "schema": {
570                 "$ref": "#/components/schemas/mandatory-test_root-optional-list"
571               }
572             },
573             "application/json": {
574               "schema": {
575                 "properties": {
576                   "mandatory-test:root-optional-list": {
577                     "type": "array",
578                     "items": {
579                       "$ref": "#/components/schemas/mandatory-test_root-optional-list",
580                       "type": "object"
581                     }
582                   }
583                 }
584               }
585             }
586           }
587         },
588         "responses": {
589           "201": {
590             "description": "Created"
591           },
592           "204": {
593             "description": "Updated"
594           }
595         },
596         "description": "",
597         "summary": "PUT - mandatory-test - 123 - root-optional-list"
598       },
599       "delete": {
600         "tags": [
601           "123 mandatory-test"
602         ],
603         "parameters": [
604           {
605             "name": "id",
606             "in": "path",
607             "required": true,
608             "schema": {
609               "type": "integer"
610             }
611           }
612         ],
613         "responses": {
614           "204": {
615             "description": "Deleted"
616           }
617         },
618         "description": "",
619         "summary": "DELETE - 123 - mandatory-test - root-optional-list"
620       },
621       "patch": {
622         "tags": [
623           "123 mandatory-test"
624         ],
625         "parameters": [
626           {
627             "name": "id",
628             "in": "path",
629             "required": true,
630             "schema": {
631               "type": "integer"
632             }
633           }
634         ],
635         "requestBody": {
636           "description": "root-optional-list",
637           "content": {
638             "application/yang-data+json": {
639               "schema": {
640                 "properties": {
641                   "mandatory-test:root-optional-list": {
642                     "type": "array",
643                     "items": {
644                       "$ref": "#/components/schemas/mandatory-test_root-optional-list",
645                       "type": "object"
646                     }
647                   }
648                 }
649               }
650             },
651             "application/yang-data+xml": {
652               "schema": {
653                 "$ref": "#/components/schemas/mandatory-test_root-optional-list"
654               }
655             }
656           }
657         },
658         "responses": {
659           "204": {
660             "description": "Updated"
661           },
662           "200": {
663             "description": "OK"
664           }
665         },
666         "description": "",
667         "summary": "PATCH - mandatory-test - 123 - root-optional-list"
668       }
669     },
670     "/rests/data/nodes/node=123/yang-ext:mount/mandatory-test:root-container": {
671       "get": {
672         "tags": [
673           "123 mandatory-test"
674         ],
675         "parameters": [
676           {
677             "name": "content",
678             "in": "query",
679             "required": false,
680             "schema": {
681               "enum": [
682                 "config",
683                 "nonconfig",
684                 "all"
685               ],
686               "type": "string"
687             }
688           }
689         ],
690         "responses": {
691           "200": {
692             "description": "200",
693             "content": {
694               "application/xml": {
695                 "schema": {
696                   "$ref": "#/components/schemas/mandatory-test_root-container"
697                 }
698               },
699               "application/json": {
700                 "schema": {
701                   "properties": {
702                     "root-container": {
703                       "$ref": "#/components/schemas/mandatory-test_root-container",
704                       "type": "object"
705                     }
706                   }
707                 }
708               }
709             }
710           }
711         },
712         "description": "",
713         "summary": "GET - 123 - mandatory-test - root-container"
714       },
715       "put": {
716         "tags": [
717           "123 mandatory-test"
718         ],
719         "parameters": [],
720         "requestBody": {
721           "description": "root-container",
722           "content": {
723             "application/xml": {
724               "schema": {
725                 "$ref": "#/components/schemas/mandatory-test_root-container"
726               }
727             },
728             "application/json": {
729               "schema": {
730                 "properties": {
731                   "mandatory-test:root-container": {
732                     "$ref": "#/components/schemas/mandatory-test_root-container",
733                     "type": "object"
734                   }
735                 }
736               }
737             }
738           }
739         },
740         "responses": {
741           "201": {
742             "description": "Created"
743           },
744           "204": {
745             "description": "Updated"
746           }
747         },
748         "description": "",
749         "summary": "PUT - mandatory-test - 123 - root-container"
750       },
751       "post": {
752         "tags": [
753           "123 mandatory-test"
754         ],
755         "parameters": [],
756         "requestBody": {
757           "description": "optional-presence-container",
758           "content": {
759             "application/xml": {
760               "schema": {
761                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
762               }
763             },
764             "application/json": {
765               "schema": {
766                 "properties": {
767                   "optional-presence-container": {
768                     "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container",
769                     "type": "object"
770                   }
771                 }
772               }
773             }
774           }
775         },
776         "responses": {
777           "201": {
778             "description": "Created"
779           }
780         },
781         "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
782         "summary": "POST - 123 - mandatory-test - root-container"
783       },
784       "delete": {
785         "tags": [
786           "123 mandatory-test"
787         ],
788         "parameters": [],
789         "responses": {
790           "204": {
791             "description": "Deleted"
792           }
793         },
794         "description": "",
795         "summary": "DELETE - 123 - mandatory-test - root-container"
796       },
797       "patch": {
798         "tags": [
799           "123 mandatory-test"
800         ],
801         "parameters": [],
802         "requestBody": {
803           "description": "root-container",
804           "content": {
805             "application/yang-data+json": {
806               "schema": {
807                 "properties": {
808                   "mandatory-test:root-container": {
809                     "$ref": "#/components/schemas/mandatory-test_root-container",
810                     "type": "object"
811                   }
812                 }
813               }
814             },
815             "application/yang-data+xml": {
816               "schema": {
817                 "$ref": "#/components/schemas/mandatory-test_root-container"
818               }
819             }
820           }
821         },
822         "responses": {
823           "204": {
824             "description": "Updated"
825           },
826           "200": {
827             "description": "OK"
828           }
829         },
830         "description": "",
831         "summary": "PATCH - mandatory-test - 123 - root-container"
832       }
833     },
834     "/rests/data/nodes/node=123/yang-ext:mount/mandatory-test:root-container/optional-presence-container": {
835       "get": {
836         "tags": [
837           "123 mandatory-test"
838         ],
839         "parameters": [
840           {
841             "name": "content",
842             "in": "query",
843             "required": false,
844             "schema": {
845               "enum": [
846                 "config",
847                 "nonconfig",
848                 "all"
849               ],
850               "type": "string"
851             }
852           }
853         ],
854         "responses": {
855           "200": {
856             "description": "200",
857             "content": {
858               "application/xml": {
859                 "schema": {
860                   "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
861                 }
862               },
863               "application/json": {
864                 "schema": {
865                   "properties": {
866                     "optional-presence-container": {
867                       "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container",
868                       "type": "object"
869                     }
870                   }
871                 }
872               }
873             }
874           }
875         },
876         "description": "",
877         "summary": "GET - 123 - mandatory-test - optional-presence-container"
878       },
879       "put": {
880         "tags": [
881           "123 mandatory-test"
882         ],
883         "parameters": [],
884         "requestBody": {
885           "description": "optional-presence-container",
886           "content": {
887             "application/xml": {
888               "schema": {
889                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
890               }
891             },
892             "application/json": {
893               "schema": {
894                 "properties": {
895                   "mandatory-test:optional-presence-container": {
896                     "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container",
897                     "type": "object"
898                   }
899                 }
900               }
901             }
902           }
903         },
904         "responses": {
905           "201": {
906             "description": "Created"
907           },
908           "204": {
909             "description": "Updated"
910           }
911         },
912         "description": "",
913         "summary": "PUT - mandatory-test - 123 - optional-presence-container"
914       },
915       "delete": {
916         "tags": [
917           "123 mandatory-test"
918         ],
919         "parameters": [],
920         "responses": {
921           "204": {
922             "description": "Deleted"
923           }
924         },
925         "description": "",
926         "summary": "DELETE - 123 - mandatory-test - optional-presence-container"
927       },
928       "patch": {
929         "tags": [
930           "123 mandatory-test"
931         ],
932         "parameters": [],
933         "requestBody": {
934           "description": "optional-presence-container",
935           "content": {
936             "application/yang-data+json": {
937               "schema": {
938                 "properties": {
939                   "mandatory-test:optional-presence-container": {
940                     "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container",
941                     "type": "object"
942                   }
943                 }
944               }
945             },
946             "application/yang-data+xml": {
947               "schema": {
948                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
949               }
950             }
951           }
952         },
953         "responses": {
954           "204": {
955             "description": "Updated"
956           },
957           "200": {
958             "description": "OK"
959           }
960         },
961         "description": "",
962         "summary": "PATCH - mandatory-test - 123 - optional-presence-container"
963       }
964     },
965     "/rests/data/nodes/node=123/yang-ext:mount": {
966       "post": {
967         "tags": [
968           "123 mandatory-test"
969         ],
970         "parameters": [],
971         "requestBody": {
972           "description": "root-container",
973           "content": {
974             "application/xml": {
975               "schema": {
976                 "$ref": "#/components/schemas/mandatory-test_root-container"
977               }
978             },
979             "application/json": {
980               "schema": {
981                 "properties": {
982                   "root-container": {
983                     "$ref": "#/components/schemas/mandatory-test_root-container",
984                     "type": "object"
985                   }
986                 }
987               }
988             }
989           }
990         },
991         "responses": {
992           "201": {
993             "description": "Created"
994           }
995         },
996         "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
997         "summary": "POST - 123 - mandatory-test - mandatory-test"
998       }
999     },
1000     "/rests/data/nodes/node=123/yang-ext:mount/mandatory-test:root-mandatory-list={id}": {
1001       "get": {
1002         "tags": [
1003           "123 mandatory-test"
1004         ],
1005         "parameters": [
1006           {
1007             "name": "id",
1008             "in": "path",
1009             "required": true,
1010             "schema": {
1011               "type": "integer"
1012             }
1013           },
1014           {
1015             "name": "content",
1016             "in": "query",
1017             "required": false,
1018             "schema": {
1019               "enum": [
1020                 "config",
1021                 "nonconfig",
1022                 "all"
1023               ],
1024               "type": "string"
1025             }
1026           }
1027         ],
1028         "responses": {
1029           "200": {
1030             "description": "200",
1031             "content": {
1032               "application/xml": {
1033                 "schema": {
1034                   "$ref": "#/components/schemas/mandatory-test_root-mandatory-list"
1035                 }
1036               },
1037               "application/json": {
1038                 "schema": {
1039                   "properties": {
1040                     "root-mandatory-list": {
1041                       "type": "array",
1042                       "items": {
1043                         "$ref": "#/components/schemas/mandatory-test_root-mandatory-list",
1044                         "type": "object"
1045                       }
1046                     }
1047                   }
1048                 }
1049               }
1050             }
1051           }
1052         },
1053         "description": "",
1054         "summary": "GET - 123 - mandatory-test - root-mandatory-list"
1055       },
1056       "put": {
1057         "tags": [
1058           "123 mandatory-test"
1059         ],
1060         "parameters": [
1061           {
1062             "name": "id",
1063             "in": "path",
1064             "required": true,
1065             "schema": {
1066               "type": "integer"
1067             }
1068           }
1069         ],
1070         "requestBody": {
1071           "description": "root-mandatory-list",
1072           "content": {
1073             "application/xml": {
1074               "schema": {
1075                 "$ref": "#/components/schemas/mandatory-test_root-mandatory-list"
1076               }
1077             },
1078             "application/json": {
1079               "schema": {
1080                 "properties": {
1081                   "mandatory-test:root-mandatory-list": {
1082                     "type": "array",
1083                     "items": {
1084                       "$ref": "#/components/schemas/mandatory-test_root-mandatory-list",
1085                       "type": "object"
1086                     }
1087                   }
1088                 }
1089               }
1090             }
1091           }
1092         },
1093         "responses": {
1094           "201": {
1095             "description": "Created"
1096           },
1097           "204": {
1098             "description": "Updated"
1099           }
1100         },
1101         "description": "",
1102         "summary": "PUT - mandatory-test - 123 - root-mandatory-list"
1103       },
1104       "delete": {
1105         "tags": [
1106           "123 mandatory-test"
1107         ],
1108         "parameters": [
1109           {
1110             "name": "id",
1111             "in": "path",
1112             "required": true,
1113             "schema": {
1114               "type": "integer"
1115             }
1116           }
1117         ],
1118         "responses": {
1119           "204": {
1120             "description": "Deleted"
1121           }
1122         },
1123         "description": "",
1124         "summary": "DELETE - 123 - mandatory-test - root-mandatory-list"
1125       },
1126       "patch": {
1127         "tags": [
1128           "123 mandatory-test"
1129         ],
1130         "parameters": [
1131           {
1132             "name": "id",
1133             "in": "path",
1134             "required": true,
1135             "schema": {
1136               "type": "integer"
1137             }
1138           }
1139         ],
1140         "requestBody": {
1141           "description": "root-mandatory-list",
1142           "content": {
1143             "application/yang-data+json": {
1144               "schema": {
1145                 "properties": {
1146                   "mandatory-test:root-mandatory-list": {
1147                     "type": "array",
1148                     "items": {
1149                       "$ref": "#/components/schemas/mandatory-test_root-mandatory-list",
1150                       "type": "object"
1151                     }
1152                   }
1153                 }
1154               }
1155             },
1156             "application/yang-data+xml": {
1157               "schema": {
1158                 "$ref": "#/components/schemas/mandatory-test_root-mandatory-list"
1159               }
1160             }
1161           }
1162         },
1163         "responses": {
1164           "204": {
1165             "description": "Updated"
1166           },
1167           "200": {
1168             "description": "OK"
1169           }
1170         },
1171         "description": "",
1172         "summary": "PATCH - mandatory-test - 123 - root-mandatory-list"
1173       }
1174     }
1175   },
1176   "components": {
1177     "schemas": {
1178       "mandatory-test_root-container_mandatory-list": {
1179         "required": [
1180           "mandatory-list-field"
1181         ],
1182         "properties": {
1183           "mandatory-list-field": {
1184             "description": "",
1185             "type": "string",
1186             "example": "Some mandatory-list-field"
1187           },
1188           "id": {
1189             "description": "",
1190             "type": "integer",
1191             "example": 0,
1192             "format": "int64"
1193           }
1194         },
1195         "xml": {
1196           "name": "mandatory-list",
1197           "namespace": "http://example.com/test"
1198         },
1199         "description": "",
1200         "title": "mandatory-test_root-container_mandatory-list",
1201         "type": "object"
1202       },
1203       "mandatory-test_root-container": {
1204         "required": [
1205           "mandatory-root-leaf",
1206           "mandatory-container",
1207           "mandatory-first-choice",
1208           "mandatory-list"
1209         ],
1210         "properties": {
1211           "mandatory-root-leaf": {
1212             "description": "",
1213             "type": "string",
1214             "example": "Some mandatory-root-leaf"
1215           },
1216           "mandatory-list": {
1217             "description": "",
1218             "type": "array",
1219             "items": {
1220               "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list"
1221             },
1222             "example": [
1223               {
1224                 "id": 0,
1225                 "mandatory-list-field": "Some mandatory-list-field"
1226               },
1227               {
1228                 "id": 1,
1229                 "mandatory-list-field": "Some mandatory-list-field"
1230               }
1231             ],
1232             "minItems": 2
1233           },
1234           "mandatory-first-choice": {
1235             "description": "",
1236             "type": "string",
1237             "example": "Some mandatory-first-choice"
1238           },
1239           "optional-root-leaf": {
1240             "description": "",
1241             "type": "string",
1242             "example": "Some optional-root-leaf"
1243           },
1244           "optional-presence-container": {
1245             "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
1246           },
1247           "mandatory-container": {
1248             "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container"
1249           },
1250           "optional-first-choice": {
1251             "description": "",
1252             "type": "string",
1253             "example": "Some optional-first-choice"
1254           },
1255           "optional-list": {
1256             "description": "",
1257             "type": "array",
1258             "items": {
1259               "$ref": "#/components/schemas/mandatory-test_root-container_optional-list"
1260             }
1261           }
1262         },
1263         "xml": {
1264           "name": "root-container",
1265           "namespace": "http://example.com/test"
1266         },
1267         "description": "",
1268         "title": "mandatory-test_root-container",
1269         "type": "object"
1270       },
1271       "mandatory-test_root-container_optional-list": {
1272         "properties": {
1273           "optional-list-field": {
1274             "description": "",
1275             "type": "string",
1276             "example": "Some optional-list-field"
1277           },
1278           "id": {
1279             "description": "",
1280             "type": "integer",
1281             "example": 0,
1282             "format": "int64"
1283           }
1284         },
1285         "xml": {
1286           "name": "optional-list",
1287           "namespace": "http://example.com/test"
1288         },
1289         "description": "",
1290         "title": "mandatory-test_root-container_optional-list",
1291         "type": "object"
1292       },
1293       "mandatory-test_root-container_optional-presence-container": {
1294         "properties": {
1295           "presence-leaf": {
1296             "description": "",
1297             "type": "string",
1298             "example": "Some presence-leaf"
1299           }
1300         },
1301         "xml": {
1302           "name": "optional-presence-container",
1303           "namespace": "http://example.com/test"
1304         },
1305         "description": "",
1306         "title": "mandatory-test_root-container_optional-presence-container",
1307         "type": "object"
1308       },
1309       "mandatory-test_root-optional-list": {
1310         "properties": {
1311           "root-optional-list-field": {
1312             "description": "",
1313             "type": "string",
1314             "example": "Some root-optional-list-field"
1315           },
1316           "id": {
1317             "description": "",
1318             "type": "integer",
1319             "example": 0,
1320             "format": "int64"
1321           }
1322         },
1323         "xml": {
1324           "name": "root-optional-list",
1325           "namespace": "http://example.com/test"
1326         },
1327         "description": "",
1328         "title": "mandatory-test_root-optional-list",
1329         "type": "object"
1330       },
1331       "mandatory-test_root-mandatory-list": {
1332         "properties": {
1333           "id": {
1334             "description": "",
1335             "type": "integer",
1336             "example": 0,
1337             "format": "int64"
1338           },
1339           "root-mandatory-list-field": {
1340             "description": "",
1341             "type": "string",
1342             "example": "Some root-mandatory-list-field"
1343           }
1344         },
1345         "xml": {
1346           "name": "root-mandatory-list",
1347           "namespace": "http://example.com/test"
1348         },
1349         "description": "",
1350         "title": "mandatory-test_root-mandatory-list",
1351         "type": "object"
1352       },
1353       "mandatory-test_root-container_mandatory-container": {
1354         "required": [
1355           "mandatory-leaf",
1356           "leaf-list-with-min-elements"
1357         ],
1358         "properties": {
1359           "leaf-list-with-min-elements": {
1360             "description": "",
1361             "type": "array",
1362             "items": {
1363               "type": "string",
1364               "example": "Some leaf-list-with-min-elements"
1365             },
1366             "example": [
1367               "Some leaf-list-with-min-elements",
1368               "Some leaf-list-with-min-elements"
1369             ],
1370             "minItems": 2
1371           },
1372           "mandatory-leaf": {
1373             "description": "",
1374             "type": "string",
1375             "example": "Some mandatory-leaf"
1376           }
1377         },
1378         "xml": {
1379           "name": "mandatory-container",
1380           "namespace": "http://example.com/test"
1381         },
1382         "description": "",
1383         "title": "mandatory-test_root-container_mandatory-container",
1384         "type": "object"
1385       }
1386     },
1387     "securitySchemes": {
1388       "basicAuth": {
1389         "scheme": "basic",
1390         "type": "http"
1391       }
1392     }
1393   },
1394   "security": [
1395     {
1396       "basicAuth": []
1397     }
1398   ]
1399 }