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