[cps] Fix getResourceDataForPassthroughOperational endpoint
[cps.git] / docs / api / swagger / ncmp / openapi.yaml
1 openapi: 3.0.1
2 info:
3   title: NCMP to CPS Proxy API
4   description: NCMP to CPS Proxy API
5   version: "1.0"
6 servers:
7 - url: /ncmp
8 paths:
9   /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational:
10     get:
11       tags:
12       - network-cm-proxy
13       summary: Get resource data from pass-through operational for cm handle
14       description: Get resource data from pass-through operational for given cm handle
15       operationId: getResourceDataOperationalForCmHandle
16       parameters:
17       - name: cm-handle
18         in: path
19         description: "The identifier for a network function, network element, subnetwork\
20           \ or any other cm object by managed Network CM Proxy"
21         required: true
22         schema:
23           type: string
24           example: my-cm-handle
25       - name: resourceIdentifier
26         in: query
27         description: The format of resource identifier depend on the associated DMI
28           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
29           it can really be anything.
30         required: true
31         allowReserved: true
32         schema:
33           type: string
34         examples:
35           sample 1:
36             value:
37               resourceIdentifier: \shops\bookstore
38           sample 2:
39             value:
40               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
41           sample 3:
42             value:
43               resourceIdentifier: "parent=shops,child=bookstore"
44       - name: options
45         in: query
46         description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
47           \ in parenthesis'()'. The format of options parameter depend on the associated\
48           \ DMI Plugin implementation."
49         required: false
50         allowReserved: true
51         schema:
52           type: string
53         examples:
54           sample 1:
55             value:
56               options: (depth=3)
57           sample 2:
58             value:
59               options: (fields=book)
60           sample 3:
61             value:
62               options: "(depth=2,fields=book/authors)"
63       - name: topic
64         in: query
65         description: topic parameter in query.
66         required: false
67         allowReserved: true
68         schema:
69           type: string
70         examples:
71           sample 1:
72             value:
73               topic: my-topic-name
74       responses:
75         "200":
76           description: OK
77           content:
78             application/json:
79               schema:
80                 type: object
81               examples:
82                 dataSampleResponse:
83                   $ref: '#/components/examples/dataSampleResponse'
84         "400":
85           description: Bad Request
86           content:
87             application/json:
88               schema:
89                 $ref: '#/components/schemas/ErrorMessage'
90               example:
91                 status: 400 BAD_REQUEST
92                 message: Bad request error message
93                 details: Bad request error details
94         "401":
95           description: Unauthorized
96           content:
97             application/json:
98               schema:
99                 $ref: '#/components/schemas/ErrorMessage'
100               example:
101                 status: 401
102                 message: Unauthorized error message
103                 details: Unauthorized error details
104         "403":
105           description: Forbidden
106           content:
107             application/json:
108               schema:
109                 $ref: '#/components/schemas/ErrorMessage'
110               example:
111                 status: 403
112                 message: Forbidden error message
113                 details: Forbidden error details
114         "500":
115           description: Internal Server Error
116           content:
117             application/json:
118               schema:
119                 $ref: '#/components/schemas/ErrorMessage'
120               example:
121                 status: 500
122                 message: Internal Server Error
123                 details: Internal Server Error occurred
124         "502":
125           description: Bad Gateway
126           content:
127             application/json:
128               schema:
129                 $ref: '#/components/schemas/DmiErrorMessage'
130               example:
131                 message: "Bad Gateway Error Message NCMP"
132                 dmi-response:
133                   http-code: 400
134                   body: Bad Request
135
136   /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running:
137     get:
138       tags:
139       - network-cm-proxy
140       summary: Get resource data from pass-through running for cm handle
141       description: Get resource data from pass-through running for given cm handle
142       operationId: getResourceDataRunningForCmHandle
143       parameters:
144       - name: cm-handle
145         in: path
146         description: "The identifier for a network function, network element, subnetwork\
147           \ or any other cm object by managed Network CM Proxy"
148         required: true
149         schema:
150           type: string
151           example: my-cm-handle
152       - name: resourceIdentifier
153         in: query
154         description: The format of resource identifier depend on the associated DMI
155           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
156           it can really be anything.
157         required: true
158         allowReserved: true
159         schema:
160           type: string
161         examples:
162           sample 1:
163             value:
164               resourceIdentifier: \shops\bookstore
165           sample 2:
166             value:
167               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
168           sample 3:
169             value:
170               resourceIdentifier: "parent=shops,child=bookstore"
171       - name: options
172         in: query
173         description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
174           \ in parenthesis'()'. The format of options parameter depend on the associated\
175           \ DMI Plugin implementation."
176         required: false
177         allowReserved: true
178         schema:
179           type: string
180         examples:
181           sample 1:
182             value:
183               options: (depth=3)
184           sample 2:
185             value:
186               options: (fields=book)
187           sample 3:
188             value:
189               options: "(depth=2,fields=book/authors)"
190       - name: topic
191         in: query
192         description: topic parameter in query.
193         required: false
194         allowReserved: true
195         schema:
196           type: string
197         examples:
198           sample 1:
199             value:
200               topic: my-topic-name
201       responses:
202         "200":
203           description: OK
204           content:
205             application/json:
206               schema:
207                 type: object
208               examples:
209                 dataSampleResponse:
210                   $ref: '#/components/examples/dataSampleResponse'
211         "400":
212           description: Bad Request
213           content:
214             application/json:
215               schema:
216                 $ref: '#/components/schemas/ErrorMessage'
217               example:
218                 status: 400 BAD_REQUEST
219                 message: Bad request error message
220                 details: Bad request error details
221         "401":
222           description: Unauthorized
223           content:
224             application/json:
225               schema:
226                 $ref: '#/components/schemas/ErrorMessage'
227               example:
228                 status: 401
229                 message: Unauthorized error message
230                 details: Unauthorized error details
231         "403":
232           description: Forbidden
233           content:
234             application/json:
235               schema:
236                 $ref: '#/components/schemas/ErrorMessage'
237               example:
238                 status: 403
239                 message: Forbidden error message
240                 details: Forbidden error details
241         "500":
242           description: Internal Server Error
243           content:
244             application/json:
245               schema:
246                 $ref: '#/components/schemas/ErrorMessage'
247               example:
248                 status: 500
249                 message: Internal Server Error
250                 details: Internal Server Error occurred
251         "502":
252           description: Bad Gateway
253           content:
254             application/json:
255               schema:
256                 $ref: '#/components/schemas/DmiErrorMessage'
257               example:
258                 message: "Bad Gateway Error Message NCMP"
259                 dmi-response:
260                   http-code: 400
261                   body: Bad Request
262     put:
263       tags:
264       - network-cm-proxy
265       summary: Update resource data from pass-through running for a cm handle
266       description: Update resource data from pass-through running for the given cm
267         handle
268       operationId: updateResourceDataRunningForCmHandle
269       parameters:
270       - name: cm-handle
271         in: path
272         description: "The identifier for a network function, network element, subnetwork\
273           \ or any other cm object by managed Network CM Proxy"
274         required: true
275         schema:
276           type: string
277           example: my-cm-handle
278       - name: resourceIdentifier
279         in: query
280         description: The format of resource identifier depend on the associated DMI
281           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
282           it can really be anything.
283         required: true
284         allowReserved: true
285         schema:
286           type: string
287         examples:
288           sample 1:
289             value:
290               resourceIdentifier: \shops\bookstore
291           sample 2:
292             value:
293               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
294           sample 3:
295             value:
296               resourceIdentifier: "parent=shops,child=bookstore"
297       - name: Content-Type
298         in: header
299         description: "Content parameter for request, if content parameter is null,\
300           \ default value is application/json."
301         required: false
302         schema:
303           type: string
304           example: application/yang-data+json
305           default: application/json
306       requestBody:
307         content:
308           application/json:
309             schema:
310               type: object
311             examples:
312               dataSampleRequest:
313                 $ref: '#/components/examples/dataSampleRequest'
314           application/yang-data+json:
315             schema:
316               type: object
317             examples:
318               dataSampleRequest:
319                 $ref: '#/components/examples/dataSampleRequest'
320         required: true
321       responses:
322         "200":
323           description: OK
324           content:
325             application/json:
326               schema:
327                 type: object
328         "400":
329           description: Bad Request
330           content:
331             application/json:
332               schema:
333                 $ref: '#/components/schemas/ErrorMessage'
334               example:
335                 status: 400 BAD_REQUEST
336                 message: Bad request error message
337                 details: Bad request error details
338         "401":
339           description: Unauthorized
340           content:
341             application/json:
342               schema:
343                 $ref: '#/components/schemas/ErrorMessage'
344               example:
345                 status: 401
346                 message: Unauthorized error message
347                 details: Unauthorized error details
348         "403":
349           description: Forbidden
350           content:
351             application/json:
352               schema:
353                 $ref: '#/components/schemas/ErrorMessage'
354               example:
355                 status: 403
356                 message: Forbidden error message
357                 details: Forbidden error details
358         "500":
359           description: Internal Server Error
360           content:
361             application/json:
362               schema:
363                 $ref: '#/components/schemas/ErrorMessage'
364               example:
365                 status: 500
366                 message: Internal Server Error
367                 details: Internal Server Error occurred
368         "502":
369           description: Bad Gateway
370           content:
371             application/json:
372               schema:
373                 $ref: '#/components/schemas/DmiErrorMessage'
374               example:
375                 message: "Bad Gateway Error Message NCMP"
376                 dmi-response:
377                   http-code: 400
378                   body: Bad Request
379     post:
380       tags:
381       - network-cm-proxy
382       summary: create resource data from pass-through running for cm handle
383       description: create resource data from pass-through running for given cm handle
384       operationId: createResourceDataRunningForCmHandle
385       parameters:
386       - name: cm-handle
387         in: path
388         description: "The identifier for a network function, network element, subnetwork\
389           \ or any other cm object by managed Network CM Proxy"
390         required: true
391         schema:
392           type: string
393           example: my-cm-handle
394       - name: resourceIdentifier
395         in: query
396         description: The format of resource identifier depend on the associated DMI
397           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
398           it can really be anything.
399         required: true
400         allowReserved: true
401         schema:
402           type: string
403         examples:
404           sample 1:
405             value:
406               resourceIdentifier: \shops\bookstore
407           sample 2:
408             value:
409               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
410           sample 3:
411             value:
412               resourceIdentifier: "parent=shops,child=bookstore"
413       - name: Content-Type
414         in: header
415         description: "Content parameter for request, if content parameter is null,\
416           \ default value is application/json."
417         required: false
418         schema:
419           type: string
420           example: application/yang-data+json
421           default: application/json
422       requestBody:
423         content:
424           application/json:
425             schema:
426               type: object
427             examples:
428               dataSampleRequest:
429                 $ref: '#/components/examples/dataSampleRequest'
430           application/yang-data+json:
431             schema:
432               type: object
433             examples:
434               dataSampleRequest:
435                 $ref: '#/components/examples/dataSampleRequest'
436         required: true
437       responses:
438         "201":
439           description: Created
440           content: {}
441         "400":
442           description: Bad Request
443           content:
444             application/json:
445               schema:
446                 $ref: '#/components/schemas/ErrorMessage'
447               example:
448                 status: 400 BAD_REQUEST
449                 message: Bad request error message
450                 details: Bad request error details
451         "401":
452           description: Unauthorized
453           content:
454             application/json:
455               schema:
456                 $ref: '#/components/schemas/ErrorMessage'
457               example:
458                 status: 401
459                 message: Unauthorized error message
460                 details: Unauthorized error details
461         "403":
462           description: Forbidden
463           content:
464             application/json:
465               schema:
466                 $ref: '#/components/schemas/ErrorMessage'
467               example:
468                 status: 403
469                 message: Forbidden error message
470                 details: Forbidden error details
471         "500":
472           description: Internal Server Error
473           content:
474             application/json:
475               schema:
476                 $ref: '#/components/schemas/ErrorMessage'
477               example:
478                 status: 500
479                 message: Internal Server Error
480                 details: Internal Server Error occurred
481         "502":
482           description: Bad Gateway
483           content:
484             application/json:
485               schema:
486                 $ref: '#/components/schemas/DmiErrorMessage'
487               example:
488                 message: "Bad Gateway Error Message NCMP"
489                 dmi-response:
490                   http-code: 400
491                   body: Bad Request
492     delete:
493       tags:
494       - network-cm-proxy
495       summary: Delete resource data
496       description: Delete resource data from pass-through running for a given cm handle
497       operationId: deleteResourceDataRunningForCmHandle
498       parameters:
499       - name: cm-handle
500         in: path
501         description: "The identifier for a network function, network element, subnetwork\
502           \ or any other cm object by managed Network CM Proxy"
503         required: true
504         schema:
505           type: string
506           example: my-cm-handle
507       - name: resourceIdentifier
508         in: query
509         description: The format of resource identifier depend on the associated DMI
510           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
511           it can really be anything.
512         required: true
513         allowReserved: true
514         schema:
515           type: string
516         examples:
517           sample 1:
518             value:
519               resourceIdentifier: \shops\bookstore
520           sample 2:
521             value:
522               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
523           sample 3:
524             value:
525               resourceIdentifier: "parent=shops,child=bookstore"
526       - name: Content-Type
527         in: header
528         description: "Content parameter for request, if content parameter is null,\
529           \ default value is application/json."
530         required: false
531         schema:
532           type: string
533           example: application/yang-data+json
534           default: application/json
535       responses:
536         "204":
537           description: No Content
538           content: {}
539         "400":
540           description: Bad Request
541           content:
542             application/json:
543               schema:
544                 $ref: '#/components/schemas/ErrorMessage'
545               example:
546                 status: 400 BAD_REQUEST
547                 message: Bad request error message
548                 details: Bad request error details
549         "401":
550           description: Unauthorized
551           content:
552             application/json:
553               schema:
554                 $ref: '#/components/schemas/ErrorMessage'
555               example:
556                 status: 401
557                 message: Unauthorized error message
558                 details: Unauthorized error details
559         "403":
560           description: Forbidden
561           content:
562             application/json:
563               schema:
564                 $ref: '#/components/schemas/ErrorMessage'
565               example:
566                 status: 403
567                 message: Forbidden error message
568                 details: Forbidden error details
569         "404":
570           description: The specified resource was not found
571           content:
572             application/json:
573               schema:
574                 $ref: '#/components/schemas/ErrorMessage'
575               example:
576                 status: 400
577                 message: Not found error message
578                 details: Not found error details
579         "500":
580           description: Internal Server Error
581           content:
582             application/json:
583               schema:
584                 $ref: '#/components/schemas/ErrorMessage'
585               example:
586                 status: 500
587                 message: Internal Server Error
588                 details: Internal Server Error occurred
589         "502":
590           description: Bad Gateway
591           content:
592             application/json:
593               schema:
594                 $ref: '#/components/schemas/DmiErrorMessage'
595               example:
596                 message: "Bad Gateway Error Message NCMP"
597                 dmi-response:
598                   http-code: 400
599                   body: Bad Request
600     patch:
601       tags:
602       - network-cm-proxy
603       summary: Patch resource data from pass-through running
604       description: Patch resource data from pass-through running for the given cm
605         handle
606       operationId: patchResourceDataRunningForCmHandle
607       parameters:
608       - name: cm-handle
609         in: path
610         description: "The identifier for a network function, network element, subnetwork\
611           \ or any other cm object by managed Network CM Proxy"
612         required: true
613         schema:
614           type: string
615           example: my-cm-handle
616       - name: resourceIdentifier
617         in: query
618         description: The format of resource identifier depend on the associated DMI
619           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
620           it can really be anything.
621         required: true
622         allowReserved: true
623         schema:
624           type: string
625         examples:
626           sample 1:
627             value:
628               resourceIdentifier: \shops\bookstore
629           sample 2:
630             value:
631               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
632           sample 3:
633             value:
634               resourceIdentifier: "parent=shops,child=bookstore"
635       - name: Content-Type
636         in: header
637         description: "Content parameter for request, if content parameter is null,\
638           \ default value is application/json."
639         required: false
640         schema:
641           type: string
642           example: application/yang-data+json
643           default: application/json
644       requestBody:
645         content:
646           '*/*':
647             schema:
648               type: object
649             examples:
650               dataSampleRequest:
651                 $ref: '#/components/examples/dataSamplePatchRequest'
652         required: true
653       responses:
654         "200":
655           description: OK
656           content:
657             application/json:
658               schema:
659                 type: object
660         "400":
661           description: Bad Request
662           content:
663             application/json:
664               schema:
665                 $ref: '#/components/schemas/ErrorMessage'
666               example:
667                 status: 400 BAD_REQUEST
668                 message: Bad request error message
669                 details: Bad request error details
670         "401":
671           description: Unauthorized
672           content:
673             application/json:
674               schema:
675                 $ref: '#/components/schemas/ErrorMessage'
676               example:
677                 status: 401
678                 message: Unauthorized error message
679                 details: Unauthorized error details
680         "403":
681           description: Forbidden
682           content:
683             application/json:
684               schema:
685                 $ref: '#/components/schemas/ErrorMessage'
686               example:
687                 status: 403
688                 message: Forbidden error message
689                 details: Forbidden error details
690         "500":
691           description: Internal Server Error
692           content:
693             application/json:
694               schema:
695                 $ref: '#/components/schemas/ErrorMessage'
696               example:
697                 status: 500
698                 message: Internal Server Error
699                 details: Internal Server Error occurred
700         "502":
701           description: Bad Gateway
702           content:
703             application/json:
704               schema:
705                 $ref: '#/components/schemas/DmiErrorMessage'
706               example:
707                 message: "Bad Gateway Error Message NCMP"
708                 dmi-response:
709                   http-code: 400
710                   body: Bad Request
711   /v1/ch/{cm-handle}/modules:
712     get:
713       tags:
714       - network-cm-proxy
715       summary: Fetch all module references (name and revision) for a given cm handle
716       description: fetch all module references (name and revision) for a given cm
717         handle
718       operationId: getModuleReferencesByCmHandle
719       parameters:
720       - name: cm-handle
721         in: path
722         description: "The identifier for a network function, network element, subnetwork\
723           \ or any other cm object by managed Network CM Proxy"
724         required: true
725         schema:
726           type: string
727           example: my-cm-handle
728       responses:
729         "200":
730           description: OK
731           content:
732             application/json:
733               schema:
734                 type: array
735                 items:
736                   $ref: '#/components/schemas/RestModuleReference'
737         "400":
738           description: Bad Request
739           content:
740             application/json:
741               schema:
742                 $ref: '#/components/schemas/ErrorMessage'
743               example:
744                 status: 400 BAD_REQUEST
745                 message: Bad request error message
746                 details: Bad request error details
747         "401":
748           description: Unauthorized
749           content:
750             application/json:
751               schema:
752                 $ref: '#/components/schemas/ErrorMessage'
753               example:
754                 status: 401
755                 message: Unauthorized error message
756                 details: Unauthorized error details
757         "403":
758           description: Forbidden
759           content:
760             application/json:
761               schema:
762                 $ref: '#/components/schemas/ErrorMessage'
763               example:
764                 status: 403
765                 message: Forbidden error message
766                 details: Forbidden error details
767         "500":
768           description: Internal Server Error
769           content:
770             application/json:
771               schema:
772                 $ref: '#/components/schemas/ErrorMessage'
773               example:
774                 status: 500
775                 message: Internal Server Error
776                 details: Internal Server Error occurred
777   /v1/ch/searches:
778     post:
779       tags:
780       - network-cm-proxy
781       summary: Execute cm handle search using the available conditions
782       description: Execute cm handle searches using 'hasAllModules' condition to get
783         all cm handles for the given module names
784       operationId: executeCmHandleSearch
785       requestBody:
786         content:
787           application/json:
788             schema:
789               $ref: '#/components/schemas/Conditions'
790         required: true
791       responses:
792         "200":
793           description: OK
794           content:
795             application/json:
796               schema:
797                 $ref: '#/components/schemas/CmHandles'
798         "400":
799           description: Bad Request
800           content:
801             application/json:
802               schema:
803                 $ref: '#/components/schemas/ErrorMessage'
804               example:
805                 status: 400 BAD_REQUEST
806                 message: Bad request error message
807                 details: Bad request error details
808         "401":
809           description: Unauthorized
810           content:
811             application/json:
812               schema:
813                 $ref: '#/components/schemas/ErrorMessage'
814               example:
815                 status: 401
816                 message: Unauthorized error message
817                 details: Unauthorized error details
818         "403":
819           description: Forbidden
820           content:
821             application/json:
822               schema:
823                 $ref: '#/components/schemas/ErrorMessage'
824               example:
825                 status: 403
826                 message: Forbidden error message
827                 details: Forbidden error details
828         "500":
829           description: Internal Server Error
830           content:
831             application/json:
832               schema:
833                 $ref: '#/components/schemas/ErrorMessage'
834               example:
835                 status: 500
836                 message: Internal Server Error
837                 details: Internal Server Error occurred
838   /v1/ch/{cm-handle}:
839     get:
840       tags:
841       - network-cm-proxy
842       summary: Retrieve CM handle details
843       description: Retrieve CM handle details and properties by cm handle id
844       operationId: retrieveCmHandleDetailsById
845       parameters:
846       - name: cm-handle
847         in: path
848         description: "The identifier for a network function, network element, subnetwork\
849           \ or any other cm object by managed Network CM Proxy"
850         required: true
851         schema:
852           type: string
853           example: my-cm-handle
854       responses:
855         "200":
856           description: OK
857           content:
858             application/json:
859               schema:
860                 $ref: '#/components/schemas/RestOutputCmHandle'
861         "400":
862           description: Bad Request
863           content:
864             application/json:
865               schema:
866                 $ref: '#/components/schemas/ErrorMessage'
867               example:
868                 status: 400 BAD_REQUEST
869                 message: Bad request error message
870                 details: Bad request error details
871         "401":
872           description: Unauthorized
873           content:
874             application/json:
875               schema:
876                 $ref: '#/components/schemas/ErrorMessage'
877               example:
878                 status: 401
879                 message: Unauthorized error message
880                 details: Unauthorized error details
881         "403":
882           description: Forbidden
883           content:
884             application/json:
885               schema:
886                 $ref: '#/components/schemas/ErrorMessage'
887               example:
888                 status: 403
889                 message: Forbidden error message
890                 details: Forbidden error details
891         "404":
892           description: The specified resource was not found
893           content:
894             application/json:
895               schema:
896                 $ref: '#/components/schemas/ErrorMessage'
897               example:
898                 status: 400
899                 message: Not found error message
900                 details: Not found error details
901         "500":
902           description: Internal Server Error
903           content:
904             application/json:
905               schema:
906                 $ref: '#/components/schemas/ErrorMessage'
907               example:
908                 status: 500
909                 message: Internal Server Error
910                 details: Internal Server Error occurred
911 components:
912   schemas:
913     ErrorMessage:
914       title: Error
915       type: object
916       properties:
917         status:
918           type: string
919         message:
920           type: string
921         details:
922           type: string
923     # DMI Server Exception Schema
924     DmiErrorMessage:
925       title: DMI Error Message
926       type: object
927       properties:
928         message:
929           type: string
930           example: "Bad Gateway Error Message NCMP"
931         dmi-response:
932           type: object
933           properties:
934             http-code:
935               type: integer
936               example: 400
937             body:
938               type: string
939               example: Bad Request
940     RestModuleReference:
941       title: Module reference details
942       type: object
943       properties:
944         moduleName:
945           type: string
946           example: my-module-name
947         revision:
948           type: string
949           example: my-module-revision
950     Conditions:
951       type: object
952       properties:
953         conditions:
954           $ref: '#/components/schemas/ConditionsData'
955     ConditionsData:
956       type: array
957       items:
958         $ref: '#/components/schemas/ConditionProperties'
959     ConditionProperties:
960       properties:
961         name:
962           type: string
963           example: hasAllModules
964         conditionParameters:
965           $ref: '#/components/schemas/ModuleNamesAsJsonArray'
966     ModuleNamesAsJsonArray:
967       type: array
968       items:
969         $ref: '#/components/schemas/ModuleNameAsJsonObject'
970     ModuleNameAsJsonObject:
971       properties:
972         moduleName:
973           type: string
974           example: my-module
975     CmHandles:
976       type: object
977       properties:
978         cmHandles:
979           $ref: '#/components/schemas/CmHandleProperties'
980     CmHandleProperties:
981       type: array
982       items:
983         $ref: '#/components/schemas/CmHandleProperty'
984     CmHandleProperty:
985       properties:
986         cmHandleId:
987           type: string
988           example: my-cm-handle-id
989     RestOutputCmHandle:
990       title: CM handle Details
991       type: object
992       properties:
993         cmHandle:
994           type: string
995           example: my-cm-handle1
996         publicCmHandleProperties:
997           $ref: '#/components/schemas/CmHandlePublicProperties'
998     CmHandlePublicProperties:
999       type: array
1000       items:
1001         type: object
1002         additionalProperties:
1003           type: string
1004           example: Book Type
1005   examples:
1006     dataSampleResponse:
1007       summary: Sample response
1008       description: Sample response for selecting 'sample 1'.
1009       value:
1010         bookstore:
1011           categories:
1012           - code: "01"
1013             books:
1014             - authors:
1015               - Iain M. Banks
1016               - Ursula K. Le Guin
1017             name: SciFi
1018           - code: "02"
1019             books:
1020             - authors:
1021               - Philip Pullman
1022             name: kids
1023     dataSampleRequest:
1024       summary: Sample request
1025       description: Sample request body
1026       value:
1027         test:bookstore:
1028           bookstore-name: Chapters
1029           categories:
1030           - code: "01"
1031             name: SciFi
1032             books:
1033             - authors:
1034               - Iain M. Banks
1035               - Ursula K. Le Guin
1036           - code: "02"
1037             name: kids
1038             books:
1039             - authors:
1040               - Philip Pullman
1041     dataSamplePatchRequest:
1042       summary: Sample patch request
1043       description: Sample patch request body
1044       value:
1045         ietf-restconf:yang-patch:
1046           patch-id: patch-1
1047           edit:
1048           - edit-id: edit1
1049             operation: merge
1050             target: /
1051             value:
1052               test:bookstore:
1053                 bookstore-name: Chapters
1054                 categories:
1055                 - code: "01"
1056                   name: Science
1057                   books:
1058                   - authors:
1059                     - Author1
1060                     - Author2
1061                 - code: "02"
1062                   name: Arts
1063                   books:
1064                   - authors:
1065                     - Author3
1066           - edit-id: edit2
1067             operation: merge
1068             target: /
1069             value:
1070               test:bookstore:
1071                 bookstore-name: Novels
1072                 categories:
1073                 - code: "03"
1074                   name: History
1075                   books:
1076                   - authors:
1077                     - Iain M. Banks
1078                     - Ursula K. Le Guin
1079                 - code: "04"
1080                   name: Fiction
1081                   books:
1082                   - authors:
1083                     - Philip Pullman