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