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