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