2ec31b4ae3512094b483051c551a21ee0b6ef1ce
[netconf.git] / restconf / restconf-openapi / src / test / resources / yang-document / controller-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/mandatory-test:root-mandatory-list={id}": {
15       "get": {
16         "tags": [
17           "Controller mandatory-test"
18         ],
19         "parameters": [
20           {
21             "name": "id",
22             "in": "path",
23             "required": true,
24             "schema": {
25               "type": "integer"
26             }
27           },
28           {
29             "name": "content",
30             "in": "query",
31             "required": false,
32             "schema": {
33               "enum": [
34                 "config",
35                 "nonconfig",
36                 "all"
37               ],
38               "type": "string"
39             }
40           }
41         ],
42         "responses": {
43           "200": {
44             "description": "200",
45             "content": {
46               "application/json": {
47                 "schema": {
48                   "properties": {
49                     "root-mandatory-list": {
50                       "type": "array",
51                       "items": {
52                         "$ref": "#/components/schemas/mandatory-test_root-mandatory-list",
53                         "type": "object"
54                       }
55                     }
56                   }
57                 }
58               },
59               "application/xml": {
60                 "schema": {
61                   "$ref": "#/components/schemas/mandatory-test_root-mandatory-list"
62                 }
63               }
64             }
65           }
66         },
67         "description": "",
68         "summary": "GET - Controller - mandatory-test - root-mandatory-list"
69       },
70       "put": {
71         "tags": [
72           "Controller mandatory-test"
73         ],
74         "parameters": [
75           {
76             "name": "id",
77             "in": "path",
78             "required": true,
79             "schema": {
80               "type": "integer"
81             }
82           }
83         ],
84         "requestBody": {
85           "description": "root-mandatory-list",
86           "content": {
87             "application/json": {
88               "schema": {
89                 "properties": {
90                   "mandatory-test:root-mandatory-list": {
91                     "type": "array",
92                     "items": {
93                       "$ref": "#/components/schemas/mandatory-test_root-mandatory-list",
94                       "type": "object"
95                     }
96                   }
97                 }
98               }
99             },
100             "application/xml": {
101               "schema": {
102                 "$ref": "#/components/schemas/mandatory-test_root-mandatory-list"
103               }
104             }
105           }
106         },
107         "responses": {
108           "201": {
109             "description": "Created"
110           },
111           "204": {
112             "description": "Updated"
113           }
114         },
115         "description": "",
116         "summary": "PUT - mandatory-test - Controller - root-mandatory-list"
117       },
118       "delete": {
119         "tags": [
120           "Controller mandatory-test"
121         ],
122         "parameters": [
123           {
124             "name": "id",
125             "in": "path",
126             "required": true,
127             "schema": {
128               "type": "integer"
129             }
130           }
131         ],
132         "responses": {
133           "204": {
134             "description": "Deleted"
135           }
136         },
137         "description": "",
138         "summary": "DELETE - Controller - mandatory-test - root-mandatory-list"
139       },
140       "patch": {
141         "tags": [
142           "Controller mandatory-test"
143         ],
144         "parameters": [
145           {
146             "name": "id",
147             "in": "path",
148             "required": true,
149             "schema": {
150               "type": "integer"
151             }
152           }
153         ],
154         "requestBody": {
155           "description": "root-mandatory-list",
156           "content": {
157             "application/yang-data+xml": {
158               "schema": {
159                 "$ref": "#/components/schemas/mandatory-test_root-mandatory-list"
160               }
161             },
162             "application/yang-data+json": {
163               "schema": {
164                 "properties": {
165                   "mandatory-test:root-mandatory-list": {
166                     "type": "array",
167                     "items": {
168                       "$ref": "#/components/schemas/mandatory-test_root-mandatory-list",
169                       "type": "object"
170                     }
171                   }
172                 }
173               }
174             }
175           }
176         },
177         "responses": {
178           "204": {
179             "description": "Updated"
180           },
181           "200": {
182             "description": "OK"
183           }
184         },
185         "description": "",
186         "summary": "PATCH - mandatory-test - Controller - root-mandatory-list"
187       }
188     },
189     "/rests/data": {
190       "post": {
191         "tags": [
192           "Controller mandatory-test"
193         ],
194         "parameters": [],
195         "requestBody": {
196           "description": "root-container",
197           "content": {
198             "application/json": {
199               "schema": {
200                 "properties": {
201                   "root-container": {
202                     "$ref": "#/components/schemas/mandatory-test_root-container",
203                     "type": "object"
204                   }
205                 }
206               }
207             },
208             "application/xml": {
209               "schema": {
210                 "$ref": "#/components/schemas/mandatory-test_root-container"
211               }
212             }
213           }
214         },
215         "responses": {
216           "201": {
217             "description": "Created"
218           }
219         },
220         "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",
221         "summary": "POST - Controller - mandatory-test - mandatory-test"
222       }
223     },
224     "/rests/data/mandatory-test:root-container/optional-list={id}": {
225       "get": {
226         "tags": [
227           "Controller mandatory-test"
228         ],
229         "parameters": [
230           {
231             "name": "id",
232             "in": "path",
233             "required": true,
234             "schema": {
235               "type": "integer"
236             }
237           },
238           {
239             "name": "content",
240             "in": "query",
241             "required": false,
242             "schema": {
243               "enum": [
244                 "config",
245                 "nonconfig",
246                 "all"
247               ],
248               "type": "string"
249             }
250           }
251         ],
252         "responses": {
253           "200": {
254             "description": "200",
255             "content": {
256               "application/json": {
257                 "schema": {
258                   "properties": {
259                     "optional-list": {
260                       "type": "array",
261                       "items": {
262                         "$ref": "#/components/schemas/mandatory-test_root-container_optional-list",
263                         "type": "object"
264                       }
265                     }
266                   }
267                 }
268               },
269               "application/xml": {
270                 "schema": {
271                   "$ref": "#/components/schemas/mandatory-test_root-container_optional-list"
272                 }
273               }
274             }
275           }
276         },
277         "description": "",
278         "summary": "GET - Controller - mandatory-test - optional-list"
279       },
280       "put": {
281         "tags": [
282           "Controller mandatory-test"
283         ],
284         "parameters": [
285           {
286             "name": "id",
287             "in": "path",
288             "required": true,
289             "schema": {
290               "type": "integer"
291             }
292           }
293         ],
294         "requestBody": {
295           "description": "optional-list",
296           "content": {
297             "application/json": {
298               "schema": {
299                 "properties": {
300                   "mandatory-test:optional-list": {
301                     "type": "array",
302                     "items": {
303                       "$ref": "#/components/schemas/mandatory-test_root-container_optional-list",
304                       "type": "object"
305                     }
306                   }
307                 }
308               }
309             },
310             "application/xml": {
311               "schema": {
312                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-list"
313               }
314             }
315           }
316         },
317         "responses": {
318           "201": {
319             "description": "Created"
320           },
321           "204": {
322             "description": "Updated"
323           }
324         },
325         "description": "",
326         "summary": "PUT - mandatory-test - Controller - optional-list"
327       },
328       "delete": {
329         "tags": [
330           "Controller mandatory-test"
331         ],
332         "parameters": [
333           {
334             "name": "id",
335             "in": "path",
336             "required": true,
337             "schema": {
338               "type": "integer"
339             }
340           }
341         ],
342         "responses": {
343           "204": {
344             "description": "Deleted"
345           }
346         },
347         "description": "",
348         "summary": "DELETE - Controller - mandatory-test - optional-list"
349       },
350       "patch": {
351         "tags": [
352           "Controller mandatory-test"
353         ],
354         "parameters": [
355           {
356             "name": "id",
357             "in": "path",
358             "required": true,
359             "schema": {
360               "type": "integer"
361             }
362           }
363         ],
364         "requestBody": {
365           "description": "optional-list",
366           "content": {
367             "application/yang-data+xml": {
368               "schema": {
369                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-list"
370               }
371             },
372             "application/yang-data+json": {
373               "schema": {
374                 "properties": {
375                   "mandatory-test:optional-list": {
376                     "type": "array",
377                     "items": {
378                       "$ref": "#/components/schemas/mandatory-test_root-container_optional-list",
379                       "type": "object"
380                     }
381                   }
382                 }
383               }
384             }
385           }
386         },
387         "responses": {
388           "204": {
389             "description": "Updated"
390           },
391           "200": {
392             "description": "OK"
393           }
394         },
395         "description": "",
396         "summary": "PATCH - mandatory-test - Controller - optional-list"
397       }
398     },
399     "/rests/data/mandatory-test:root-container/optional-presence-container": {
400       "get": {
401         "tags": [
402           "Controller mandatory-test"
403         ],
404         "parameters": [
405           {
406             "name": "content",
407             "in": "query",
408             "required": false,
409             "schema": {
410               "enum": [
411                 "config",
412                 "nonconfig",
413                 "all"
414               ],
415               "type": "string"
416             }
417           }
418         ],
419         "responses": {
420           "200": {
421             "description": "200",
422             "content": {
423               "application/json": {
424                 "schema": {
425                   "properties": {
426                     "optional-presence-container": {
427                       "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container",
428                       "type": "object"
429                     }
430                   }
431                 }
432               },
433               "application/xml": {
434                 "schema": {
435                   "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
436                 }
437               }
438             }
439           }
440         },
441         "description": "",
442         "summary": "GET - Controller - mandatory-test - optional-presence-container"
443       },
444       "put": {
445         "tags": [
446           "Controller mandatory-test"
447         ],
448         "parameters": [],
449         "requestBody": {
450           "description": "optional-presence-container",
451           "content": {
452             "application/json": {
453               "schema": {
454                 "properties": {
455                   "mandatory-test:optional-presence-container": {
456                     "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container",
457                     "type": "object"
458                   }
459                 }
460               }
461             },
462             "application/xml": {
463               "schema": {
464                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
465               }
466             }
467           }
468         },
469         "responses": {
470           "201": {
471             "description": "Created"
472           },
473           "204": {
474             "description": "Updated"
475           }
476         },
477         "description": "",
478         "summary": "PUT - mandatory-test - Controller - optional-presence-container"
479       },
480       "delete": {
481         "tags": [
482           "Controller mandatory-test"
483         ],
484         "parameters": [],
485         "responses": {
486           "204": {
487             "description": "Deleted"
488           }
489         },
490         "description": "",
491         "summary": "DELETE - Controller - mandatory-test - optional-presence-container"
492       },
493       "patch": {
494         "tags": [
495           "Controller mandatory-test"
496         ],
497         "parameters": [],
498         "requestBody": {
499           "description": "optional-presence-container",
500           "content": {
501             "application/yang-data+xml": {
502               "schema": {
503                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
504               }
505             },
506             "application/yang-data+json": {
507               "schema": {
508                 "properties": {
509                   "mandatory-test:optional-presence-container": {
510                     "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container",
511                     "type": "object"
512                   }
513                 }
514               }
515             }
516           }
517         },
518         "responses": {
519           "204": {
520             "description": "Updated"
521           },
522           "200": {
523             "description": "OK"
524           }
525         },
526         "description": "",
527         "summary": "PATCH - mandatory-test - Controller - optional-presence-container"
528       }
529     },
530     "/rests/data/mandatory-test:root-optional-list={id}": {
531       "get": {
532         "tags": [
533           "Controller mandatory-test"
534         ],
535         "parameters": [
536           {
537             "name": "id",
538             "in": "path",
539             "required": true,
540             "schema": {
541               "type": "integer"
542             }
543           },
544           {
545             "name": "content",
546             "in": "query",
547             "required": false,
548             "schema": {
549               "enum": [
550                 "config",
551                 "nonconfig",
552                 "all"
553               ],
554               "type": "string"
555             }
556           }
557         ],
558         "responses": {
559           "200": {
560             "description": "200",
561             "content": {
562               "application/json": {
563                 "schema": {
564                   "properties": {
565                     "root-optional-list": {
566                       "type": "array",
567                       "items": {
568                         "$ref": "#/components/schemas/mandatory-test_root-optional-list",
569                         "type": "object"
570                       }
571                     }
572                   }
573                 }
574               },
575               "application/xml": {
576                 "schema": {
577                   "$ref": "#/components/schemas/mandatory-test_root-optional-list"
578                 }
579               }
580             }
581           }
582         },
583         "description": "",
584         "summary": "GET - Controller - mandatory-test - root-optional-list"
585       },
586       "put": {
587         "tags": [
588           "Controller mandatory-test"
589         ],
590         "parameters": [
591           {
592             "name": "id",
593             "in": "path",
594             "required": true,
595             "schema": {
596               "type": "integer"
597             }
598           }
599         ],
600         "requestBody": {
601           "description": "root-optional-list",
602           "content": {
603             "application/json": {
604               "schema": {
605                 "properties": {
606                   "mandatory-test:root-optional-list": {
607                     "type": "array",
608                     "items": {
609                       "$ref": "#/components/schemas/mandatory-test_root-optional-list",
610                       "type": "object"
611                     }
612                   }
613                 }
614               }
615             },
616             "application/xml": {
617               "schema": {
618                 "$ref": "#/components/schemas/mandatory-test_root-optional-list"
619               }
620             }
621           }
622         },
623         "responses": {
624           "201": {
625             "description": "Created"
626           },
627           "204": {
628             "description": "Updated"
629           }
630         },
631         "description": "",
632         "summary": "PUT - mandatory-test - Controller - root-optional-list"
633       },
634       "delete": {
635         "tags": [
636           "Controller mandatory-test"
637         ],
638         "parameters": [
639           {
640             "name": "id",
641             "in": "path",
642             "required": true,
643             "schema": {
644               "type": "integer"
645             }
646           }
647         ],
648         "responses": {
649           "204": {
650             "description": "Deleted"
651           }
652         },
653         "description": "",
654         "summary": "DELETE - Controller - mandatory-test - root-optional-list"
655       },
656       "patch": {
657         "tags": [
658           "Controller mandatory-test"
659         ],
660         "parameters": [
661           {
662             "name": "id",
663             "in": "path",
664             "required": true,
665             "schema": {
666               "type": "integer"
667             }
668           }
669         ],
670         "requestBody": {
671           "description": "root-optional-list",
672           "content": {
673             "application/yang-data+xml": {
674               "schema": {
675                 "$ref": "#/components/schemas/mandatory-test_root-optional-list"
676               }
677             },
678             "application/yang-data+json": {
679               "schema": {
680                 "properties": {
681                   "mandatory-test:root-optional-list": {
682                     "type": "array",
683                     "items": {
684                       "$ref": "#/components/schemas/mandatory-test_root-optional-list",
685                       "type": "object"
686                     }
687                   }
688                 }
689               }
690             }
691           }
692         },
693         "responses": {
694           "204": {
695             "description": "Updated"
696           },
697           "200": {
698             "description": "OK"
699           }
700         },
701         "description": "",
702         "summary": "PATCH - mandatory-test - Controller - root-optional-list"
703       }
704     },
705     "/rests/data/mandatory-test:root-container": {
706       "get": {
707         "tags": [
708           "Controller mandatory-test"
709         ],
710         "parameters": [
711           {
712             "name": "content",
713             "in": "query",
714             "required": false,
715             "schema": {
716               "enum": [
717                 "config",
718                 "nonconfig",
719                 "all"
720               ],
721               "type": "string"
722             }
723           }
724         ],
725         "responses": {
726           "200": {
727             "description": "200",
728             "content": {
729               "application/json": {
730                 "schema": {
731                   "properties": {
732                     "root-container": {
733                       "$ref": "#/components/schemas/mandatory-test_root-container",
734                       "type": "object"
735                     }
736                   }
737                 }
738               },
739               "application/xml": {
740                 "schema": {
741                   "$ref": "#/components/schemas/mandatory-test_root-container"
742                 }
743               }
744             }
745           }
746         },
747         "description": "",
748         "summary": "GET - Controller - mandatory-test - root-container"
749       },
750       "put": {
751         "tags": [
752           "Controller mandatory-test"
753         ],
754         "parameters": [],
755         "requestBody": {
756           "description": "root-container",
757           "content": {
758             "application/json": {
759               "schema": {
760                 "properties": {
761                   "mandatory-test:root-container": {
762                     "$ref": "#/components/schemas/mandatory-test_root-container",
763                     "type": "object"
764                   }
765                 }
766               }
767             },
768             "application/xml": {
769               "schema": {
770                 "$ref": "#/components/schemas/mandatory-test_root-container"
771               }
772             }
773           }
774         },
775         "responses": {
776           "201": {
777             "description": "Created"
778           },
779           "204": {
780             "description": "Updated"
781           }
782         },
783         "description": "",
784         "summary": "PUT - mandatory-test - Controller - root-container"
785       },
786       "post": {
787         "tags": [
788           "Controller mandatory-test"
789         ],
790         "parameters": [],
791         "requestBody": {
792           "description": "optional-presence-container",
793           "content": {
794             "application/json": {
795               "schema": {
796                 "properties": {
797                   "optional-presence-container": {
798                     "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container",
799                     "type": "object"
800                   }
801                 }
802               }
803             },
804             "application/xml": {
805               "schema": {
806                 "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
807               }
808             }
809           }
810         },
811         "responses": {
812           "201": {
813             "description": "Created"
814           }
815         },
816         "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",
817         "summary": "POST - Controller - mandatory-test - root-container"
818       },
819       "delete": {
820         "tags": [
821           "Controller mandatory-test"
822         ],
823         "parameters": [],
824         "responses": {
825           "204": {
826             "description": "Deleted"
827           }
828         },
829         "description": "",
830         "summary": "DELETE - Controller - mandatory-test - root-container"
831       },
832       "patch": {
833         "tags": [
834           "Controller mandatory-test"
835         ],
836         "parameters": [],
837         "requestBody": {
838           "description": "root-container",
839           "content": {
840             "application/yang-data+xml": {
841               "schema": {
842                 "$ref": "#/components/schemas/mandatory-test_root-container"
843               }
844             },
845             "application/yang-data+json": {
846               "schema": {
847                 "properties": {
848                   "mandatory-test:root-container": {
849                     "$ref": "#/components/schemas/mandatory-test_root-container",
850                     "type": "object"
851                   }
852                 }
853               }
854             }
855           }
856         },
857         "responses": {
858           "204": {
859             "description": "Updated"
860           },
861           "200": {
862             "description": "OK"
863           }
864         },
865         "description": "",
866         "summary": "PATCH - mandatory-test - Controller - root-container"
867       }
868     },
869     "/rests/data/mandatory-test:root-container/mandatory-container": {
870       "get": {
871         "tags": [
872           "Controller mandatory-test"
873         ],
874         "parameters": [
875           {
876             "name": "content",
877             "in": "query",
878             "required": false,
879             "schema": {
880               "enum": [
881                 "config",
882                 "nonconfig",
883                 "all"
884               ],
885               "type": "string"
886             }
887           }
888         ],
889         "responses": {
890           "200": {
891             "description": "200",
892             "content": {
893               "application/json": {
894                 "schema": {
895                   "properties": {
896                     "mandatory-container": {
897                       "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container",
898                       "type": "object"
899                     }
900                   }
901                 }
902               },
903               "application/xml": {
904                 "schema": {
905                   "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container"
906                 }
907               }
908             }
909           }
910         },
911         "description": "",
912         "summary": "GET - Controller - mandatory-test - mandatory-container"
913       },
914       "put": {
915         "tags": [
916           "Controller mandatory-test"
917         ],
918         "parameters": [],
919         "requestBody": {
920           "description": "mandatory-container",
921           "content": {
922             "application/json": {
923               "schema": {
924                 "properties": {
925                   "mandatory-test:mandatory-container": {
926                     "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container",
927                     "type": "object"
928                   }
929                 }
930               }
931             },
932             "application/xml": {
933               "schema": {
934                 "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container"
935               }
936             }
937           }
938         },
939         "responses": {
940           "201": {
941             "description": "Created"
942           },
943           "204": {
944             "description": "Updated"
945           }
946         },
947         "description": "",
948         "summary": "PUT - mandatory-test - Controller - mandatory-container"
949       },
950       "delete": {
951         "tags": [
952           "Controller mandatory-test"
953         ],
954         "parameters": [],
955         "responses": {
956           "204": {
957             "description": "Deleted"
958           }
959         },
960         "description": "",
961         "summary": "DELETE - Controller - mandatory-test - mandatory-container"
962       },
963       "patch": {
964         "tags": [
965           "Controller mandatory-test"
966         ],
967         "parameters": [],
968         "requestBody": {
969           "description": "mandatory-container",
970           "content": {
971             "application/yang-data+xml": {
972               "schema": {
973                 "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container"
974               }
975             },
976             "application/yang-data+json": {
977               "schema": {
978                 "properties": {
979                   "mandatory-test:mandatory-container": {
980                     "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container",
981                     "type": "object"
982                   }
983                 }
984               }
985             }
986           }
987         },
988         "responses": {
989           "204": {
990             "description": "Updated"
991           },
992           "200": {
993             "description": "OK"
994           }
995         },
996         "description": "",
997         "summary": "PATCH - mandatory-test - Controller - mandatory-container"
998       }
999     },
1000     "/rests/data/mandatory-test:root-container/mandatory-list={id}": {
1001       "get": {
1002         "tags": [
1003           "Controller 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/json": {
1033                 "schema": {
1034                   "properties": {
1035                     "mandatory-list": {
1036                       "type": "array",
1037                       "items": {
1038                         "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list",
1039                         "type": "object"
1040                       }
1041                     }
1042                   }
1043                 }
1044               },
1045               "application/xml": {
1046                 "schema": {
1047                   "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list"
1048                 }
1049               }
1050             }
1051           }
1052         },
1053         "description": "",
1054         "summary": "GET - Controller - mandatory-test - mandatory-list"
1055       },
1056       "put": {
1057         "tags": [
1058           "Controller 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": "mandatory-list",
1072           "content": {
1073             "application/json": {
1074               "schema": {
1075                 "properties": {
1076                   "mandatory-test:mandatory-list": {
1077                     "type": "array",
1078                     "items": {
1079                       "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list",
1080                       "type": "object"
1081                     }
1082                   }
1083                 }
1084               }
1085             },
1086             "application/xml": {
1087               "schema": {
1088                 "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list"
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 - Controller - mandatory-list"
1103       },
1104       "delete": {
1105         "tags": [
1106           "Controller 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 - Controller - mandatory-test - mandatory-list"
1125       },
1126       "patch": {
1127         "tags": [
1128           "Controller 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": "mandatory-list",
1142           "content": {
1143             "application/yang-data+xml": {
1144               "schema": {
1145                 "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list"
1146               }
1147             },
1148             "application/yang-data+json": {
1149               "schema": {
1150                 "properties": {
1151                   "mandatory-test:mandatory-list": {
1152                     "type": "array",
1153                     "items": {
1154                       "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list",
1155                       "type": "object"
1156                     }
1157                   }
1158                 }
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 - Controller - 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           "id": {
1184             "description": "",
1185             "type": "integer",
1186             "example": 0,
1187             "format": "int64"
1188           },
1189           "mandatory-list-field": {
1190             "description": "",
1191             "type": "string",
1192             "example": "Some mandatory-list-field"
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           "optional-first-choice": {
1212             "description": "",
1213             "type": "string",
1214             "example": "Some optional-first-choice"
1215           },
1216           "mandatory-container": {
1217             "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-container"
1218           },
1219           "optional-presence-container": {
1220             "$ref": "#/components/schemas/mandatory-test_root-container_optional-presence-container"
1221           },
1222           "optional-root-leaf": {
1223             "description": "",
1224             "type": "string",
1225             "example": "Some optional-root-leaf"
1226           },
1227           "mandatory-first-choice": {
1228             "description": "",
1229             "type": "string",
1230             "example": "Some mandatory-first-choice"
1231           },
1232           "mandatory-list": {
1233             "description": "",
1234             "type": "array",
1235             "items": {
1236               "$ref": "#/components/schemas/mandatory-test_root-container_mandatory-list"
1237             },
1238             "example": [
1239               {
1240                 "id": 0,
1241                 "mandatory-list-field": "Some mandatory-list-field"
1242               },
1243               {
1244                 "id": 1,
1245                 "mandatory-list-field": "Some mandatory-list-field"
1246               }
1247             ],
1248             "minItems": 2
1249           },
1250           "mandatory-root-leaf": {
1251             "description": "",
1252             "type": "string",
1253             "example": "Some mandatory-root-leaf"
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           "id": {
1274             "description": "",
1275             "type": "integer",
1276             "example": 0,
1277             "format": "int64"
1278           },
1279           "optional-list-field": {
1280             "description": "",
1281             "type": "string",
1282             "example": "Some optional-list-field"
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           "id": {
1312             "description": "",
1313             "type": "integer",
1314             "example": 0,
1315             "format": "int64"
1316           },
1317           "root-optional-list-field": {
1318             "description": "",
1319             "type": "string",
1320             "example": "Some root-optional-list-field"
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 }