CPS-2182 - #4 Add module Set tag to NCMPs DMI Batch Data interface
[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
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
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
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
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
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. A maximum of 50 cm handles per operation
619         is supported.
620       operationId: executeDataOperationForCmHandles
621       parameters:
622       - allowReserved: true
623         description: mandatory topic parameter in query.
624         examples:
625           sample 1:
626             value:
627               topic: my-topic-name
628         in: query
629         name: topic
630         required: true
631         schema:
632           type: string
633       - description: Authorization parameter for request.
634         in: header
635         name: Authorization
636         required: false
637         schema:
638           type: string
639       requestBody:
640         content:
641           application/json:
642             schema:
643               $ref: '#/components/schemas/DataOperationRequest'
644         required: true
645       responses:
646         "200":
647           content:
648             application/json:
649               schema:
650                 type: object
651           description: OK
652         "400":
653           content:
654             application/json:
655               example:
656                 status: 400
657                 message: Bad request error message
658                 details: Bad request error details
659               schema:
660                 $ref: '#/components/schemas/ErrorMessage'
661           description: Bad Request
662         "403":
663           content:
664             application/json:
665               example:
666                 status: 403
667                 message: Forbidden error message
668                 details: Forbidden error details
669               schema:
670                 $ref: '#/components/schemas/ErrorMessage'
671           description: Forbidden
672         "413":
673           content:
674             application/json:
675               example:
676                 status: 413
677                 message: Payload Too Large error message
678                 details: Payload Too Large error details
679               schema:
680                 $ref: '#/components/schemas/ErrorMessage'
681           description: The request is larger than the server is willing or able to
682             process
683         "500":
684           content:
685             application/json:
686               example:
687                 status: 500
688                 message: Internal Server Error
689                 details: Internal Server Error occurred
690               schema:
691                 $ref: '#/components/schemas/ErrorMessage'
692           description: Internal Server Error
693         "502":
694           content:
695             application/json:
696               example:
697                 message: Bad Gateway Error Message NCMP
698                 dmi-response:
699                   http-code: 400
700                   body: Bad Request
701               schema:
702                 $ref: '#/components/schemas/DmiErrorMessage'
703           description: Bad Gateway
704       summary: Execute a data operation for group of cm handle ids
705       tags:
706       - network-cm-proxy
707   /v1/ch/{cm-handle}/data/ds/{datastore-name}/query:
708     get:
709       description: Query resource data for a given cm handle
710       operationId: queryResourceDataForCmHandle
711       parameters:
712       - description: The type of the requested data
713         in: path
714         name: datastore-name
715         required: true
716         schema:
717           example: ncmp-datastore:running
718           type: string
719       - description: "The identifier for a network function, network element, subnetwork\
720           \ or any other cm object by managed Network CM Proxy"
721         in: path
722         name: cm-handle
723         required: true
724         schema:
725           example: my-cm-handle
726           type: string
727       - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
728         examples:
729           container cps path:
730             value: //bookstore
731           list attributes cps path:
732             value: "//categories[@code=1]"
733         in: query
734         name: cps-path
735         required: false
736         schema:
737           default: /
738           type: string
739       - allowReserved: true
740         description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
741           \ in parenthesis'()'. The format of options parameter depend on the associated\
742           \ DMI Plugin implementation."
743         examples:
744           sample 1:
745             value:
746               options: (depth=3)
747           sample 2:
748             value:
749               options: (fields=book)
750           sample 3:
751             value:
752               options: "(depth=2,fields=book/authors)"
753         in: query
754         name: options
755         required: false
756         schema:
757           type: string
758       - allowReserved: true
759         description: topic parameter in query.
760         examples:
761           sample 1:
762             value:
763               topic: my-topic-name
764         in: query
765         name: topic
766         required: false
767         schema:
768           type: string
769       - description: Determines if descendants are included in response
770         in: query
771         name: include-descendants
772         required: false
773         schema:
774           default: false
775           type: boolean
776       responses:
777         "200":
778           content:
779             application/json:
780               examples:
781                 dataSampleResponse:
782                   $ref: '#/components/examples/dataSampleResponse'
783                   value: null
784               schema:
785                 type: object
786           description: OK
787         "400":
788           content:
789             application/json:
790               example:
791                 status: 400
792                 message: Bad request error message
793                 details: Bad request error details
794               schema:
795                 $ref: '#/components/schemas/ErrorMessage'
796           description: Bad Request
797         "403":
798           content:
799             application/json:
800               example:
801                 status: 403
802                 message: Forbidden error message
803                 details: Forbidden error details
804               schema:
805                 $ref: '#/components/schemas/ErrorMessage'
806           description: Forbidden
807         "500":
808           content:
809             application/json:
810               example:
811                 status: 500
812                 message: Internal Server Error
813                 details: Internal Server Error occurred
814               schema:
815                 $ref: '#/components/schemas/ErrorMessage'
816           description: Internal Server Error
817         "502":
818           content:
819             application/json:
820               example:
821                 message: Bad Gateway Error Message NCMP
822                 dmi-response:
823                   http-code: 400
824                   body: Bad Request
825               schema:
826                 $ref: '#/components/schemas/DmiErrorMessage'
827           description: Bad Gateway
828       summary: Query resource data for a given cm handle
829       tags:
830       - network-cm-proxy
831   /v1/ch/{cm-handle}/modules:
832     get:
833       description: fetch all module references (name and revision) for a given cm
834         handle
835       operationId: getModuleReferencesByCmHandle
836       parameters:
837       - description: "The identifier for a network function, network element, subnetwork\
838           \ or any other cm object by managed Network CM Proxy"
839         in: path
840         name: cm-handle
841         required: true
842         schema:
843           example: my-cm-handle
844           type: string
845       responses:
846         "200":
847           content:
848             application/json:
849               schema:
850                 items:
851                   $ref: '#/components/schemas/RestModuleReference'
852                 type: array
853           description: OK
854         "400":
855           content:
856             application/json:
857               example:
858                 status: 400
859                 message: Bad request error message
860                 details: Bad request error details
861               schema:
862                 $ref: '#/components/schemas/ErrorMessage'
863           description: Bad Request
864         "403":
865           content:
866             application/json:
867               example:
868                 status: 403
869                 message: Forbidden error message
870                 details: Forbidden error details
871               schema:
872                 $ref: '#/components/schemas/ErrorMessage'
873           description: Forbidden
874         "500":
875           content:
876             application/json:
877               example:
878                 status: 500
879                 message: Internal Server Error
880                 details: Internal Server Error occurred
881               schema:
882                 $ref: '#/components/schemas/ErrorMessage'
883           description: Internal Server Error
884       summary: Fetch all module references (name and revision) for a given cm handle
885       tags:
886       - network-cm-proxy
887   /v1/ch/{cm-handle}/modules/definitions:
888     get:
889       description: "Get module definitions (module name, revision, yang resource)\
890         \ with options to filter on module name and revision"
891       operationId: getModuleDefinitions
892       parameters:
893       - description: "The identifier for a network function, network element, subnetwork\
894           \ or any other cm object by managed Network CM Proxy"
895         in: path
896         name: cm-handle
897         required: true
898         schema:
899           example: my-cm-handle
900           type: string
901       - description: Filter for a module name.This is an optional parameter
902         in: query
903         name: module-name
904         required: false
905         schema:
906           example: my-module
907           type: string
908       - description: Filter for a module revision.This is an optional parameter and
909           ignored when no module name is supplied
910         in: query
911         name: revision
912         required: false
913         schema:
914           example: 2024-01-22
915           type: string
916       responses:
917         "200":
918           content:
919             application/json:
920               schema:
921                 items:
922                   $ref: '#/components/schemas/RestModuleDefinition'
923                 type: array
924           description: OK
925         "403":
926           content:
927             application/json:
928               example:
929                 status: 403
930                 message: Forbidden error message
931                 details: Forbidden error details
932               schema:
933                 $ref: '#/components/schemas/ErrorMessage'
934           description: Forbidden
935         "500":
936           content:
937             application/json:
938               example:
939                 status: 500
940                 message: Internal Server Error
941                 details: Internal Server Error occurred
942               schema:
943                 $ref: '#/components/schemas/ErrorMessage'
944           description: Internal Server Error
945       summary: Get module definitions
946       tags:
947       - network-cm-proxy
948   /v1/ch/searches:
949     post:
950       description: Execute cm handle query search and return a list of cm handle details.
951         Any number of conditions can be applied. To be included in the result a cm-handle
952         must fulfill ALL the conditions. An empty collection will be returned in the
953         case that the cm handle does not match a condition. For more on cm handle
954         query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
955         handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
956         to query on any data related to the cm handle. For more on CPS Path please
957         refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
958         Path Read the Docs</a>. The cm handle ancestor is automatically returned for
959         this query.
960       operationId: searchCmHandles
961       requestBody:
962         content:
963           application/json:
964             examples:
965               Cm handle properties query:
966                 $ref: '#/components/examples/pubPropCmHandleQueryParameters'
967                 value: null
968               Cm handle modules query:
969                 $ref: '#/components/examples/modulesCmHandleQueryParameters'
970                 value: null
971               All cm handle query parameters:
972                 $ref: '#/components/examples/allCmHandleQueryParameters'
973                 value: null
974               Cm handle with CPS path state query:
975                 $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
976                 value: null
977               Cm handle with data sync flag query:
978                 $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
979                 value: null
980             schema:
981               $ref: '#/components/schemas/CmHandleQueryParameters'
982         required: true
983       responses:
984         "200":
985           content:
986             application/json:
987               schema:
988                 items:
989                   $ref: '#/components/schemas/RestOutputCmHandle'
990                 type: array
991           description: OK
992         "400":
993           content:
994             application/json:
995               example:
996                 status: 400
997                 message: Bad request error message
998                 details: Bad request error details
999               schema:
1000                 $ref: '#/components/schemas/ErrorMessage'
1001           description: Bad Request
1002         "403":
1003           content:
1004             application/json:
1005               example:
1006                 status: 403
1007                 message: Forbidden error message
1008                 details: Forbidden error details
1009               schema:
1010                 $ref: '#/components/schemas/ErrorMessage'
1011           description: Forbidden
1012         "500":
1013           content:
1014             application/json:
1015               example:
1016                 status: 500
1017                 message: Internal Server Error
1018                 details: Internal Server Error occurred
1019               schema:
1020                 $ref: '#/components/schemas/ErrorMessage'
1021           description: Internal Server Error
1022       summary: Execute cm handle search using the available conditions
1023       tags:
1024       - network-cm-proxy
1025   /v1/ch/{cm-handle}:
1026     get:
1027       description: Retrieve CM handle details and properties by cm handle id
1028       operationId: retrieveCmHandleDetailsById
1029       parameters:
1030       - description: "The identifier for a network function, network element, subnetwork\
1031           \ or any other cm object by managed Network CM Proxy"
1032         in: path
1033         name: cm-handle
1034         required: true
1035         schema:
1036           example: my-cm-handle
1037           type: string
1038       responses:
1039         "200":
1040           content:
1041             application/json:
1042               schema:
1043                 $ref: '#/components/schemas/RestOutputCmHandle'
1044           description: OK
1045         "400":
1046           content:
1047             application/json:
1048               example:
1049                 status: 400
1050                 message: Bad request error message
1051                 details: Bad request error details
1052               schema:
1053                 $ref: '#/components/schemas/ErrorMessage'
1054           description: Bad Request
1055         "404":
1056           content:
1057             application/json:
1058               example:
1059                 status: 400
1060                 message: Not found error message
1061                 details: Not found error details
1062               schema:
1063                 $ref: '#/components/schemas/ErrorMessage'
1064           description: The specified resource was not found
1065         "500":
1066           content:
1067             application/json:
1068               example:
1069                 status: 500
1070                 message: Internal Server Error
1071                 details: Internal Server Error occurred
1072               schema:
1073                 $ref: '#/components/schemas/ErrorMessage'
1074           description: Internal Server Error
1075       summary: Retrieve CM handle details
1076       tags:
1077       - network-cm-proxy
1078   /v1/ch/{cm-handle}/properties:
1079     get:
1080       description: Get CM handle properties by cm handle id
1081       operationId: getCmHandlePublicPropertiesByCmHandleId
1082       parameters:
1083       - description: "The identifier for a network function, network element, subnetwork\
1084           \ or any other cm object by managed Network CM Proxy"
1085         in: path
1086         name: cm-handle
1087         required: true
1088         schema:
1089           example: my-cm-handle
1090           type: string
1091       responses:
1092         "200":
1093           content:
1094             application/json:
1095               schema:
1096                 $ref: '#/components/schemas/RestOutputCmHandlePublicProperties'
1097           description: OK
1098         "400":
1099           content:
1100             application/json:
1101               example:
1102                 status: 400
1103                 message: Bad request error message
1104                 details: Bad request error details
1105               schema:
1106                 $ref: '#/components/schemas/ErrorMessage'
1107           description: Bad Request
1108         "404":
1109           content:
1110             application/json:
1111               example:
1112                 status: 400
1113                 message: Not found error message
1114                 details: Not found error details
1115               schema:
1116                 $ref: '#/components/schemas/ErrorMessage'
1117           description: The specified resource was not found
1118         "500":
1119           content:
1120             application/json:
1121               example:
1122                 status: 500
1123                 message: Internal Server Error
1124                 details: Internal Server Error occurred
1125               schema:
1126                 $ref: '#/components/schemas/ErrorMessage'
1127           description: Internal Server Error
1128       summary: Get CM handle properties
1129       tags:
1130       - network-cm-proxy
1131   /v1/ch/id-searches:
1132     post:
1133       description: Execute cm handle query search and return a list of cm handle ids.
1134         Any number of conditions can be applied. To be included in the result a cm-handle
1135         must fulfill ALL the conditions. An empty collection will be returned in the
1136         case that the cm handle does not match a condition. For more on cm handle
1137         query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
1138         handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
1139         to query on any data related to the cm handle. For more on CPS Path please
1140         refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
1141         Path Read the Docs</a>. The cm handle ancestor is automatically returned for
1142         this query.
1143       operationId: searchCmHandleIds
1144       requestBody:
1145         content:
1146           application/json:
1147             examples:
1148               Cm handle properties query:
1149                 $ref: '#/components/examples/pubPropCmHandleQueryParameters'
1150                 value: null
1151               Cm handle modules query:
1152                 $ref: '#/components/examples/modulesCmHandleQueryParameters'
1153                 value: null
1154               All cm handle query parameters:
1155                 $ref: '#/components/examples/allCmHandleQueryParameters'
1156                 value: null
1157               Cm handle with CPS path state query:
1158                 $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
1159                 value: null
1160               Cm handle with data sync flag query:
1161                 $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
1162                 value: null
1163             schema:
1164               $ref: '#/components/schemas/CmHandleQueryParameters'
1165         required: true
1166       responses:
1167         "200":
1168           content:
1169             application/json:
1170               schema:
1171                 items:
1172                   type: string
1173                 type: array
1174           description: OK
1175         "400":
1176           content:
1177             application/json:
1178               example:
1179                 status: 400
1180                 message: Bad request error message
1181                 details: Bad request error details
1182               schema:
1183                 $ref: '#/components/schemas/ErrorMessage'
1184           description: Bad Request
1185         "403":
1186           content:
1187             application/json:
1188               example:
1189                 status: 403
1190                 message: Forbidden error message
1191                 details: Forbidden error details
1192               schema:
1193                 $ref: '#/components/schemas/ErrorMessage'
1194           description: Forbidden
1195         "404":
1196           content:
1197             application/json:
1198               example:
1199                 status: 400
1200                 message: Not found error message
1201                 details: Not found error details
1202               schema:
1203                 $ref: '#/components/schemas/ErrorMessage'
1204           description: The specified resource was not found
1205         "500":
1206           content:
1207             application/json:
1208               example:
1209                 status: 500
1210                 message: Internal Server Error
1211                 details: Internal Server Error occurred
1212               schema:
1213                 $ref: '#/components/schemas/ErrorMessage'
1214           description: Internal Server Error
1215       summary: Execute cm handle query upon a given set of query parameters
1216       tags:
1217       - network-cm-proxy
1218   /v1/ch/{cm-handle}/state:
1219     get:
1220       description: Get CM handle state by cm handle id
1221       operationId: getCmHandleStateByCmHandleId
1222       parameters:
1223       - description: "The identifier for a network function, network element, subnetwork\
1224           \ or any other cm object by managed Network CM Proxy"
1225         in: path
1226         name: cm-handle
1227         required: true
1228         schema:
1229           example: my-cm-handle
1230           type: string
1231       responses:
1232         "200":
1233           content:
1234             application/json:
1235               schema:
1236                 $ref: '#/components/schemas/RestOutputCmHandleCompositeState'
1237           description: OK
1238         "400":
1239           content:
1240             application/json:
1241               example:
1242                 status: 400
1243                 message: Bad request error message
1244                 details: Bad request error details
1245               schema:
1246                 $ref: '#/components/schemas/ErrorMessage'
1247           description: Bad Request
1248         "404":
1249           content:
1250             application/json:
1251               example:
1252                 status: 400
1253                 message: Not found error message
1254                 details: Not found error details
1255               schema:
1256                 $ref: '#/components/schemas/ErrorMessage'
1257           description: The specified resource was not found
1258         "500":
1259           content:
1260             application/json:
1261               example:
1262                 status: 500
1263                 message: Internal Server Error
1264                 details: Internal Server Error occurred
1265               schema:
1266                 $ref: '#/components/schemas/ErrorMessage'
1267           description: Internal Server Error
1268       summary: Get CM handle state
1269       tags:
1270       - network-cm-proxy
1271   /v1/ch/{cm-handle}/data-sync:
1272     put:
1273       description: Set the data sync enabled flag to true or false for a specified
1274         Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and
1275         NONE_REQUESTED respectfully.
1276       operationId: setDataSyncEnabledFlagForCmHandle
1277       parameters:
1278       - description: "The identifier for a network function, network element, subnetwork\
1279           \ or any other cm object by managed Network CM Proxy"
1280         in: path
1281         name: cm-handle
1282         required: true
1283         schema:
1284           example: my-cm-handle
1285           type: string
1286       - description: Is used to enable or disable the data synchronization flag
1287         in: query
1288         name: dataSyncEnabled
1289         required: true
1290         schema:
1291           example: true
1292           type: boolean
1293       responses:
1294         "200":
1295           content:
1296             application/json:
1297               schema:
1298                 type: object
1299           description: OK
1300         "400":
1301           content:
1302             application/json:
1303               example:
1304                 status: 400
1305                 message: Bad request error message
1306                 details: Bad request error details
1307               schema:
1308                 $ref: '#/components/schemas/ErrorMessage'
1309           description: Bad Request
1310         "403":
1311           content:
1312             application/json:
1313               example:
1314                 status: 403
1315                 message: Forbidden error message
1316                 details: Forbidden error details
1317               schema:
1318                 $ref: '#/components/schemas/ErrorMessage'
1319           description: Forbidden
1320         "500":
1321           content:
1322             application/json:
1323               example:
1324                 status: 500
1325                 message: Internal Server Error
1326                 details: Internal Server Error occurred
1327               schema:
1328                 $ref: '#/components/schemas/ErrorMessage'
1329           description: Internal Server Error
1330         "502":
1331           content:
1332             application/json:
1333               example:
1334                 message: Bad Gateway Error Message NCMP
1335                 dmi-response:
1336                   http-code: 400
1337                   body: Bad Request
1338               schema:
1339                 $ref: '#/components/schemas/DmiErrorMessage'
1340           description: Bad Gateway
1341       summary: Set the Data Sync Enabled Flag
1342       tags:
1343       - network-cm-proxy
1344 components:
1345   examples:
1346     dataSampleResponse:
1347       description: Sample response for selecting 'sample 1'.
1348       summary: Sample response
1349       value:
1350         bookstore:
1351           categories:
1352           - code: "01"
1353             books:
1354             - authors:
1355               - Iain M. Banks
1356               - Ursula K. Le Guin
1357             name: SciFi
1358           - code: "02"
1359             books:
1360             - authors:
1361               - Philip Pullman
1362             name: kids
1363     dataSampleRequest:
1364       description: Sample request body
1365       summary: Sample request
1366       value:
1367         test:bookstore:
1368           bookstore-name: Chapters
1369           categories:
1370           - code: "01"
1371             name: SciFi
1372             books:
1373             - authors:
1374               - Iain M. Banks
1375               - Ursula K. Le Guin
1376           - code: "02"
1377             name: kids
1378             books:
1379             - authors:
1380               - Philip Pullman
1381     dataSamplePatchRequest:
1382       description: Sample patch request body
1383       summary: Sample patch request
1384       value:
1385         ietf-restconf:yang-patch:
1386           patch-id: patch-1
1387           edit:
1388           - edit-id: edit1
1389             operation: merge
1390             target: /
1391             value:
1392               test:bookstore:
1393                 bookstore-name: Chapters
1394                 categories:
1395                 - code: "01"
1396                   name: Science
1397                   books:
1398                   - authors:
1399                     - Author1
1400                     - Author2
1401                 - code: "02"
1402                   name: Arts
1403                   books:
1404                   - authors:
1405                     - Author3
1406           - edit-id: edit2
1407             operation: merge
1408             target: /
1409             value:
1410               test:bookstore:
1411                 bookstore-name: Novels
1412                 categories:
1413                 - code: "03"
1414                   name: History
1415                   books:
1416                   - authors:
1417                     - Iain M. Banks
1418                     - Ursula K. Le Guin
1419                 - code: "04"
1420                   name: Fiction
1421                   books:
1422                   - authors:
1423                     - Philip Pullman
1424     pubPropCmHandleQueryParameters:
1425       value:
1426         cmHandleQueryParameters:
1427         - conditionName: hasAllProperties
1428           conditionParameters:
1429           - Color: yellow
1430           - Shape: circle
1431           - Size: small
1432     modulesCmHandleQueryParameters:
1433       value:
1434         cmHandleQueryParameters:
1435         - conditionName: hasAllModules
1436           conditionParameters:
1437           - moduleName: my-module-1
1438           - moduleName: my-module-2
1439           - moduleName: my-module-3
1440     allCmHandleQueryParameters:
1441       value:
1442         cmHandleQueryParameters:
1443         - conditionName: hasAllModules
1444           conditionParameters:
1445           - moduleName: my-module-1
1446           - moduleName: my-module-2
1447           - moduleName: my-module-3
1448         - conditionName: hasAllProperties
1449           conditionParameters:
1450           - Color: yellow
1451           - Shape: circle
1452           - Size: small
1453         - conditionName: cmHandleWithCpsPath
1454           conditionParameters:
1455           - cpsPath: "//state[@cm-handle-state='ADVISED']"
1456     cpsPathCmHandleStateQueryParameters:
1457       value:
1458         cmHandleQueryParameters:
1459         - conditionName: cmHandleWithCpsPath
1460           conditionParameters:
1461           - cpsPath: "//state[@cm-handle-state='LOCKED']"
1462     cpsPathCmHandleDataSyncQueryParameters:
1463       value:
1464         cmHandleQueryParameters:
1465         - conditionName: cmHandleWithCpsPath
1466           conditionParameters:
1467           - cpsPath: "//state[@data-sync-enabled='true']"
1468   parameters:
1469     datastoreName:
1470       description: The type of the requested data
1471       in: path
1472       name: datastore-name
1473       required: true
1474       schema:
1475         example: ncmp-datastore:running
1476         type: string
1477     cmHandleInPath:
1478       description: "The identifier for a network function, network element, subnetwork\
1479         \ or any other cm object by managed Network CM Proxy"
1480       in: path
1481       name: cm-handle
1482       required: true
1483       schema:
1484         example: my-cm-handle
1485         type: string
1486     resourceIdentifierInQuery:
1487       allowReserved: true
1488       description: The format of resource identifier depend on the associated DMI
1489         Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it
1490         can really be anything.
1491       examples:
1492         sample 1:
1493           value:
1494             resourceIdentifier: \shops\bookstore
1495         sample 2:
1496           value:
1497             resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
1498         sample 3:
1499           value:
1500             resourceIdentifier: "parent=shops,child=bookstore"
1501       in: query
1502       name: resourceIdentifier
1503       required: true
1504       schema:
1505         type: string
1506     optionsParamInQuery:
1507       allowReserved: true
1508       description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
1509         \ in parenthesis'()'. The format of options parameter depend on the associated\
1510         \ DMI Plugin implementation."
1511       examples:
1512         sample 1:
1513           value:
1514             options: (depth=3)
1515         sample 2:
1516           value:
1517             options: (fields=book)
1518         sample 3:
1519           value:
1520             options: "(depth=2,fields=book/authors)"
1521       in: query
1522       name: options
1523       required: false
1524       schema:
1525         type: string
1526     topicParamInQuery:
1527       allowReserved: true
1528       description: topic parameter in query.
1529       examples:
1530         sample 1:
1531           value:
1532             topic: my-topic-name
1533       in: query
1534       name: topic
1535       required: false
1536       schema:
1537         type: string
1538     includeDescendantsOptionInQuery:
1539       description: Determines if descendants are included in response
1540       in: query
1541       name: include-descendants
1542       required: false
1543       schema:
1544         default: false
1545         type: boolean
1546     authorizationParamInHeader:
1547       description: Authorization parameter for request.
1548       in: header
1549       name: Authorization
1550       required: false
1551       schema:
1552         type: string
1553     contentParamInHeader:
1554       description: "Content parameter for request, if content parameter is null, default\
1555         \ value is application/json."
1556       in: header
1557       name: Content-Type
1558       required: false
1559       schema:
1560         default: application/json
1561         example: application/yang-data+json
1562         type: string
1563     requiredTopicParamInQuery:
1564       allowReserved: true
1565       description: mandatory topic parameter in query.
1566       examples:
1567         sample 1:
1568           value:
1569             topic: my-topic-name
1570       in: query
1571       name: topic
1572       required: true
1573       schema:
1574         type: string
1575     cpsPathInQuery:
1576       description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
1577       examples:
1578         container cps path:
1579           value: //bookstore
1580         list attributes cps path:
1581           value: "//categories[@code=1]"
1582       in: query
1583       name: cps-path
1584       required: false
1585       schema:
1586         default: /
1587         type: string
1588     moduleNameInQuery:
1589       description: Filter for a module name.This is an optional parameter
1590       in: query
1591       name: module-name
1592       required: false
1593       schema:
1594         example: my-module
1595         type: string
1596     revisionInQuery:
1597       description: Filter for a module revision.This is an optional parameter and
1598         ignored when no module name is supplied
1599       in: query
1600       name: revision
1601       required: false
1602       schema:
1603         example: 2024-01-22
1604         type: string
1605     dataSyncEnabled:
1606       description: Is used to enable or disable the data synchronization flag
1607       in: query
1608       name: dataSyncEnabled
1609       required: true
1610       schema:
1611         example: true
1612         type: boolean
1613   responses:
1614     BadRequest:
1615       content:
1616         application/json:
1617           example:
1618             status: 400
1619             message: Bad request error message
1620             details: Bad request error details
1621           schema:
1622             $ref: '#/components/schemas/ErrorMessage'
1623       description: Bad Request
1624     Forbidden:
1625       content:
1626         application/json:
1627           example:
1628             status: 403
1629             message: Forbidden error message
1630             details: Forbidden error details
1631           schema:
1632             $ref: '#/components/schemas/ErrorMessage'
1633       description: Forbidden
1634     InternalServerError:
1635       content:
1636         application/json:
1637           example:
1638             status: 500
1639             message: Internal Server Error
1640             details: Internal Server Error occurred
1641           schema:
1642             $ref: '#/components/schemas/ErrorMessage'
1643       description: Internal Server Error
1644     BadGateway:
1645       content:
1646         application/json:
1647           example:
1648             message: Bad Gateway Error Message NCMP
1649             dmi-response:
1650               http-code: 400
1651               body: Bad Request
1652           schema:
1653             $ref: '#/components/schemas/DmiErrorMessage'
1654       description: Bad Gateway
1655     Ok:
1656       content:
1657         application/json:
1658           schema:
1659             type: object
1660       description: OK
1661     Created:
1662       content: {}
1663       description: Created
1664     NoContent:
1665       content: {}
1666       description: No Content
1667     NotFound:
1668       content:
1669         application/json:
1670           example:
1671             status: 400
1672             message: Not found error message
1673             details: Not found error details
1674           schema:
1675             $ref: '#/components/schemas/ErrorMessage'
1676       description: The specified resource was not found
1677     PayloadTooLarge:
1678       content:
1679         application/json:
1680           example:
1681             status: 413
1682             message: Payload Too Large error message
1683             details: Payload Too Large error details
1684           schema:
1685             $ref: '#/components/schemas/ErrorMessage'
1686       description: The request is larger than the server is willing or able to process
1687   schemas:
1688     ErrorMessage:
1689       properties:
1690         status:
1691           type: string
1692         message:
1693           type: string
1694         details:
1695           type: string
1696       title: Error
1697       type: object
1698     DmiErrorMessage:
1699       properties:
1700         message:
1701           example: Bad Gateway Error Message NCMP
1702           type: string
1703         dmi-response:
1704           $ref: '#/components/schemas/DmiErrorMessage_dmi_response'
1705       title: DMI Error Message
1706       type: object
1707     DataOperationRequest:
1708       example:
1709         operations:
1710         - resourceIdentifier: parent/child
1711           targetIds:
1712           - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1713             ]"
1714           - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1715             ]"
1716           datastore: ncmp-datastore:passthrough-operational
1717           options: (fields=schemas/schema)
1718           operationId: "12"
1719           operation: read
1720         - resourceIdentifier: parent/child
1721           targetIds:
1722           - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1723             ]"
1724           - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1725             ]"
1726           datastore: ncmp-datastore:passthrough-operational
1727           options: (fields=schemas/schema)
1728           operationId: "12"
1729           operation: read
1730       properties:
1731         operations:
1732           description: contains group of data operation requests
1733           items:
1734             $ref: '#/components/schemas/DataOperationDefinition'
1735           type: array
1736       title: execute data operation for given array of operations
1737       type: object
1738     DataOperationDefinition:
1739       example:
1740         resourceIdentifier: parent/child
1741         targetIds:
1742         - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1743           ]"
1744         - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1745           ]"
1746         datastore: ncmp-datastore:passthrough-operational
1747         options: (fields=schemas/schema)
1748         operationId: "12"
1749         operation: read
1750       properties:
1751         operation:
1752           example: read
1753           type: string
1754         operationId:
1755           example: "12"
1756           type: string
1757         datastore:
1758           example: ncmp-datastore:passthrough-operational
1759           type: string
1760         options:
1761           example: (fields=schemas/schema)
1762           type: string
1763         resourceIdentifier:
1764           example: parent/child
1765           type: string
1766         targetIds:
1767           items:
1768             description: "targeted cm handles, maximum of 50 supported. If this limit\
1769               \ is exceeded the request wil be refused."
1770             example: "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
1771               ]"
1772             type: string
1773           type: array
1774       required:
1775       - datastore
1776       - operation
1777       - operationId
1778     RestModuleReference:
1779       example:
1780         moduleName: my-module-name
1781         revision: my-module-revision
1782       properties:
1783         moduleName:
1784           example: my-module-name
1785           type: string
1786         revision:
1787           example: my-module-revision
1788           type: string
1789       title: Module reference details
1790       type: object
1791     RestModuleDefinition:
1792       example:
1793         moduleName: my-module-name
1794         content: |
1795           module stores {
1796             yang-version 1.1;
1797             namespace 'org:onap:ccsdk:sample';
1798             prefix book-store;
1799             revision '2020-09-15' {
1800               description
1801               'Sample Model';
1802             }
1803           }
1804         revision: 2020-09-15
1805       properties:
1806         moduleName:
1807           example: my-module-name
1808           type: string
1809         revision:
1810           example: 2020-09-15
1811           type: string
1812         content:
1813           example: |
1814             module stores {
1815               yang-version 1.1;
1816               namespace 'org:onap:ccsdk:sample';
1817               prefix book-store;
1818               revision '2020-09-15' {
1819                 description
1820                 'Sample Model';
1821               }
1822             }
1823           type: string
1824       title: Module definitions
1825       type: object
1826     CmHandleQueryParameters:
1827       example:
1828         cmHandleQueryParameters:
1829         - conditionParameters:
1830           - key: conditionParameters
1831           - key: conditionParameters
1832           conditionName: conditionName
1833         - conditionParameters:
1834           - key: conditionParameters
1835           - key: conditionParameters
1836           conditionName: conditionName
1837         conditions:
1838         - name: name
1839           conditionParameters:
1840           - moduleName: my-module
1841           - moduleName: my-module
1842         - name: name
1843           conditionParameters:
1844           - moduleName: my-module
1845           - moduleName: my-module
1846       properties:
1847         cmHandleQueryParameters:
1848           items:
1849             $ref: '#/components/schemas/ConditionProperties'
1850           type: array
1851         conditions:
1852           deprecated: true
1853           description: "not necessary, it is just for backward compatibility"
1854           items:
1855             $ref: '#/components/schemas/OldConditionProperties'
1856           type: array
1857       title: Cm Handle query parameters for executing cm handle search
1858       type: object
1859     ConditionProperties:
1860       example:
1861         conditionParameters:
1862         - key: conditionParameters
1863         - key: conditionParameters
1864         conditionName: conditionName
1865       properties:
1866         conditionName:
1867           type: string
1868         conditionParameters:
1869           items:
1870             additionalProperties:
1871               type: string
1872             type: object
1873           type: array
1874     OldConditionProperties:
1875       deprecated: true
1876       example:
1877         name: name
1878         conditionParameters:
1879         - moduleName: my-module
1880         - moduleName: my-module
1881       properties:
1882         name:
1883           type: string
1884         conditionParameters:
1885           items:
1886             $ref: '#/components/schemas/ModuleNameAsJsonObject'
1887           type: array
1888     ModuleNameAsJsonObject:
1889       example:
1890         moduleName: my-module
1891       properties:
1892         moduleName:
1893           example: my-module
1894           type: string
1895     RestOutputCmHandle:
1896       example:
1897         cmHandle: my-cm-handle1
1898         alternateId: my-alternate-id
1899         dataProducerIdentifier: my-data-producer-identifier
1900         publicCmHandleProperties:
1901         - key: Book Type
1902         - key: Book Type
1903         state:
1904           dataSyncEnabled: false
1905           dataSyncState:
1906             running:
1907               lastSyncTime: 2022-12-31T20:30:40.000+0000
1908               syncState: NONE_REQUESTED
1909             operational:
1910               lastSyncTime: 2022-12-31T20:30:40.000+0000
1911               syncState: NONE_REQUESTED
1912           cmHandleState: ADVISED
1913           lockReason:
1914             reason: LOCKED_MISBEHAVING
1915             details: locked due to failure in module sync
1916           lastUpdateTime: 2022-12-31T20:30:40.000+0000
1917         trustLevel: COMPLETE
1918         moduleSetTag: my-module-set-tag
1919       properties:
1920         cmHandle:
1921           example: my-cm-handle1
1922           type: string
1923         publicCmHandleProperties:
1924           items:
1925             additionalProperties:
1926               example: Book Type
1927               type: string
1928             type: object
1929           type: array
1930         state:
1931           $ref: '#/components/schemas/CmHandleCompositeState'
1932         trustLevel:
1933           description: Current trust level of the relevant CM handle ID.
1934           example: COMPLETE
1935           type: string
1936         moduleSetTag:
1937           example: my-module-set-tag
1938           type: string
1939         alternateId:
1940           example: my-alternate-id
1941           type: string
1942         dataProducerIdentifier:
1943           example: my-data-producer-identifier
1944           type: string
1945       title: CM handle Details
1946       type: object
1947     CmHandlePublicProperties:
1948       items:
1949         additionalProperties:
1950           example: Book Type
1951           type: string
1952         type: object
1953       type: array
1954     CmHandleCompositeState:
1955       example:
1956         dataSyncEnabled: false
1957         dataSyncState:
1958           running:
1959             lastSyncTime: 2022-12-31T20:30:40.000+0000
1960             syncState: NONE_REQUESTED
1961           operational:
1962             lastSyncTime: 2022-12-31T20:30:40.000+0000
1963             syncState: NONE_REQUESTED
1964         cmHandleState: ADVISED
1965         lockReason:
1966           reason: LOCKED_MISBEHAVING
1967           details: locked due to failure in module sync
1968         lastUpdateTime: 2022-12-31T20:30:40.000+0000
1969       properties:
1970         cmHandleState:
1971           example: ADVISED
1972           type: string
1973         lockReason:
1974           $ref: '#/components/schemas/lock-reason'
1975         lastUpdateTime:
1976           example: 2022-12-31T20:30:40.000+0000
1977           type: string
1978         dataSyncEnabled:
1979           example: false
1980           type: boolean
1981         dataSyncState:
1982           $ref: '#/components/schemas/dataStores'
1983       type: object
1984     lock-reason:
1985       example:
1986         reason: LOCKED_MISBEHAVING
1987         details: locked due to failure in module sync
1988       properties:
1989         reason:
1990           example: LOCKED_MISBEHAVING
1991           type: string
1992         details:
1993           example: locked due to failure in module sync
1994           type: string
1995       type: object
1996     dataStores:
1997       example:
1998         running:
1999           lastSyncTime: 2022-12-31T20:30:40.000+0000
2000           syncState: NONE_REQUESTED
2001         operational:
2002           lastSyncTime: 2022-12-31T20:30:40.000+0000
2003           syncState: NONE_REQUESTED
2004       properties:
2005         operational:
2006           $ref: '#/components/schemas/sync-state'
2007         running:
2008           $ref: '#/components/schemas/sync-state'
2009       type: object
2010     sync-state:
2011       example:
2012         lastSyncTime: 2022-12-31T20:30:40.000+0000
2013         syncState: NONE_REQUESTED
2014       properties:
2015         syncState:
2016           example: NONE_REQUESTED
2017           type: string
2018         lastSyncTime:
2019           example: 2022-12-31T20:30:40.000+0000
2020           type: string
2021       type: object
2022     CmHandleTrustLevel:
2023       description: Current trust level of the relevant CM handle ID.
2024       example: COMPLETE
2025       type: string
2026     RestOutputCmHandlePublicProperties:
2027       example:
2028         publicCmHandleProperties:
2029         - key: Book Type
2030         - key: Book Type
2031       properties:
2032         publicCmHandleProperties:
2033           items:
2034             additionalProperties:
2035               example: Book Type
2036               type: string
2037             type: object
2038           type: array
2039       type: object
2040     RestOutputCmHandleCompositeState:
2041       example:
2042         state:
2043           dataSyncEnabled: false
2044           dataSyncState:
2045             running:
2046               lastSyncTime: 2022-12-31T20:30:40.000+0000
2047               syncState: NONE_REQUESTED
2048             operational:
2049               lastSyncTime: 2022-12-31T20:30:40.000+0000
2050               syncState: NONE_REQUESTED
2051           cmHandleState: ADVISED
2052           lockReason:
2053             reason: LOCKED_MISBEHAVING
2054             details: locked due to failure in module sync
2055           lastUpdateTime: 2022-12-31T20:30:40.000+0000
2056       properties:
2057         state:
2058           $ref: '#/components/schemas/CmHandleCompositeState'
2059       type: object
2060     DmiErrorMessage_dmi_response:
2061       properties:
2062         http-code:
2063           example: 400
2064           type: integer
2065         body:
2066           example: Bad Request
2067           type: string
2068       type: object
2069   securitySchemes:
2070     basicAuth:
2071       scheme: basic
2072       type: http