8098faefcca67151cb16cbe9494ab05a26cbcaa8
[cps.git] / docs / api / swagger / ncmp / openapi.yaml
1 openapi: 3.0.3
2 info:
3   description: NCMP to CPS Proxy API
4   title: NCMP to CPS Proxy API
5   version: "1.0"
6 servers:
7 - url: /ncmp
8 security:
9 - basicAuth: []
10 paths:
11   /v1/ch/{cm-handle}/data/ds/{datastore-name}:
12     delete:
13       description: Delete resource data from pass-through running for a given cm handle
14       operationId: deleteResourceDataRunningForCmHandle
15       parameters:
16       - description: The type of the requested data
17         in: path
18         name: datastore-name
19         required: true
20         schema:
21           example: ncmp-datastore:running
22           type: string
23       - description: "The identifier for a network function, network element, subnetwork\
24           \ or any other cm object by managed Network CM Proxy"
25         in: path
26         name: cm-handle
27         required: true
28         schema:
29           example: my-cm-handle
30           type: string
31       - allowReserved: true
32         description: The format of resource identifier depend on the associated DMI
33           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
34           it can really be anything.
35         examples:
36           sample 1:
37             value:
38               resourceIdentifier: \shops\bookstore
39           sample 2:
40             value:
41               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
42           sample 3:
43             value:
44               resourceIdentifier: "parent=shops,child=bookstore"
45         in: query
46         name: resourceIdentifier
47         required: true
48         schema:
49           type: string
50       - description: "Content parameter for request, if content parameter is null,\
51           \ default value is application/json."
52         in: header
53         name: Content-Type
54         required: false
55         schema:
56           default: application/json
57           example: application/yang-data+json
58           type: string
59       responses:
60         "204":
61           content: {}
62           description: No Content
63         "400":
64           content:
65             application/json:
66               example:
67                 status: 400 BAD_REQUEST
68                 message: Bad request error message
69                 details: Bad request error details
70               schema:
71                 $ref: '#/components/schemas/ErrorMessage'
72           description: Bad Request
73         "401":
74           content:
75             application/json:
76               example:
77                 status: 401
78                 message: Unauthorized error message
79                 details: Unauthorized error details
80               schema:
81                 $ref: '#/components/schemas/ErrorMessage'
82           description: Unauthorized
83         "403":
84           content:
85             application/json:
86               example:
87                 status: 403
88                 message: Forbidden error message
89                 details: Forbidden error details
90               schema:
91                 $ref: '#/components/schemas/ErrorMessage'
92           description: Forbidden
93         "404":
94           content:
95             application/json:
96               example:
97                 status: 400
98                 message: Not found error message
99                 details: Not found error details
100               schema:
101                 $ref: '#/components/schemas/ErrorMessage'
102           description: The specified resource was not found
103         "500":
104           content:
105             application/json:
106               example:
107                 status: 500
108                 message: Internal Server Error
109                 details: Internal Server Error occurred
110               schema:
111                 $ref: '#/components/schemas/ErrorMessage'
112           description: Internal Server Error
113         "502":
114           content:
115             application/json:
116               example:
117                 message: Bad Gateway Error Message NCMP
118                 dmi-response:
119                   http-code: 400
120                   body: Bad Request
121               schema:
122                 $ref: '#/components/schemas/DmiErrorMessage'
123           description: Bad Gateway
124       summary: Delete resource data
125       tags:
126       - network-cm-proxy
127     get:
128       description: Get resource data for given cm handle
129       operationId: getResourceDataForCmHandle
130       parameters:
131       - description: The type of the requested data
132         in: path
133         name: datastore-name
134         required: true
135         schema:
136           example: ncmp-datastore:running
137           type: string
138       - description: "The identifier for a network function, network element, subnetwork\
139           \ or any other cm object by managed Network CM Proxy"
140         in: path
141         name: cm-handle
142         required: true
143         schema:
144           example: my-cm-handle
145           type: string
146       - allowReserved: true
147         description: The format of resource identifier depend on the associated DMI
148           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
149           it can really be anything.
150         examples:
151           sample 1:
152             value:
153               resourceIdentifier: \shops\bookstore
154           sample 2:
155             value:
156               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
157           sample 3:
158             value:
159               resourceIdentifier: "parent=shops,child=bookstore"
160         in: query
161         name: resourceIdentifier
162         required: true
163         schema:
164           type: string
165       - allowReserved: true
166         description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
167           \ in parenthesis'()'. The format of options parameter depend on the associated\
168           \ DMI Plugin implementation."
169         examples:
170           sample 1:
171             value:
172               options: (depth=3)
173           sample 2:
174             value:
175               options: (fields=book)
176           sample 3:
177             value:
178               options: "(depth=2,fields=book/authors)"
179         in: query
180         name: options
181         required: false
182         schema:
183           type: string
184       - allowReserved: true
185         description: topic parameter in query.
186         examples:
187           sample 1:
188             value:
189               topic: my-topic-name
190         in: query
191         name: topic
192         required: false
193         schema:
194           type: string
195       - description: Determines if descendants are included in response
196         in: query
197         name: include-descendants
198         required: false
199         schema:
200           default: false
201           type: boolean
202       responses:
203         "200":
204           content:
205             application/json:
206               examples:
207                 dataSampleResponse:
208                   $ref: '#/components/examples/dataSampleResponse'
209                   value: null
210               schema:
211                 type: object
212           description: OK
213         "400":
214           content:
215             application/json:
216               example:
217                 status: 400 BAD_REQUEST
218                 message: Bad request error message
219                 details: Bad request error details
220               schema:
221                 $ref: '#/components/schemas/ErrorMessage'
222           description: Bad Request
223         "401":
224           content:
225             application/json:
226               example:
227                 status: 401
228                 message: Unauthorized error message
229                 details: Unauthorized error details
230               schema:
231                 $ref: '#/components/schemas/ErrorMessage'
232           description: Unauthorized
233         "403":
234           content:
235             application/json:
236               example:
237                 status: 403
238                 message: Forbidden error message
239                 details: Forbidden error details
240               schema:
241                 $ref: '#/components/schemas/ErrorMessage'
242           description: Forbidden
243         "500":
244           content:
245             application/json:
246               example:
247                 status: 500
248                 message: Internal Server Error
249                 details: Internal Server Error occurred
250               schema:
251                 $ref: '#/components/schemas/ErrorMessage'
252           description: Internal Server Error
253         "502":
254           content:
255             application/json:
256               example:
257                 message: Bad Gateway Error Message NCMP
258                 dmi-response:
259                   http-code: 400
260                   body: Bad Request
261               schema:
262                 $ref: '#/components/schemas/DmiErrorMessage'
263           description: Bad Gateway
264       summary: Get resource data for cm handle
265       tags:
266       - network-cm-proxy
267     patch:
268       description: Patch resource data from pass-through running for the given cm
269         handle
270       operationId: patchResourceDataRunningForCmHandle
271       parameters:
272       - description: The type of the requested data
273         in: path
274         name: datastore-name
275         required: true
276         schema:
277           example: ncmp-datastore:running
278           type: string
279       - description: "The identifier for a network function, network element, subnetwork\
280           \ or any other cm object by managed Network CM Proxy"
281         in: path
282         name: cm-handle
283         required: true
284         schema:
285           example: my-cm-handle
286           type: string
287       - allowReserved: true
288         description: The format of resource identifier depend on the associated DMI
289           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
290           it can really be anything.
291         examples:
292           sample 1:
293             value:
294               resourceIdentifier: \shops\bookstore
295           sample 2:
296             value:
297               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
298           sample 3:
299             value:
300               resourceIdentifier: "parent=shops,child=bookstore"
301         in: query
302         name: resourceIdentifier
303         required: true
304         schema:
305           type: string
306       - description: "Content parameter for request, if content parameter is null,\
307           \ default value is application/json."
308         in: header
309         name: Content-Type
310         required: false
311         schema:
312           default: application/json
313           example: application/yang-data+json
314           type: string
315       requestBody:
316         content:
317           '*/*':
318             examples:
319               dataSampleRequest:
320                 $ref: '#/components/examples/dataSamplePatchRequest'
321                 value: null
322             schema:
323               type: object
324         required: true
325       responses:
326         "200":
327           content:
328             application/json:
329               schema:
330                 type: object
331           description: OK
332         "400":
333           content:
334             application/json:
335               example:
336                 status: 400 BAD_REQUEST
337                 message: Bad request error message
338                 details: Bad request error details
339               schema:
340                 $ref: '#/components/schemas/ErrorMessage'
341           description: Bad Request
342         "401":
343           content:
344             application/json:
345               example:
346                 status: 401
347                 message: Unauthorized error message
348                 details: Unauthorized error details
349               schema:
350                 $ref: '#/components/schemas/ErrorMessage'
351           description: Unauthorized
352         "403":
353           content:
354             application/json:
355               example:
356                 status: 403
357                 message: Forbidden error message
358                 details: Forbidden error details
359               schema:
360                 $ref: '#/components/schemas/ErrorMessage'
361           description: Forbidden
362         "500":
363           content:
364             application/json:
365               example:
366                 status: 500
367                 message: Internal Server Error
368                 details: Internal Server Error occurred
369               schema:
370                 $ref: '#/components/schemas/ErrorMessage'
371           description: Internal Server Error
372         "502":
373           content:
374             application/json:
375               example:
376                 message: Bad Gateway Error Message NCMP
377                 dmi-response:
378                   http-code: 400
379                   body: Bad Request
380               schema:
381                 $ref: '#/components/schemas/DmiErrorMessage'
382           description: Bad Gateway
383       summary: Patch resource data from pass-through running
384       tags:
385       - network-cm-proxy
386     post:
387       description: create resource data from pass-through running for given cm handle
388       operationId: createResourceDataRunningForCmHandle
389       parameters:
390       - description: The type of the requested data
391         in: path
392         name: datastore-name
393         required: true
394         schema:
395           example: ncmp-datastore:running
396           type: string
397       - description: "The identifier for a network function, network element, subnetwork\
398           \ or any other cm object by managed Network CM Proxy"
399         in: path
400         name: cm-handle
401         required: true
402         schema:
403           example: my-cm-handle
404           type: string
405       - allowReserved: true
406         description: The format of resource identifier depend on the associated DMI
407           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
408           it can really be anything.
409         examples:
410           sample 1:
411             value:
412               resourceIdentifier: \shops\bookstore
413           sample 2:
414             value:
415               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
416           sample 3:
417             value:
418               resourceIdentifier: "parent=shops,child=bookstore"
419         in: query
420         name: resourceIdentifier
421         required: true
422         schema:
423           type: string
424       - description: "Content parameter for request, if content parameter is null,\
425           \ default value is application/json."
426         in: header
427         name: Content-Type
428         required: false
429         schema:
430           default: application/json
431           example: application/yang-data+json
432           type: string
433       requestBody:
434         content:
435           application/json:
436             examples:
437               dataSampleRequest:
438                 $ref: '#/components/examples/dataSampleRequest'
439                 value: null
440             schema:
441               type: object
442           application/yang-data+json:
443             examples:
444               dataSampleRequest:
445                 $ref: '#/components/examples/dataSampleRequest'
446                 value: null
447             schema:
448               type: object
449         required: true
450       responses:
451         "201":
452           content: {}
453           description: Created
454         "400":
455           content:
456             application/json:
457               example:
458                 status: 400 BAD_REQUEST
459                 message: Bad request error message
460                 details: Bad request error details
461               schema:
462                 $ref: '#/components/schemas/ErrorMessage'
463           description: Bad Request
464         "401":
465           content:
466             application/json:
467               example:
468                 status: 401
469                 message: Unauthorized error message
470                 details: Unauthorized error details
471               schema:
472                 $ref: '#/components/schemas/ErrorMessage'
473           description: Unauthorized
474         "403":
475           content:
476             application/json:
477               example:
478                 status: 403
479                 message: Forbidden error message
480                 details: Forbidden error details
481               schema:
482                 $ref: '#/components/schemas/ErrorMessage'
483           description: Forbidden
484         "500":
485           content:
486             application/json:
487               example:
488                 status: 500
489                 message: Internal Server Error
490                 details: Internal Server Error occurred
491               schema:
492                 $ref: '#/components/schemas/ErrorMessage'
493           description: Internal Server Error
494         "502":
495           content:
496             application/json:
497               example:
498                 message: Bad Gateway Error Message NCMP
499                 dmi-response:
500                   http-code: 400
501                   body: Bad Request
502               schema:
503                 $ref: '#/components/schemas/DmiErrorMessage'
504           description: Bad Gateway
505       summary: create resource data from pass-through running for cm handle
506       tags:
507       - network-cm-proxy
508     put:
509       description: Update resource data from pass-through running for the given cm
510         handle
511       operationId: updateResourceDataRunningForCmHandle
512       parameters:
513       - description: The type of the requested data
514         in: path
515         name: datastore-name
516         required: true
517         schema:
518           example: ncmp-datastore:running
519           type: string
520       - description: "The identifier for a network function, network element, subnetwork\
521           \ or any other cm object by managed Network CM Proxy"
522         in: path
523         name: cm-handle
524         required: true
525         schema:
526           example: my-cm-handle
527           type: string
528       - allowReserved: true
529         description: The format of resource identifier depend on the associated DMI
530           Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
531           it can really be anything.
532         examples:
533           sample 1:
534             value:
535               resourceIdentifier: \shops\bookstore
536           sample 2:
537             value:
538               resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
539           sample 3:
540             value:
541               resourceIdentifier: "parent=shops,child=bookstore"
542         in: query
543         name: resourceIdentifier
544         required: true
545         schema:
546           type: string
547       - description: "Content parameter for request, if content parameter is null,\
548           \ default value is application/json."
549         in: header
550         name: Content-Type
551         required: false
552         schema:
553           default: application/json
554           example: application/yang-data+json
555           type: string
556       requestBody:
557         content:
558           application/json:
559             examples:
560               dataSampleRequest:
561                 $ref: '#/components/examples/dataSampleRequest'
562                 value: null
563             schema:
564               type: object
565           application/yang-data+json:
566             examples:
567               dataSampleRequest:
568                 $ref: '#/components/examples/dataSampleRequest'
569                 value: null
570             schema:
571               type: object
572         required: true
573       responses:
574         "200":
575           content:
576             application/json:
577               schema:
578                 type: object
579           description: OK
580         "400":
581           content:
582             application/json:
583               example:
584                 status: 400 BAD_REQUEST
585                 message: Bad request error message
586                 details: Bad request error details
587               schema:
588                 $ref: '#/components/schemas/ErrorMessage'
589           description: Bad Request
590         "401":
591           content:
592             application/json:
593               example:
594                 status: 401
595                 message: Unauthorized error message
596                 details: Unauthorized error details
597               schema:
598                 $ref: '#/components/schemas/ErrorMessage'
599           description: Unauthorized
600         "403":
601           content:
602             application/json:
603               example:
604                 status: 403
605                 message: Forbidden error message
606                 details: Forbidden error details
607               schema:
608                 $ref: '#/components/schemas/ErrorMessage'
609           description: Forbidden
610         "500":
611           content:
612             application/json:
613               example:
614                 status: 500
615                 message: Internal Server Error
616                 details: Internal Server Error occurred
617               schema:
618                 $ref: '#/components/schemas/ErrorMessage'
619           description: Internal Server Error
620         "502":
621           content:
622             application/json:
623               example:
624                 message: Bad Gateway Error Message NCMP
625                 dmi-response:
626                   http-code: 400
627                   body: Bad Request
628               schema:
629                 $ref: '#/components/schemas/DmiErrorMessage'
630           description: Bad Gateway
631       summary: Update resource data from pass-through running for a cm handle
632       tags:
633       - network-cm-proxy
634   /v1/data:
635     post:
636       description: This request will be handled asynchronously using messaging to
637         the supplied topic. The rest response will be an acknowledge with a requestId
638         to identify the relevant messages.
639       operationId: executeDataOperationForCmHandles
640       parameters:
641       - allowReserved: true
642         description: mandatory topic parameter in query.
643         examples:
644           sample 1:
645             value:
646               topic: my-topic-name
647         in: query
648         name: topic
649         required: true
650         schema:
651           type: string
652       requestBody:
653         content:
654           application/json:
655             schema:
656               $ref: '#/components/schemas/DataOperationRequest'
657         required: true
658       responses:
659         "200":
660           content:
661             application/json:
662               schema:
663                 type: object
664           description: OK
665         "400":
666           content:
667             application/json:
668               example:
669                 status: 400 BAD_REQUEST
670                 message: Bad request error message
671                 details: Bad request error details
672               schema:
673                 $ref: '#/components/schemas/ErrorMessage'
674           description: Bad Request
675         "401":
676           content:
677             application/json:
678               example:
679                 status: 401
680                 message: Unauthorized error message
681                 details: Unauthorized error details
682               schema:
683                 $ref: '#/components/schemas/ErrorMessage'
684           description: Unauthorized
685         "403":
686           content:
687             application/json:
688               example:
689                 status: 403
690                 message: Forbidden error message
691                 details: Forbidden error details
692               schema:
693                 $ref: '#/components/schemas/ErrorMessage'
694           description: Forbidden
695         "500":
696           content:
697             application/json:
698               example:
699                 status: 500
700                 message: Internal Server Error
701                 details: Internal Server Error occurred
702               schema:
703                 $ref: '#/components/schemas/ErrorMessage'
704           description: Internal Server Error
705         "502":
706           content:
707             application/json:
708               example:
709                 message: Bad Gateway Error Message NCMP
710                 dmi-response:
711                   http-code: 400
712                   body: Bad Request
713               schema:
714                 $ref: '#/components/schemas/DmiErrorMessage'
715           description: Bad Gateway
716       summary: Execute a data operation for group of cm handle ids
717       tags:
718       - network-cm-proxy
719   /v1/ch/{cm-handle}/data/ds/{datastore-name}/query:
720     get:
721       description: Query resource data for a given cm handle
722       operationId: queryResourceDataForCmHandle
723       parameters:
724       - description: The type of the requested data
725         in: path
726         name: datastore-name
727         required: true
728         schema:
729           example: ncmp-datastore:running
730           type: string
731       - description: "The identifier for a network function, network element, subnetwork\
732           \ or any other cm object by managed Network CM Proxy"
733         in: path
734         name: cm-handle
735         required: true
736         schema:
737           example: my-cm-handle
738           type: string
739       - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
740         examples:
741           container cps path:
742             value: //bookstore
743           list attributes cps path:
744             value: "//categories[@code=1]"
745         in: query
746         name: cps-path
747         required: false
748         schema:
749           default: /
750           type: string
751       - allowReserved: true
752         description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
753           \ in parenthesis'()'. The format of options parameter depend on the associated\
754           \ DMI Plugin implementation."
755         examples:
756           sample 1:
757             value:
758               options: (depth=3)
759           sample 2:
760             value:
761               options: (fields=book)
762           sample 3:
763             value:
764               options: "(depth=2,fields=book/authors)"
765         in: query
766         name: options
767         required: false
768         schema:
769           type: string
770       - allowReserved: true
771         description: topic parameter in query.
772         examples:
773           sample 1:
774             value:
775               topic: my-topic-name
776         in: query
777         name: topic
778         required: false
779         schema:
780           type: string
781       - description: Determines if descendants are included in response
782         in: query
783         name: include-descendants
784         required: false
785         schema:
786           default: false
787           type: boolean
788       responses:
789         "200":
790           content:
791             application/json:
792               examples:
793                 dataSampleResponse:
794                   $ref: '#/components/examples/dataSampleResponse'
795                   value: null
796               schema:
797                 type: object
798           description: OK
799         "400":
800           content:
801             application/json:
802               example:
803                 status: 400 BAD_REQUEST
804                 message: Bad request error message
805                 details: Bad request error details
806               schema:
807                 $ref: '#/components/schemas/ErrorMessage'
808           description: Bad Request
809         "401":
810           content:
811             application/json:
812               example:
813                 status: 401
814                 message: Unauthorized error message
815                 details: Unauthorized error details
816               schema:
817                 $ref: '#/components/schemas/ErrorMessage'
818           description: Unauthorized
819         "403":
820           content:
821             application/json:
822               example:
823                 status: 403
824                 message: Forbidden error message
825                 details: Forbidden error details
826               schema:
827                 $ref: '#/components/schemas/ErrorMessage'
828           description: Forbidden
829         "500":
830           content:
831             application/json:
832               example:
833                 status: 500
834                 message: Internal Server Error
835                 details: Internal Server Error occurred
836               schema:
837                 $ref: '#/components/schemas/ErrorMessage'
838           description: Internal Server Error
839         "502":
840           content:
841             application/json:
842               example:
843                 message: Bad Gateway Error Message NCMP
844                 dmi-response:
845                   http-code: 400
846                   body: Bad Request
847               schema:
848                 $ref: '#/components/schemas/DmiErrorMessage'
849           description: Bad Gateway
850       summary: Query resource data for a given cm handle
851       tags:
852       - network-cm-proxy
853   /v1/ch/{cm-handle}/modules:
854     get:
855       description: fetch all module references (name and revision) for a given cm
856         handle
857       operationId: getModuleReferencesByCmHandle
858       parameters:
859       - description: "The identifier for a network function, network element, subnetwork\
860           \ or any other cm object by managed Network CM Proxy"
861         in: path
862         name: cm-handle
863         required: true
864         schema:
865           example: my-cm-handle
866           type: string
867       responses:
868         "200":
869           content:
870             application/json:
871               schema:
872                 items:
873                   $ref: '#/components/schemas/RestModuleReference'
874                 type: array
875           description: OK
876         "400":
877           content:
878             application/json:
879               example:
880                 status: 400 BAD_REQUEST
881                 message: Bad request error message
882                 details: Bad request error details
883               schema:
884                 $ref: '#/components/schemas/ErrorMessage'
885           description: Bad Request
886         "401":
887           content:
888             application/json:
889               example:
890                 status: 401
891                 message: Unauthorized error message
892                 details: Unauthorized error details
893               schema:
894                 $ref: '#/components/schemas/ErrorMessage'
895           description: Unauthorized
896         "403":
897           content:
898             application/json:
899               example:
900                 status: 403
901                 message: Forbidden error message
902                 details: Forbidden error details
903               schema:
904                 $ref: '#/components/schemas/ErrorMessage'
905           description: Forbidden
906         "500":
907           content:
908             application/json:
909               example:
910                 status: 500
911                 message: Internal Server Error
912                 details: Internal Server Error occurred
913               schema:
914                 $ref: '#/components/schemas/ErrorMessage'
915           description: Internal Server Error
916       summary: Fetch all module references (name and revision) for a given cm handle
917       tags:
918       - network-cm-proxy
919   /v1/ch/{cm-handle}/modules/definitions:
920     get:
921       description: "Fetch all module definitions (name, revision, yang resource) for\
922         \ a given cm handle"
923       operationId: getModuleDefinitionsByCmHandleId
924       parameters:
925       - description: "The identifier for a network function, network element, subnetwork\
926           \ or any other cm object by managed Network CM Proxy"
927         in: path
928         name: cm-handle
929         required: true
930         schema:
931           example: my-cm-handle
932           type: string
933       responses:
934         "200":
935           content:
936             application/json:
937               schema:
938                 items:
939                   $ref: '#/components/schemas/RestModuleDefinition'
940                 type: array
941           description: OK
942         "401":
943           content:
944             application/json:
945               example:
946                 status: 401
947                 message: Unauthorized error message
948                 details: Unauthorized error details
949               schema:
950                 $ref: '#/components/schemas/ErrorMessage'
951           description: Unauthorized
952         "403":
953           content:
954             application/json:
955               example:
956                 status: 403
957                 message: Forbidden error message
958                 details: Forbidden error details
959               schema:
960                 $ref: '#/components/schemas/ErrorMessage'
961           description: Forbidden
962         "500":
963           content:
964             application/json:
965               example:
966                 status: 500
967                 message: Internal Server Error
968                 details: Internal Server Error occurred
969               schema:
970                 $ref: '#/components/schemas/ErrorMessage'
971           description: Internal Server Error
972       summary: "Fetch all module definitions (name, revision, yang resource) for a\
973         \ given cm handle"
974       tags:
975       - network-cm-proxy
976   /v1/ch/searches:
977     post:
978       description: Execute cm handle query search and return a list of cm handle details.
979         Any number of conditions can be applied. To be included in the result a cm-handle
980         must fulfill ALL the conditions. An empty collection will be returned in the
981         case that the cm handle does not match a condition. For more on cm handle
982         query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
983         handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
984         to query on any data related to the cm handle. For more on CPS Path please
985         refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
986         Path Read the Docs</a>. The cm handle ancestor is automatically returned for
987         this query.
988       operationId: searchCmHandles
989       requestBody:
990         content:
991           application/json:
992             examples:
993               Cm handle properties query:
994                 $ref: '#/components/examples/pubPropCmHandleQueryParameters'
995                 value: null
996               Cm handle modules query:
997                 $ref: '#/components/examples/modulesCmHandleQueryParameters'
998                 value: null
999               All cm handle query parameters:
1000                 $ref: '#/components/examples/allCmHandleQueryParameters'
1001                 value: null
1002               Cm handle with CPS path state query:
1003                 $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
1004                 value: null
1005               Cm handle with data sync flag query:
1006                 $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
1007                 value: null
1008             schema:
1009               $ref: '#/components/schemas/CmHandleQueryParameters'
1010         required: true
1011       responses:
1012         "200":
1013           content:
1014             application/json:
1015               schema:
1016                 items:
1017                   $ref: '#/components/schemas/RestOutputCmHandle'
1018                 type: array
1019           description: OK
1020         "400":
1021           content:
1022             application/json:
1023               example:
1024                 status: 400 BAD_REQUEST
1025                 message: Bad request error message
1026                 details: Bad request error details
1027               schema:
1028                 $ref: '#/components/schemas/ErrorMessage'
1029           description: Bad Request
1030         "401":
1031           content:
1032             application/json:
1033               example:
1034                 status: 401
1035                 message: Unauthorized error message
1036                 details: Unauthorized error details
1037               schema:
1038                 $ref: '#/components/schemas/ErrorMessage'
1039           description: Unauthorized
1040         "403":
1041           content:
1042             application/json:
1043               example:
1044                 status: 403
1045                 message: Forbidden error message
1046                 details: Forbidden error details
1047               schema:
1048                 $ref: '#/components/schemas/ErrorMessage'
1049           description: Forbidden
1050         "500":
1051           content:
1052             application/json:
1053               example:
1054                 status: 500
1055                 message: Internal Server Error
1056                 details: Internal Server Error occurred
1057               schema:
1058                 $ref: '#/components/schemas/ErrorMessage'
1059           description: Internal Server Error
1060       summary: Execute cm handle search using the available conditions
1061       tags:
1062       - network-cm-proxy
1063   /v1/ch/{cm-handle}:
1064     get:
1065       description: Retrieve CM handle details and properties by cm handle id
1066       operationId: retrieveCmHandleDetailsById
1067       parameters:
1068       - description: "The identifier for a network function, network element, subnetwork\
1069           \ or any other cm object by managed Network CM Proxy"
1070         in: path
1071         name: cm-handle
1072         required: true
1073         schema:
1074           example: my-cm-handle
1075           type: string
1076       responses:
1077         "200":
1078           content:
1079             application/json:
1080               schema:
1081                 $ref: '#/components/schemas/RestOutputCmHandle'
1082           description: OK
1083         "400":
1084           content:
1085             application/json:
1086               example:
1087                 status: 400 BAD_REQUEST
1088                 message: Bad request error message
1089                 details: Bad request error details
1090               schema:
1091                 $ref: '#/components/schemas/ErrorMessage'
1092           description: Bad Request
1093         "401":
1094           content:
1095             application/json:
1096               example:
1097                 status: 401
1098                 message: Unauthorized error message
1099                 details: Unauthorized error details
1100               schema:
1101                 $ref: '#/components/schemas/ErrorMessage'
1102           description: Unauthorized
1103         "404":
1104           content:
1105             application/json:
1106               example:
1107                 status: 400
1108                 message: Not found error message
1109                 details: Not found error details
1110               schema:
1111                 $ref: '#/components/schemas/ErrorMessage'
1112           description: The specified resource was not found
1113         "500":
1114           content:
1115             application/json:
1116               example:
1117                 status: 500
1118                 message: Internal Server Error
1119                 details: Internal Server Error occurred
1120               schema:
1121                 $ref: '#/components/schemas/ErrorMessage'
1122           description: Internal Server Error
1123       summary: Retrieve CM handle details
1124       tags:
1125       - network-cm-proxy
1126   /v1/ch/{cm-handle}/properties:
1127     get:
1128       description: Get CM handle properties by cm handle id
1129       operationId: getCmHandlePublicPropertiesByCmHandleId
1130       parameters:
1131       - description: "The identifier for a network function, network element, subnetwork\
1132           \ or any other cm object by managed Network CM Proxy"
1133         in: path
1134         name: cm-handle
1135         required: true
1136         schema:
1137           example: my-cm-handle
1138           type: string
1139       responses:
1140         "200":
1141           content:
1142             application/json:
1143               schema:
1144                 $ref: '#/components/schemas/RestOutputCmHandlePublicProperties'
1145           description: OK
1146         "400":
1147           content:
1148             application/json:
1149               example:
1150                 status: 400 BAD_REQUEST
1151                 message: Bad request error message
1152                 details: Bad request error details
1153               schema:
1154                 $ref: '#/components/schemas/ErrorMessage'
1155           description: Bad Request
1156         "401":
1157           content:
1158             application/json:
1159               example:
1160                 status: 401
1161                 message: Unauthorized error message
1162                 details: Unauthorized error details
1163               schema:
1164                 $ref: '#/components/schemas/ErrorMessage'
1165           description: Unauthorized
1166         "404":
1167           content:
1168             application/json:
1169               example:
1170                 status: 400
1171                 message: Not found error message
1172                 details: Not found error details
1173               schema:
1174                 $ref: '#/components/schemas/ErrorMessage'
1175           description: The specified resource was not found
1176         "500":
1177           content:
1178             application/json:
1179               example:
1180                 status: 500
1181                 message: Internal Server Error
1182                 details: Internal Server Error occurred
1183               schema:
1184                 $ref: '#/components/schemas/ErrorMessage'
1185           description: Internal Server Error
1186       summary: Get CM handle properties
1187       tags:
1188       - network-cm-proxy
1189   /v1/ch/id-searches:
1190     post:
1191       description: Execute cm handle query search and return a list of cm handle ids.
1192         Any number of conditions can be applied. To be included in the result a cm-handle
1193         must fulfill ALL the conditions. An empty collection will be returned in the
1194         case that the cm handle does not match a condition. For more on cm handle
1195         query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
1196         handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
1197         to query on any data related to the cm handle. For more on CPS Path please
1198         refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
1199         Path Read the Docs</a>. The cm handle ancestor is automatically returned for
1200         this query.
1201       operationId: searchCmHandleIds
1202       requestBody:
1203         content:
1204           application/json:
1205             examples:
1206               Cm handle properties query:
1207                 $ref: '#/components/examples/pubPropCmHandleQueryParameters'
1208                 value: null
1209               Cm handle modules query:
1210                 $ref: '#/components/examples/modulesCmHandleQueryParameters'
1211                 value: null
1212               All cm handle query parameters:
1213                 $ref: '#/components/examples/allCmHandleQueryParameters'
1214                 value: null
1215               Cm handle with CPS path state query:
1216                 $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
1217                 value: null
1218               Cm handle with data sync flag query:
1219                 $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
1220                 value: null
1221             schema:
1222               $ref: '#/components/schemas/CmHandleQueryParameters'
1223         required: true
1224       responses:
1225         "200":
1226           content:
1227             application/json:
1228               schema:
1229                 items:
1230                   type: string
1231                 type: array
1232           description: OK
1233         "400":
1234           content:
1235             application/json:
1236               example:
1237                 status: 400 BAD_REQUEST
1238                 message: Bad request error message
1239                 details: Bad request error details
1240               schema:
1241                 $ref: '#/components/schemas/ErrorMessage'
1242           description: Bad Request
1243         "401":
1244           content:
1245             application/json:
1246               example:
1247                 status: 401
1248                 message: Unauthorized error message
1249                 details: Unauthorized error details
1250               schema:
1251                 $ref: '#/components/schemas/ErrorMessage'
1252           description: Unauthorized
1253         "403":
1254           content:
1255             application/json:
1256               example:
1257                 status: 403
1258                 message: Forbidden error message
1259                 details: Forbidden error details
1260               schema:
1261                 $ref: '#/components/schemas/ErrorMessage'
1262           description: Forbidden
1263         "404":
1264           content:
1265             application/json:
1266               example:
1267                 status: 400
1268                 message: Not found error message
1269                 details: Not found error details
1270               schema:
1271                 $ref: '#/components/schemas/ErrorMessage'
1272           description: The specified resource was not found
1273         "500":
1274           content:
1275             application/json:
1276               example:
1277                 status: 500
1278                 message: Internal Server Error
1279                 details: Internal Server Error occurred
1280               schema:
1281                 $ref: '#/components/schemas/ErrorMessage'
1282           description: Internal Server Error
1283       summary: Execute cm handle query upon a given set of query parameters
1284       tags:
1285       - network-cm-proxy
1286   /v1/ch/{cm-handle}/state:
1287     get:
1288       description: Get CM handle state by cm handle id
1289       operationId: getCmHandleStateByCmHandleId
1290       parameters:
1291       - description: "The identifier for a network function, network element, subnetwork\
1292           \ or any other cm object by managed Network CM Proxy"
1293         in: path
1294         name: cm-handle
1295         required: true
1296         schema:
1297           example: my-cm-handle
1298           type: string
1299       responses:
1300         "200":
1301           content:
1302             application/json:
1303               schema:
1304                 $ref: '#/components/schemas/RestOutputCmHandleCompositeState'
1305           description: OK
1306         "400":
1307           content:
1308             application/json:
1309               example:
1310                 status: 400 BAD_REQUEST
1311                 message: Bad request error message
1312                 details: Bad request error details
1313               schema:
1314                 $ref: '#/components/schemas/ErrorMessage'
1315           description: Bad Request
1316         "401":
1317           content:
1318             application/json:
1319               example:
1320                 status: 401
1321                 message: Unauthorized error message
1322                 details: Unauthorized error details
1323               schema:
1324                 $ref: '#/components/schemas/ErrorMessage'
1325           description: Unauthorized
1326         "404":
1327           content:
1328             application/json:
1329               example:
1330                 status: 400
1331                 message: Not found error message
1332                 details: Not found error details
1333               schema:
1334                 $ref: '#/components/schemas/ErrorMessage'
1335           description: The specified resource was not found
1336         "500":
1337           content:
1338             application/json:
1339               example:
1340                 status: 500
1341                 message: Internal Server Error
1342                 details: Internal Server Error occurred
1343               schema:
1344                 $ref: '#/components/schemas/ErrorMessage'
1345           description: Internal Server Error
1346       summary: Get CM handle state
1347       tags:
1348       - network-cm-proxy
1349   /v1/ch/{cm-handle}/data-sync:
1350     put:
1351       description: Set the data sync enabled flag to true or false for a specified
1352         Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and
1353         NONE_REQUESTED respectfully.
1354       operationId: setDataSyncEnabledFlagForCmHandle
1355       parameters:
1356       - description: "The identifier for a network function, network element, subnetwork\
1357           \ or any other cm object by managed Network CM Proxy"
1358         in: path
1359         name: cm-handle
1360         required: true
1361         schema:
1362           example: my-cm-handle
1363           type: string
1364       - description: Is used to enable or disable the data synchronization flag
1365         in: query
1366         name: dataSyncEnabled
1367         required: true
1368         schema:
1369           example: true
1370           type: boolean
1371       responses:
1372         "200":
1373           content:
1374             application/json:
1375               schema:
1376                 type: object
1377           description: OK
1378         "400":
1379           content:
1380             application/json:
1381               example:
1382                 status: 400 BAD_REQUEST
1383                 message: Bad request error message
1384                 details: Bad request error details
1385               schema:
1386                 $ref: '#/components/schemas/ErrorMessage'
1387           description: Bad Request
1388         "401":
1389           content:
1390             application/json:
1391               example:
1392                 status: 401
1393                 message: Unauthorized error message
1394                 details: Unauthorized error details
1395               schema:
1396                 $ref: '#/components/schemas/ErrorMessage'
1397           description: Unauthorized
1398         "403":
1399           content:
1400             application/json:
1401               example:
1402                 status: 403
1403                 message: Forbidden error message
1404                 details: Forbidden error details
1405               schema:
1406                 $ref: '#/components/schemas/ErrorMessage'
1407           description: Forbidden
1408         "500":
1409           content:
1410             application/json:
1411               example:
1412                 status: 500
1413                 message: Internal Server Error
1414                 details: Internal Server Error occurred
1415               schema:
1416                 $ref: '#/components/schemas/ErrorMessage'
1417           description: Internal Server Error
1418         "502":
1419           content:
1420             application/json:
1421               example:
1422                 message: Bad Gateway Error Message NCMP
1423                 dmi-response:
1424                   http-code: 400
1425                   body: Bad Request
1426               schema:
1427                 $ref: '#/components/schemas/DmiErrorMessage'
1428           description: Bad Gateway
1429       summary: Set the Data Sync Enabled Flag
1430       tags:
1431       - network-cm-proxy
1432 components:
1433   examples:
1434     dataSampleResponse:
1435       description: Sample response for selecting 'sample 1'.
1436       summary: Sample response
1437       value:
1438         bookstore:
1439           categories:
1440           - code: "01"
1441             books:
1442             - authors:
1443               - Iain M. Banks
1444               - Ursula K. Le Guin
1445             name: SciFi
1446           - code: "02"
1447             books:
1448             - authors:
1449               - Philip Pullman
1450             name: kids
1451     dataSampleRequest:
1452       description: Sample request body
1453       summary: Sample request
1454       value:
1455         test:bookstore:
1456           bookstore-name: Chapters
1457           categories:
1458           - code: "01"
1459             name: SciFi
1460             books:
1461             - authors:
1462               - Iain M. Banks
1463               - Ursula K. Le Guin
1464           - code: "02"
1465             name: kids
1466             books:
1467             - authors:
1468               - Philip Pullman
1469     dataSamplePatchRequest:
1470       description: Sample patch request body
1471       summary: Sample patch request
1472       value:
1473         ietf-restconf:yang-patch:
1474           patch-id: patch-1
1475           edit:
1476           - edit-id: edit1
1477             operation: merge
1478             target: /
1479             value:
1480               test:bookstore:
1481                 bookstore-name: Chapters
1482                 categories:
1483                 - code: "01"
1484                   name: Science
1485                   books:
1486                   - authors:
1487                     - Author1
1488                     - Author2
1489                 - code: "02"
1490                   name: Arts
1491                   books:
1492                   - authors:
1493                     - Author3
1494           - edit-id: edit2
1495             operation: merge
1496             target: /
1497             value:
1498               test:bookstore:
1499                 bookstore-name: Novels
1500                 categories:
1501                 - code: "03"
1502                   name: History
1503                   books:
1504                   - authors:
1505                     - Iain M. Banks
1506                     - Ursula K. Le Guin
1507                 - code: "04"
1508                   name: Fiction
1509                   books:
1510                   - authors:
1511                     - Philip Pullman
1512     pubPropCmHandleQueryParameters:
1513       value:
1514         cmHandleQueryParameters:
1515         - conditionName: hasAllProperties
1516           conditionParameters:
1517           - Color: yellow
1518           - Shape: circle
1519           - Size: small
1520     modulesCmHandleQueryParameters:
1521       value:
1522         cmHandleQueryParameters:
1523         - conditionName: hasAllModules
1524           conditionParameters:
1525           - moduleName: my-module-1
1526           - moduleName: my-module-2
1527           - moduleName: my-module-3
1528     allCmHandleQueryParameters:
1529       value:
1530         cmHandleQueryParameters:
1531         - conditionName: hasAllModules
1532           conditionParameters:
1533           - moduleName: my-module-1
1534           - moduleName: my-module-2
1535           - moduleName: my-module-3
1536         - conditionName: hasAllProperties
1537           conditionParameters:
1538           - Color: yellow
1539           - Shape: circle
1540           - Size: small
1541         - conditionName: cmHandleWithCpsPath
1542           conditionParameters:
1543           - cpsPath: "//state[@cm-handle-state='ADVISED']"
1544     cpsPathCmHandleStateQueryParameters:
1545       value:
1546         cmHandleQueryParameters:
1547         - conditionName: cmHandleWithCpsPath
1548           conditionParameters:
1549           - cpsPath: "//state[@cm-handle-state='LOCKED']"
1550     cpsPathCmHandleDataSyncQueryParameters:
1551       value:
1552         cmHandleQueryParameters:
1553         - conditionName: cmHandleWithCpsPath
1554           conditionParameters:
1555           - cpsPath: "//state[@data-sync-enabled='true']"
1556   parameters:
1557     datastoreName:
1558       description: The type of the requested data
1559       in: path
1560       name: datastore-name
1561       required: true
1562       schema:
1563         example: ncmp-datastore:running
1564         type: string
1565     cmHandleInPath:
1566       description: "The identifier for a network function, network element, subnetwork\
1567         \ or any other cm object by managed Network CM Proxy"
1568       in: path
1569       name: cm-handle
1570       required: true
1571       schema:
1572         example: my-cm-handle
1573         type: string
1574     resourceIdentifierInQuery:
1575       allowReserved: true
1576       description: The format of resource identifier depend on the associated DMI
1577         Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it
1578         can really be anything.
1579       examples:
1580         sample 1:
1581           value:
1582             resourceIdentifier: \shops\bookstore
1583         sample 2:
1584           value:
1585             resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
1586         sample 3:
1587           value:
1588             resourceIdentifier: "parent=shops,child=bookstore"
1589       in: query
1590       name: resourceIdentifier
1591       required: true
1592       schema:
1593         type: string
1594     optionsParamInQuery:
1595       allowReserved: true
1596       description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
1597         \ in parenthesis'()'. The format of options parameter depend on the associated\
1598         \ DMI Plugin implementation."
1599       examples:
1600         sample 1:
1601           value:
1602             options: (depth=3)
1603         sample 2:
1604           value:
1605             options: (fields=book)
1606         sample 3:
1607           value:
1608             options: "(depth=2,fields=book/authors)"
1609       in: query
1610       name: options
1611       required: false
1612       schema:
1613         type: string
1614     topicParamInQuery:
1615       allowReserved: true
1616       description: topic parameter in query.
1617       examples:
1618         sample 1:
1619           value:
1620             topic: my-topic-name
1621       in: query
1622       name: topic
1623       required: false
1624       schema:
1625         type: string
1626     includeDescendantsOptionInQuery:
1627       description: Determines if descendants are included in response
1628       in: query
1629       name: include-descendants
1630       required: false
1631       schema:
1632         default: false
1633         type: boolean
1634     contentParamInHeader:
1635       description: "Content parameter for request, if content parameter is null, default\
1636         \ value is application/json."
1637       in: header
1638       name: Content-Type
1639       required: false
1640       schema:
1641         default: application/json
1642         example: application/yang-data+json
1643         type: string
1644     requiredTopicParamInQuery:
1645       allowReserved: true
1646       description: mandatory topic parameter in query.
1647       examples:
1648         sample 1:
1649           value:
1650             topic: my-topic-name
1651       in: query
1652       name: topic
1653       required: true
1654       schema:
1655         type: string
1656     cpsPathInQuery:
1657       description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
1658       examples:
1659         container cps path:
1660           value: //bookstore
1661         list attributes cps path:
1662           value: "//categories[@code=1]"
1663       in: query
1664       name: cps-path
1665       required: false
1666       schema:
1667         default: /
1668         type: string
1669     dataSyncEnabled:
1670       description: Is used to enable or disable the data synchronization flag
1671       in: query
1672       name: dataSyncEnabled
1673       required: true
1674       schema:
1675         example: true
1676         type: boolean
1677   responses:
1678     BadRequest:
1679       content:
1680         application/json:
1681           example:
1682             status: 400 BAD_REQUEST
1683             message: Bad request error message
1684             details: Bad request error details
1685           schema:
1686             $ref: '#/components/schemas/ErrorMessage'
1687       description: Bad Request
1688     Unauthorized:
1689       content:
1690         application/json:
1691           example:
1692             status: 401
1693             message: Unauthorized error message
1694             details: Unauthorized error details
1695           schema:
1696             $ref: '#/components/schemas/ErrorMessage'
1697       description: Unauthorized
1698     Forbidden:
1699       content:
1700         application/json:
1701           example:
1702             status: 403
1703             message: Forbidden error message
1704             details: Forbidden error details
1705           schema:
1706             $ref: '#/components/schemas/ErrorMessage'
1707       description: Forbidden
1708     InternalServerError:
1709       content:
1710         application/json:
1711           example:
1712             status: 500
1713             message: Internal Server Error
1714             details: Internal Server Error occurred
1715           schema:
1716             $ref: '#/components/schemas/ErrorMessage'
1717       description: Internal Server Error
1718     BadGateway:
1719       content:
1720         application/json:
1721           example:
1722             message: Bad Gateway Error Message NCMP
1723             dmi-response:
1724               http-code: 400
1725               body: Bad Request
1726           schema:
1727             $ref: '#/components/schemas/DmiErrorMessage'
1728       description: Bad Gateway
1729     Ok:
1730       content:
1731         application/json:
1732           schema:
1733             type: object
1734       description: OK
1735     Created:
1736       content: {}
1737       description: Created
1738     NoContent:
1739       content: {}
1740       description: No Content
1741     NotFound:
1742       content:
1743         application/json:
1744           example:
1745             status: 400
1746             message: Not found error message
1747             details: Not found error details
1748           schema:
1749             $ref: '#/components/schemas/ErrorMessage'
1750       description: The specified resource was not found
1751   schemas:
1752     ErrorMessage:
1753       properties:
1754         status:
1755           type: string
1756         message:
1757           type: string
1758         details:
1759           type: string
1760       title: Error
1761       type: object
1762     DmiErrorMessage:
1763       properties:
1764         message:
1765           example: Bad Gateway Error Message NCMP
1766           type: string
1767         dmi-response:
1768           $ref: '#/components/schemas/DmiErrorMessage_dmi_response'
1769       title: DMI Error Message
1770       type: object
1771     DataOperationRequest:
1772       example:
1773         operations:
1774         - resourceIdentifier: parent/child
1775           targetIds:
1776           - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1777             ]"
1778           - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1779             ]"
1780           datastore: ncmp-datastore:passthrough-operational
1781           options: (fields=schemas/schema)
1782           operationId: "12"
1783           operation: read
1784         - resourceIdentifier: parent/child
1785           targetIds:
1786           - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1787             ]"
1788           - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1789             ]"
1790           datastore: ncmp-datastore:passthrough-operational
1791           options: (fields=schemas/schema)
1792           operationId: "12"
1793           operation: read
1794       properties:
1795         operations:
1796           description: contains group of data operation requests
1797           items:
1798             $ref: '#/components/schemas/DataOperationDefinition'
1799           type: array
1800       title: execute data operation for given array of operations
1801       type: object
1802     DataOperationDefinition:
1803       example:
1804         resourceIdentifier: parent/child
1805         targetIds:
1806         - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1807           ]"
1808         - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1809           ]"
1810         datastore: ncmp-datastore:passthrough-operational
1811         options: (fields=schemas/schema)
1812         operationId: "12"
1813         operation: read
1814       properties:
1815         operation:
1816           example: read
1817           type: string
1818         operationId:
1819           example: "12"
1820           type: string
1821         datastore:
1822           example: ncmp-datastore:passthrough-operational
1823           type: string
1824         options:
1825           example: (fields=schemas/schema)
1826           type: string
1827         resourceIdentifier:
1828           example: parent/child
1829           type: string
1830         targetIds:
1831           items:
1832             example: "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1833               ]"
1834             type: string
1835           type: array
1836       required:
1837       - datastore
1838       - operation
1839       - operationId
1840     RestModuleReference:
1841       example:
1842         moduleName: my-module-name
1843         revision: my-module-revision
1844       properties:
1845         moduleName:
1846           example: my-module-name
1847           type: string
1848         revision:
1849           example: my-module-revision
1850           type: string
1851       title: Module reference details
1852       type: object
1853     RestModuleDefinition:
1854       example:
1855         moduleName: my-module-name
1856         content: |
1857           module stores {
1858             yang-version 1.1;
1859             namespace 'org:onap:ccsdk:sample';
1860             prefix book-store;
1861             revision '2020-09-15' {
1862               description
1863               'Sample Model';
1864             }
1865           }
1866         revision: 2020-09-15
1867       properties:
1868         moduleName:
1869           example: my-module-name
1870           type: string
1871         revision:
1872           example: 2020-09-15
1873           type: string
1874         content:
1875           example: |
1876             module stores {
1877               yang-version 1.1;
1878               namespace 'org:onap:ccsdk:sample';
1879               prefix book-store;
1880               revision '2020-09-15' {
1881                 description
1882                 'Sample Model';
1883               }
1884             }
1885           type: string
1886       title: Module definitions
1887       type: object
1888     CmHandleQueryParameters:
1889       example:
1890         cmHandleQueryParameters:
1891         - conditionParameters:
1892           - key: conditionParameters
1893           - key: conditionParameters
1894           conditionName: conditionName
1895         - conditionParameters:
1896           - key: conditionParameters
1897           - key: conditionParameters
1898           conditionName: conditionName
1899         conditions:
1900         - name: name
1901           conditionParameters:
1902           - moduleName: my-module
1903           - moduleName: my-module
1904         - name: name
1905           conditionParameters:
1906           - moduleName: my-module
1907           - moduleName: my-module
1908       properties:
1909         cmHandleQueryParameters:
1910           items:
1911             $ref: '#/components/schemas/ConditionProperties'
1912           type: array
1913         conditions:
1914           deprecated: true
1915           description: "not necessary, it is just for backward compatibility"
1916           items:
1917             $ref: '#/components/schemas/OldConditionProperties'
1918           type: array
1919       title: Cm Handle query parameters for executing cm handle search
1920       type: object
1921     ConditionProperties:
1922       example:
1923         conditionParameters:
1924         - key: conditionParameters
1925         - key: conditionParameters
1926         conditionName: conditionName
1927       properties:
1928         conditionName:
1929           type: string
1930         conditionParameters:
1931           items:
1932             additionalProperties:
1933               type: string
1934             type: object
1935           type: array
1936     OldConditionProperties:
1937       deprecated: true
1938       example:
1939         name: name
1940         conditionParameters:
1941         - moduleName: my-module
1942         - moduleName: my-module
1943       properties:
1944         name:
1945           type: string
1946         conditionParameters:
1947           items:
1948             $ref: '#/components/schemas/ModuleNameAsJsonObject'
1949           type: array
1950     ModuleNameAsJsonObject:
1951       example:
1952         moduleName: my-module
1953       properties:
1954         moduleName:
1955           example: my-module
1956           type: string
1957     RestOutputCmHandle:
1958       example:
1959         cmHandle: my-cm-handle1
1960         publicCmHandleProperties:
1961         - key: Book Type
1962         - key: Book Type
1963         state:
1964           dataSyncEnabled: false
1965           dataSyncState:
1966             running:
1967               lastSyncTime: 2022-12-31T20:30:40.000+0000
1968               syncState: NONE_REQUESTED
1969             operational:
1970               lastSyncTime: 2022-12-31T20:30:40.000+0000
1971               syncState: NONE_REQUESTED
1972           cmHandleState: ADVISED
1973           lockReason:
1974             reason: LOCKED_MISBEHAVING
1975             details: locked due to failure in module sync
1976           lastUpdateTime: 2022-12-31T20:30:40.000+0000
1977         trustLevel: COMPLETE
1978       properties:
1979         cmHandle:
1980           example: my-cm-handle1
1981           type: string
1982         publicCmHandleProperties:
1983           items:
1984             additionalProperties:
1985               example: Book Type
1986               type: string
1987             type: object
1988           type: array
1989         state:
1990           $ref: '#/components/schemas/CmHandleCompositeState'
1991         trustLevel:
1992           description: Current trust level of the relevant CM handle ID.
1993           example: COMPLETE
1994           type: string
1995       title: CM handle Details
1996       type: object
1997     CmHandlePublicProperties:
1998       items:
1999         additionalProperties:
2000           example: Book Type
2001           type: string
2002         type: object
2003       type: array
2004     CmHandleCompositeState:
2005       example:
2006         dataSyncEnabled: false
2007         dataSyncState:
2008           running:
2009             lastSyncTime: 2022-12-31T20:30:40.000+0000
2010             syncState: NONE_REQUESTED
2011           operational:
2012             lastSyncTime: 2022-12-31T20:30:40.000+0000
2013             syncState: NONE_REQUESTED
2014         cmHandleState: ADVISED
2015         lockReason:
2016           reason: LOCKED_MISBEHAVING
2017           details: locked due to failure in module sync
2018         lastUpdateTime: 2022-12-31T20:30:40.000+0000
2019       properties:
2020         cmHandleState:
2021           example: ADVISED
2022           type: string
2023         lockReason:
2024           $ref: '#/components/schemas/lock-reason'
2025         lastUpdateTime:
2026           example: 2022-12-31T20:30:40.000+0000
2027           type: string
2028         dataSyncEnabled:
2029           example: false
2030           type: boolean
2031         dataSyncState:
2032           $ref: '#/components/schemas/dataStores'
2033       type: object
2034     lock-reason:
2035       example:
2036         reason: LOCKED_MISBEHAVING
2037         details: locked due to failure in module sync
2038       properties:
2039         reason:
2040           example: LOCKED_MISBEHAVING
2041           type: string
2042         details:
2043           example: locked due to failure in module sync
2044           type: string
2045       type: object
2046     dataStores:
2047       example:
2048         running:
2049           lastSyncTime: 2022-12-31T20:30:40.000+0000
2050           syncState: NONE_REQUESTED
2051         operational:
2052           lastSyncTime: 2022-12-31T20:30:40.000+0000
2053           syncState: NONE_REQUESTED
2054       properties:
2055         operational:
2056           $ref: '#/components/schemas/sync-state'
2057         running:
2058           $ref: '#/components/schemas/sync-state'
2059       type: object
2060     sync-state:
2061       example:
2062         lastSyncTime: 2022-12-31T20:30:40.000+0000
2063         syncState: NONE_REQUESTED
2064       properties:
2065         syncState:
2066           example: NONE_REQUESTED
2067           type: string
2068         lastSyncTime:
2069           example: 2022-12-31T20:30:40.000+0000
2070           type: string
2071       type: object
2072     CmHandleTrustLevel:
2073       description: Current trust level of the relevant CM handle ID.
2074       example: COMPLETE
2075       type: string
2076     RestOutputCmHandlePublicProperties:
2077       example:
2078         publicCmHandleProperties:
2079         - key: Book Type
2080         - key: Book Type
2081       properties:
2082         publicCmHandleProperties:
2083           items:
2084             additionalProperties:
2085               example: Book Type
2086               type: string
2087             type: object
2088           type: array
2089       type: object
2090     RestOutputCmHandleCompositeState:
2091       example:
2092         state:
2093           dataSyncEnabled: false
2094           dataSyncState:
2095             running:
2096               lastSyncTime: 2022-12-31T20:30:40.000+0000
2097               syncState: NONE_REQUESTED
2098             operational:
2099               lastSyncTime: 2022-12-31T20:30:40.000+0000
2100               syncState: NONE_REQUESTED
2101           cmHandleState: ADVISED
2102           lockReason:
2103             reason: LOCKED_MISBEHAVING
2104             details: locked due to failure in module sync
2105           lastUpdateTime: 2022-12-31T20:30:40.000+0000
2106       properties:
2107         state:
2108           $ref: '#/components/schemas/CmHandleCompositeState'
2109       type: object
2110     DmiErrorMessage_dmi_response:
2111       properties:
2112         http-code:
2113           example: 400
2114           type: integer
2115         body:
2116           example: Bad Request
2117           type: string
2118       type: object
2119   securitySchemes:
2120     basicAuth:
2121       scheme: basic
2122       type: http