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