blob: 504079157923e6aa7fddcb9b96d6303f347f1d63 [file] [log] [blame]
DylanB95ESTfee86992021-09-23 12:22:55 +01001openapi: 3.0.1
2info:
3 title: NCMP to CPS Proxy API
4 description: NCMP to CPS Proxy API
5 version: "1.0"
6servers:
emacleeafb17362022-09-02 14:40:17 +01007 - url: /ncmp
DylanB95ESTfee86992021-09-23 12:22:55 +01008paths:
emacleeafb17362022-09-02 14:40:17 +01009 /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}:
DylanB95ESTfee86992021-09-23 12:22:55 +010010 get:
11 tags:
emacleeafb17362022-09-02 14:40:17 +010012 - network-cm-proxy
13 summary: Get resource data for cm handle
14 description: Get resource data for given cm handle
15 operationId: getResourceDataForCmHandle
DylanB95ESTfee86992021-09-23 12:22:55 +010016 parameters:
emacleeafb17362022-09-02 14:40:17 +010017 - name: ncmp-datastore-name
18 in: path
19 description: The type of the requested data
20 required: true
21 schema:
22 type: string
23 example: ncmp-datastore:operational
24 - name: cm-handle
25 in: path
26 description: "The identifier for a network function, network element, subnetwork\
DylanB95ESTfee86992021-09-23 12:22:55 +010027 \ or any other cm object by managed Network CM Proxy"
emacleeafb17362022-09-02 14:40:17 +010028 required: true
29 schema:
30 type: string
31 example: my-cm-handle
32 - name: resourceIdentifier
33 in: query
34 description: The format of resource identifier depend on the associated DMI
35 Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
36 it can really be anything.
37 required: true
38 allowReserved: true
39 schema:
40 type: string
41 examples:
42 sample 1:
43 value:
44 resourceIdentifier: \shops\bookstore
45 sample 2:
46 value:
47 resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
48 sample 3:
49 value:
50 resourceIdentifier: "parent=shops,child=bookstore"
51 - name: options
52 in: query
53 description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
DylanB95ESTe5573382022-01-27 17:12:52 +000054 \ in parenthesis'()'. The format of options parameter depend on the associated\
55 \ DMI Plugin implementation."
emacleeafb17362022-09-02 14:40:17 +010056 required: false
57 allowReserved: true
58 schema:
59 type: string
60 examples:
61 sample 1:
62 value:
63 options: (depth=3)
64 sample 2:
65 value:
66 options: (fields=book)
67 sample 3:
68 value:
69 options: "(depth=2,fields=book/authors)"
70 - name: topic
71 in: query
72 description: topic parameter in query.
73 required: false
74 allowReserved: true
75 schema:
76 type: string
77 examples:
78 sample 1:
79 value:
80 topic: my-topic-name
81 - name: include-descendants
82 in: query
83 description: Determines if descendants are included in response
84 required: false
85 schema:
86 type: boolean
87 default: false
DylanB95ESTfee86992021-09-23 12:22:55 +010088 responses:
89 "200":
90 description: OK
91 content:
92 application/json:
93 schema:
94 type: object
DylanB95ESTe5573382022-01-27 17:12:52 +000095 examples:
96 dataSampleResponse:
97 $ref: '#/components/examples/dataSampleResponse'
DylanB95ESTfee86992021-09-23 12:22:55 +010098 "400":
99 description: Bad Request
100 content:
101 application/json:
102 schema:
103 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000104 example:
105 status: 400 BAD_REQUEST
106 message: Bad request error message
107 details: Bad request error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100108 "401":
109 description: Unauthorized
110 content:
111 application/json:
112 schema:
113 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000114 example:
115 status: 401
116 message: Unauthorized error message
117 details: Unauthorized error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100118 "403":
119 description: Forbidden
120 content:
121 application/json:
122 schema:
123 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000124 example:
125 status: 403
126 message: Forbidden error message
127 details: Forbidden error details
128 "500":
129 description: Internal Server Error
DylanB95ESTfee86992021-09-23 12:22:55 +0100130 content:
131 application/json:
132 schema:
133 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000134 example:
135 status: 500
136 message: Internal Server Error
137 details: Internal Server Error occurred
mpriyank93afc1e2022-03-28 15:47:47 +0530138 "502":
139 description: Bad Gateway
140 content:
141 application/json:
142 schema:
143 $ref: '#/components/schemas/DmiErrorMessage'
144 example:
emacleeafb17362022-09-02 14:40:17 +0100145 message: Bad Gateway Error Message NCMP
mpriyank93afc1e2022-03-28 15:47:47 +0530146 dmi-response:
147 http-code: 400
148 body: Bad Request
puthuparambil.aditya8b584332021-10-12 16:49:03 +0100149 /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running:
DylanB95ESTe5573382022-01-27 17:12:52 +0000150 put:
151 tags:
emacleeafb17362022-09-02 14:40:17 +0100152 - network-cm-proxy
DylanB95ESTe5573382022-01-27 17:12:52 +0000153 summary: Update resource data from pass-through running for a cm handle
154 description: Update resource data from pass-through running for the given cm
155 handle
156 operationId: updateResourceDataRunningForCmHandle
157 parameters:
emacleeafb17362022-09-02 14:40:17 +0100158 - name: cm-handle
159 in: path
160 description: "The identifier for a network function, network element, subnetwork\
DylanB95ESTe5573382022-01-27 17:12:52 +0000161 \ or any other cm object by managed Network CM Proxy"
emacleeafb17362022-09-02 14:40:17 +0100162 required: true
163 schema:
164 type: string
165 example: my-cm-handle
166 - name: resourceIdentifier
167 in: query
168 description: The format of resource identifier depend on the associated DMI
169 Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
170 it can really be anything.
171 required: true
172 allowReserved: true
173 schema:
174 type: string
175 examples:
176 sample 1:
177 value:
178 resourceIdentifier: \shops\bookstore
179 sample 2:
180 value:
181 resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
182 sample 3:
183 value:
184 resourceIdentifier: "parent=shops,child=bookstore"
185 - name: Content-Type
186 in: header
187 description: "Content parameter for request, if content parameter is null,\
DylanB95ESTe5573382022-01-27 17:12:52 +0000188 \ default value is application/json."
emacleeafb17362022-09-02 14:40:17 +0100189 required: false
190 schema:
191 type: string
192 example: application/yang-data+json
193 default: application/json
DylanB95ESTe5573382022-01-27 17:12:52 +0000194 requestBody:
195 content:
196 application/json:
197 schema:
198 type: object
199 examples:
200 dataSampleRequest:
201 $ref: '#/components/examples/dataSampleRequest'
202 application/yang-data+json:
203 schema:
204 type: object
205 examples:
206 dataSampleRequest:
207 $ref: '#/components/examples/dataSampleRequest'
208 required: true
DylanB95ESTfee86992021-09-23 12:22:55 +0100209 responses:
210 "200":
211 description: OK
212 content:
213 application/json:
214 schema:
215 type: object
216 "400":
217 description: Bad Request
218 content:
219 application/json:
220 schema:
221 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000222 example:
223 status: 400 BAD_REQUEST
224 message: Bad request error message
225 details: Bad request error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100226 "401":
227 description: Unauthorized
228 content:
229 application/json:
230 schema:
231 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000232 example:
233 status: 401
234 message: Unauthorized error message
235 details: Unauthorized error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100236 "403":
237 description: Forbidden
238 content:
239 application/json:
240 schema:
241 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000242 example:
243 status: 403
244 message: Forbidden error message
245 details: Forbidden error details
246 "500":
247 description: Internal Server Error
DylanB95ESTfee86992021-09-23 12:22:55 +0100248 content:
249 application/json:
250 schema:
251 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000252 example:
253 status: 500
254 message: Internal Server Error
255 details: Internal Server Error occurred
mpriyank93afc1e2022-03-28 15:47:47 +0530256 "502":
257 description: Bad Gateway
258 content:
259 application/json:
260 schema:
261 $ref: '#/components/schemas/DmiErrorMessage'
262 example:
emacleeafb17362022-09-02 14:40:17 +0100263 message: Bad Gateway Error Message NCMP
mpriyank93afc1e2022-03-28 15:47:47 +0530264 dmi-response:
265 http-code: 400
266 body: Bad Request
DylanB95ESTfee86992021-09-23 12:22:55 +0100267 post:
268 tags:
emacleeafb17362022-09-02 14:40:17 +0100269 - network-cm-proxy
DylanB95ESTfee86992021-09-23 12:22:55 +0100270 summary: create resource data from pass-through running for cm handle
271 description: create resource data from pass-through running for given cm handle
272 operationId: createResourceDataRunningForCmHandle
273 parameters:
emacleeafb17362022-09-02 14:40:17 +0100274 - name: cm-handle
275 in: path
276 description: "The identifier for a network function, network element, subnetwork\
DylanB95ESTfee86992021-09-23 12:22:55 +0100277 \ or any other cm object by managed Network CM Proxy"
emacleeafb17362022-09-02 14:40:17 +0100278 required: true
279 schema:
280 type: string
281 example: my-cm-handle
282 - name: resourceIdentifier
283 in: query
284 description: The format of resource identifier depend on the associated DMI
285 Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
286 it can really be anything.
287 required: true
288 allowReserved: true
289 schema:
290 type: string
291 examples:
292 sample 1:
293 value:
294 resourceIdentifier: \shops\bookstore
295 sample 2:
296 value:
297 resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
298 sample 3:
299 value:
300 resourceIdentifier: "parent=shops,child=bookstore"
301 - name: Content-Type
302 in: header
303 description: "Content parameter for request, if content parameter is null,\
DylanB95ESTfee86992021-09-23 12:22:55 +0100304 \ default value is application/json."
emacleeafb17362022-09-02 14:40:17 +0100305 required: false
306 schema:
307 type: string
308 example: application/yang-data+json
309 default: application/json
DylanB95ESTfee86992021-09-23 12:22:55 +0100310 requestBody:
311 content:
312 application/json:
313 schema:
DylanB95ESTe5573382022-01-27 17:12:52 +0000314 type: object
315 examples:
316 dataSampleRequest:
317 $ref: '#/components/examples/dataSampleRequest'
DylanB95ESTfee86992021-09-23 12:22:55 +0100318 application/yang-data+json:
319 schema:
DylanB95ESTe5573382022-01-27 17:12:52 +0000320 type: object
321 examples:
322 dataSampleRequest:
323 $ref: '#/components/examples/dataSampleRequest'
DylanB95ESTfee86992021-09-23 12:22:55 +0100324 required: true
325 responses:
326 "201":
327 description: Created
328 content: {}
329 "400":
330 description: Bad Request
331 content:
332 application/json:
333 schema:
334 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000335 example:
336 status: 400 BAD_REQUEST
337 message: Bad request error message
338 details: Bad request error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100339 "401":
340 description: Unauthorized
341 content:
342 application/json:
343 schema:
344 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000345 example:
346 status: 401
347 message: Unauthorized error message
348 details: Unauthorized error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100349 "403":
350 description: Forbidden
351 content:
352 application/json:
353 schema:
354 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000355 example:
356 status: 403
357 message: Forbidden error message
358 details: Forbidden error details
359 "500":
360 description: Internal Server Error
361 content:
362 application/json:
363 schema:
364 $ref: '#/components/schemas/ErrorMessage'
365 example:
366 status: 500
367 message: Internal Server Error
368 details: Internal Server Error occurred
mpriyank93afc1e2022-03-28 15:47:47 +0530369 "502":
370 description: Bad Gateway
371 content:
372 application/json:
373 schema:
374 $ref: '#/components/schemas/DmiErrorMessage'
375 example:
emacleeafb17362022-09-02 14:40:17 +0100376 message: Bad Gateway Error Message NCMP
mpriyank93afc1e2022-03-28 15:47:47 +0530377 dmi-response:
378 http-code: 400
379 body: Bad Request
DylanB95ESTe5573382022-01-27 17:12:52 +0000380 delete:
381 tags:
emacleeafb17362022-09-02 14:40:17 +0100382 - network-cm-proxy
DylanB95ESTe5573382022-01-27 17:12:52 +0000383 summary: Delete resource data
384 description: Delete resource data from pass-through running for a given cm handle
385 operationId: deleteResourceDataRunningForCmHandle
386 parameters:
emacleeafb17362022-09-02 14:40:17 +0100387 - name: cm-handle
388 in: path
389 description: "The identifier for a network function, network element, subnetwork\
DylanB95ESTe5573382022-01-27 17:12:52 +0000390 \ or any other cm object by managed Network CM Proxy"
emacleeafb17362022-09-02 14:40:17 +0100391 required: true
392 schema:
393 type: string
394 example: my-cm-handle
395 - name: resourceIdentifier
396 in: query
397 description: The format of resource identifier depend on the associated DMI
398 Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
399 it can really be anything.
400 required: true
401 allowReserved: true
402 schema:
403 type: string
404 examples:
405 sample 1:
406 value:
407 resourceIdentifier: \shops\bookstore
408 sample 2:
409 value:
410 resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
411 sample 3:
412 value:
413 resourceIdentifier: "parent=shops,child=bookstore"
414 - name: Content-Type
415 in: header
416 description: "Content parameter for request, if content parameter is null,\
DylanB95ESTe5573382022-01-27 17:12:52 +0000417 \ default value is application/json."
emacleeafb17362022-09-02 14:40:17 +0100418 required: false
419 schema:
420 type: string
421 example: application/yang-data+json
422 default: application/json
DylanB95ESTe5573382022-01-27 17:12:52 +0000423 responses:
424 "204":
425 description: No Content
426 content: {}
427 "400":
428 description: Bad Request
429 content:
430 application/json:
431 schema:
432 $ref: '#/components/schemas/ErrorMessage'
433 example:
434 status: 400 BAD_REQUEST
435 message: Bad request error message
436 details: Bad request error details
437 "401":
438 description: Unauthorized
439 content:
440 application/json:
441 schema:
442 $ref: '#/components/schemas/ErrorMessage'
443 example:
444 status: 401
445 message: Unauthorized error message
446 details: Unauthorized error details
447 "403":
448 description: Forbidden
449 content:
450 application/json:
451 schema:
452 $ref: '#/components/schemas/ErrorMessage'
453 example:
454 status: 403
455 message: Forbidden error message
456 details: Forbidden error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100457 "404":
458 description: The specified resource was not found
459 content:
460 application/json:
461 schema:
462 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000463 example:
464 status: 400
465 message: Not found error message
466 details: Not found error details
467 "500":
468 description: Internal Server Error
469 content:
470 application/json:
471 schema:
472 $ref: '#/components/schemas/ErrorMessage'
473 example:
474 status: 500
475 message: Internal Server Error
476 details: Internal Server Error occurred
mpriyank93afc1e2022-03-28 15:47:47 +0530477 "502":
478 description: Bad Gateway
479 content:
480 application/json:
481 schema:
482 $ref: '#/components/schemas/DmiErrorMessage'
483 example:
emacleeafb17362022-09-02 14:40:17 +0100484 message: Bad Gateway Error Message NCMP
mpriyank93afc1e2022-03-28 15:47:47 +0530485 dmi-response:
486 http-code: 400
487 body: Bad Request
DylanB95ESTe5573382022-01-27 17:12:52 +0000488 patch:
DylanB95ESTfee86992021-09-23 12:22:55 +0100489 tags:
emacleeafb17362022-09-02 14:40:17 +0100490 - network-cm-proxy
DylanB95ESTe5573382022-01-27 17:12:52 +0000491 summary: Patch resource data from pass-through running
492 description: Patch resource data from pass-through running for the given cm
DylanB95ESTfee86992021-09-23 12:22:55 +0100493 handle
DylanB95ESTe5573382022-01-27 17:12:52 +0000494 operationId: patchResourceDataRunningForCmHandle
DylanB95ESTfee86992021-09-23 12:22:55 +0100495 parameters:
emacleeafb17362022-09-02 14:40:17 +0100496 - name: cm-handle
497 in: path
498 description: "The identifier for a network function, network element, subnetwork\
DylanB95ESTfee86992021-09-23 12:22:55 +0100499 \ or any other cm object by managed Network CM Proxy"
emacleeafb17362022-09-02 14:40:17 +0100500 required: true
501 schema:
502 type: string
503 example: my-cm-handle
504 - name: resourceIdentifier
505 in: query
506 description: The format of resource identifier depend on the associated DMI
507 Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
508 it can really be anything.
509 required: true
510 allowReserved: true
511 schema:
512 type: string
513 examples:
514 sample 1:
515 value:
516 resourceIdentifier: \shops\bookstore
517 sample 2:
518 value:
519 resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
520 sample 3:
521 value:
522 resourceIdentifier: "parent=shops,child=bookstore"
523 - name: Content-Type
524 in: header
525 description: "Content parameter for request, if content parameter is null,\
DylanB95ESTe5573382022-01-27 17:12:52 +0000526 \ default value is application/json."
emacleeafb17362022-09-02 14:40:17 +0100527 required: false
528 schema:
529 type: string
530 example: application/yang-data+json
531 default: application/json
DylanB95ESTe5573382022-01-27 17:12:52 +0000532 requestBody:
533 content:
534 '*/*':
535 schema:
536 type: object
537 examples:
538 dataSampleRequest:
539 $ref: '#/components/examples/dataSamplePatchRequest'
540 required: true
DylanB95ESTfee86992021-09-23 12:22:55 +0100541 responses:
542 "200":
543 description: OK
544 content:
545 application/json:
546 schema:
547 type: object
548 "400":
549 description: Bad Request
550 content:
551 application/json:
552 schema:
553 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000554 example:
555 status: 400 BAD_REQUEST
556 message: Bad request error message
557 details: Bad request error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100558 "401":
559 description: Unauthorized
560 content:
561 application/json:
562 schema:
563 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000564 example:
565 status: 401
566 message: Unauthorized error message
567 details: Unauthorized error details
DylanB95ESTfee86992021-09-23 12:22:55 +0100568 "403":
569 description: Forbidden
570 content:
571 application/json:
572 schema:
573 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +0000574 example:
575 status: 403
576 message: Forbidden error message
577 details: Forbidden error details
578 "500":
579 description: Internal Server Error
580 content:
581 application/json:
582 schema:
583 $ref: '#/components/schemas/ErrorMessage'
584 example:
585 status: 500
586 message: Internal Server Error
587 details: Internal Server Error occurred
mpriyank93afc1e2022-03-28 15:47:47 +0530588 "502":
589 description: Bad Gateway
590 content:
591 application/json:
592 schema:
593 $ref: '#/components/schemas/DmiErrorMessage'
594 example:
emacleeafb17362022-09-02 14:40:17 +0100595 message: Bad Gateway Error Message NCMP
mpriyank93afc1e2022-03-28 15:47:47 +0530596 dmi-response:
597 http-code: 400
598 body: Bad Request
DylanB95ESTe5573382022-01-27 17:12:52 +0000599 /v1/ch/{cm-handle}/modules:
600 get:
601 tags:
emacleeafb17362022-09-02 14:40:17 +0100602 - network-cm-proxy
DylanB95ESTe5573382022-01-27 17:12:52 +0000603 summary: Fetch all module references (name and revision) for a given cm handle
604 description: fetch all module references (name and revision) for a given cm
605 handle
606 operationId: getModuleReferencesByCmHandle
607 parameters:
emacleeafb17362022-09-02 14:40:17 +0100608 - name: cm-handle
609 in: path
610 description: "The identifier for a network function, network element, subnetwork\
DylanB95ESTe5573382022-01-27 17:12:52 +0000611 \ or any other cm object by managed Network CM Proxy"
emacleeafb17362022-09-02 14:40:17 +0100612 required: true
613 schema:
614 type: string
615 example: my-cm-handle
DylanB95ESTe5573382022-01-27 17:12:52 +0000616 responses:
617 "200":
618 description: OK
619 content:
620 application/json:
621 schema:
622 type: array
623 items:
Bruno Sakotoa1129b62022-03-15 08:09:07 -0400624 $ref: '#/components/schemas/RestModuleReference'
DylanB95ESTe5573382022-01-27 17:12:52 +0000625 "400":
626 description: Bad Request
627 content:
628 application/json:
629 schema:
630 $ref: '#/components/schemas/ErrorMessage'
631 example:
632 status: 400 BAD_REQUEST
633 message: Bad request error message
634 details: Bad request error details
635 "401":
636 description: Unauthorized
637 content:
638 application/json:
639 schema:
640 $ref: '#/components/schemas/ErrorMessage'
641 example:
642 status: 401
643 message: Unauthorized error message
644 details: Unauthorized error details
645 "403":
646 description: Forbidden
647 content:
648 application/json:
649 schema:
650 $ref: '#/components/schemas/ErrorMessage'
651 example:
652 status: 403
653 message: Forbidden error message
654 details: Forbidden error details
655 "500":
656 description: Internal Server Error
657 content:
658 application/json:
659 schema:
660 $ref: '#/components/schemas/ErrorMessage'
661 example:
662 status: 500
663 message: Internal Server Error
664 details: Internal Server Error occurred
emacleeafb17362022-09-02 14:40:17 +0100665 /v1/ch/{cm-handle}/modules/definitions:
666 get:
667 tags:
668 - network-cm-proxy
669 summary: "Fetch all module definitions (name, revision, yang resource) for a\
670 \ given cm handle"
671 description: "Fetch all module definitions (name, revision, yang resource) for\
672 \ a given cm handle"
673 operationId: getModuleDefinitionsByCmHandleId
674 parameters:
675 - name: cm-handle
676 in: path
677 description: "The identifier for a network function, network element, subnetwork\
678 \ or any other cm object by managed Network CM Proxy"
679 required: true
680 schema:
681 type: string
682 example: my-cm-handle
683 responses:
684 "200":
685 description: OK
686 content:
687 application/json:
688 schema:
689 type: array
690 items:
691 $ref: '#/components/schemas/RestModuleDefinition'
692 "401":
693 description: Unauthorized
694 content:
695 application/json:
696 schema:
697 $ref: '#/components/schemas/ErrorMessage'
698 example:
699 status: 401
700 message: Unauthorized error message
701 details: Unauthorized error details
702 "403":
703 description: Forbidden
704 content:
705 application/json:
706 schema:
707 $ref: '#/components/schemas/ErrorMessage'
708 example:
709 status: 403
710 message: Forbidden error message
711 details: Forbidden error details
712 "500":
713 description: Internal Server Error
714 content:
715 application/json:
716 schema:
717 $ref: '#/components/schemas/ErrorMessage'
718 example:
719 status: 500
720 message: Internal Server Error
721 details: Internal Server Error occurred
DylanB95ESTe5573382022-01-27 17:12:52 +0000722 /v1/ch/searches:
723 post:
724 tags:
emacleeafb17362022-09-02 14:40:17 +0100725 - network-cm-proxy
DylanB95ESTe5573382022-01-27 17:12:52 +0000726 summary: Execute cm handle search using the available conditions
emacleeafb17362022-09-02 14:40:17 +0100727 description: Execute cm handle query search and return a list of cm handle details.
728 Any number of conditions can be applied. To be included in the result a cm-handle
729 must fulfill ALL the conditions. An empty collection will be returned in the
730 case that the cm handle does not match a condition. For more on cm handle
731 query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
732 handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
733 to query on any data related to the cm handle. For more on CPS Path please
734 refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
735 Path Read the Docs</a>. The cm handle ancestor is automatically returned for
736 this query.
737 operationId: searchCmHandles
DylanB95ESTe5573382022-01-27 17:12:52 +0000738 requestBody:
739 content:
740 application/json:
741 schema:
emacleeafb17362022-09-02 14:40:17 +0100742 $ref: '#/components/schemas/CmHandleQueryParameters'
743 examples:
744 Cm handle properties query:
745 $ref: '#/components/examples/pubPropCmHandleQueryParameters'
746 Cm handle modules query:
747 $ref: '#/components/examples/modulesCmHandleQueryParameters'
748 All cm handle query parameters:
749 $ref: '#/components/examples/allCmHandleQueryParameters'
750 Cm handle with CPS path state query:
751 $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
752 Cm handle with data sync flag query:
753 $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
DylanB95ESTe5573382022-01-27 17:12:52 +0000754 required: true
755 responses:
756 "200":
757 description: OK
758 content:
759 application/json:
760 schema:
emacleeafb17362022-09-02 14:40:17 +0100761 type: array
762 items:
763 $ref: '#/components/schemas/RestOutputCmHandle'
DylanB95ESTe5573382022-01-27 17:12:52 +0000764 "400":
765 description: Bad Request
766 content:
767 application/json:
768 schema:
769 $ref: '#/components/schemas/ErrorMessage'
770 example:
771 status: 400 BAD_REQUEST
772 message: Bad request error message
773 details: Bad request error details
774 "401":
775 description: Unauthorized
776 content:
777 application/json:
778 schema:
779 $ref: '#/components/schemas/ErrorMessage'
780 example:
781 status: 401
782 message: Unauthorized error message
783 details: Unauthorized error details
784 "403":
785 description: Forbidden
786 content:
787 application/json:
788 schema:
789 $ref: '#/components/schemas/ErrorMessage'
790 example:
791 status: 403
792 message: Forbidden error message
793 details: Forbidden error details
794 "500":
795 description: Internal Server Error
796 content:
797 application/json:
798 schema:
799 $ref: '#/components/schemas/ErrorMessage'
800 example:
801 status: 500
802 message: Internal Server Error
803 details: Internal Server Error occurred
804 /v1/ch/{cm-handle}:
805 get:
806 tags:
emacleeafb17362022-09-02 14:40:17 +0100807 - network-cm-proxy
DylanB95ESTe5573382022-01-27 17:12:52 +0000808 summary: Retrieve CM handle details
809 description: Retrieve CM handle details and properties by cm handle id
810 operationId: retrieveCmHandleDetailsById
811 parameters:
emacleeafb17362022-09-02 14:40:17 +0100812 - name: cm-handle
813 in: path
814 description: "The identifier for a network function, network element, subnetwork\
DylanB95ESTe5573382022-01-27 17:12:52 +0000815 \ or any other cm object by managed Network CM Proxy"
emacleeafb17362022-09-02 14:40:17 +0100816 required: true
817 schema:
818 type: string
819 example: my-cm-handle
DylanB95ESTe5573382022-01-27 17:12:52 +0000820 responses:
821 "200":
822 description: OK
823 content:
824 application/json:
825 schema:
826 $ref: '#/components/schemas/RestOutputCmHandle'
827 "400":
828 description: Bad Request
829 content:
830 application/json:
831 schema:
832 $ref: '#/components/schemas/ErrorMessage'
833 example:
834 status: 400 BAD_REQUEST
835 message: Bad request error message
836 details: Bad request error details
837 "401":
838 description: Unauthorized
839 content:
840 application/json:
841 schema:
842 $ref: '#/components/schemas/ErrorMessage'
843 example:
844 status: 401
845 message: Unauthorized error message
846 details: Unauthorized error details
emacleeafb17362022-09-02 14:40:17 +0100847 "404":
848 description: The specified resource was not found
849 content:
850 application/json:
851 schema:
852 $ref: '#/components/schemas/ErrorMessage'
853 example:
854 status: 400
855 message: Not found error message
856 details: Not found error details
857 "500":
858 description: Internal Server Error
859 content:
860 application/json:
861 schema:
862 $ref: '#/components/schemas/ErrorMessage'
863 example:
864 status: 500
865 message: Internal Server Error
866 details: Internal Server Error occurred
867 /v1/ch/{cm-handle}/properties:
868 get:
869 tags:
870 - network-cm-proxy
871 summary: Get CM handle properties
872 description: Get CM handle properties by cm handle id
873 operationId: getCmHandlePublicPropertiesByCmHandleId
874 parameters:
875 - name: cm-handle
876 in: path
877 description: "The identifier for a network function, network element, subnetwork\
878 \ or any other cm object by managed Network CM Proxy"
879 required: true
880 schema:
881 type: string
882 example: my-cm-handle
883 responses:
884 "200":
885 description: OK
886 content:
887 application/json:
888 schema:
889 $ref: '#/components/schemas/RestOutputCmHandlePublicProperties'
890 "400":
891 description: Bad Request
892 content:
893 application/json:
894 schema:
895 $ref: '#/components/schemas/ErrorMessage'
896 example:
897 status: 400 BAD_REQUEST
898 message: Bad request error message
899 details: Bad request error details
900 "401":
901 description: Unauthorized
902 content:
903 application/json:
904 schema:
905 $ref: '#/components/schemas/ErrorMessage'
906 example:
907 status: 401
908 message: Unauthorized error message
909 details: Unauthorized error details
910 "404":
911 description: The specified resource was not found
912 content:
913 application/json:
914 schema:
915 $ref: '#/components/schemas/ErrorMessage'
916 example:
917 status: 400
918 message: Not found error message
919 details: Not found error details
920 "500":
921 description: Internal Server Error
922 content:
923 application/json:
924 schema:
925 $ref: '#/components/schemas/ErrorMessage'
926 example:
927 status: 500
928 message: Internal Server Error
929 details: Internal Server Error occurred
930 /v1/ch/id-searches:
931 post:
932 tags:
933 - network-cm-proxy
934 summary: Execute cm handle query upon a given set of query parameters
935 description: Execute cm handle query search and return a list of cm handle ids.
936 Any number of conditions can be applied. To be included in the result a cm-handle
937 must fulfill ALL the conditions. An empty collection will be returned in the
938 case that the cm handle does not match a condition. For more on cm handle
939 query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
940 handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
941 to query on any data related to the cm handle. For more on CPS Path please
942 refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
943 Path Read the Docs</a>. The cm handle ancestor is automatically returned for
944 this query.
945 operationId: searchCmHandleIds
946 requestBody:
947 content:
948 application/json:
949 schema:
950 $ref: '#/components/schemas/CmHandleQueryParameters'
951 examples:
952 Cm handle properties query:
953 $ref: '#/components/examples/pubPropCmHandleQueryParameters'
954 Cm handle modules query:
955 $ref: '#/components/examples/modulesCmHandleQueryParameters'
956 All cm handle query parameters:
957 $ref: '#/components/examples/allCmHandleQueryParameters'
958 Cm handle with CPS path state query:
959 $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
960 Cm handle with data sync flag query:
961 $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
962 required: true
963 responses:
964 "200":
965 description: OK
966 content:
967 application/json:
968 schema:
969 type: array
970 items:
971 type: string
972 "400":
973 description: Bad Request
974 content:
975 application/json:
976 schema:
977 $ref: '#/components/schemas/ErrorMessage'
978 example:
979 status: 400 BAD_REQUEST
980 message: Bad request error message
981 details: Bad request error details
982 "401":
983 description: Unauthorized
984 content:
985 application/json:
986 schema:
987 $ref: '#/components/schemas/ErrorMessage'
988 example:
989 status: 401
990 message: Unauthorized error message
991 details: Unauthorized error details
DylanB95ESTe5573382022-01-27 17:12:52 +0000992 "403":
993 description: Forbidden
994 content:
995 application/json:
996 schema:
997 $ref: '#/components/schemas/ErrorMessage'
998 example:
999 status: 403
1000 message: Forbidden error message
1001 details: Forbidden error details
DylanB95ESTfee86992021-09-23 12:22:55 +01001002 "404":
1003 description: The specified resource was not found
1004 content:
1005 application/json:
1006 schema:
1007 $ref: '#/components/schemas/ErrorMessage'
DylanB95ESTe5573382022-01-27 17:12:52 +00001008 example:
1009 status: 400
1010 message: Not found error message
1011 details: Not found error details
1012 "500":
1013 description: Internal Server Error
1014 content:
1015 application/json:
1016 schema:
1017 $ref: '#/components/schemas/ErrorMessage'
1018 example:
1019 status: 500
1020 message: Internal Server Error
1021 details: Internal Server Error occurred
emacleeafb17362022-09-02 14:40:17 +01001022 /v1/ch/{cm-handle}/state:
1023 get:
1024 tags:
1025 - network-cm-proxy
1026 summary: Get CM handle state
1027 description: Get CM handle state by cm handle id
1028 operationId: getCmHandleStateByCmHandleId
1029 parameters:
1030 - name: cm-handle
1031 in: path
1032 description: "The identifier for a network function, network element, subnetwork\
1033 \ or any other cm object by managed Network CM Proxy"
1034 required: true
1035 schema:
1036 type: string
1037 example: my-cm-handle
1038 responses:
1039 "200":
1040 description: OK
1041 content:
1042 application/json:
1043 schema:
1044 $ref: '#/components/schemas/RestOutputCmHandleCompositeState'
1045 "400":
1046 description: Bad Request
1047 content:
1048 application/json:
1049 schema:
1050 $ref: '#/components/schemas/ErrorMessage'
1051 example:
1052 status: 400 BAD_REQUEST
1053 message: Bad request error message
1054 details: Bad request error details
1055 "401":
1056 description: Unauthorized
1057 content:
1058 application/json:
1059 schema:
1060 $ref: '#/components/schemas/ErrorMessage'
1061 example:
1062 status: 401
1063 message: Unauthorized error message
1064 details: Unauthorized error details
1065 "404":
1066 description: The specified resource was not found
1067 content:
1068 application/json:
1069 schema:
1070 $ref: '#/components/schemas/ErrorMessage'
1071 example:
1072 status: 400
1073 message: Not found error message
1074 details: Not found error details
1075 "500":
1076 description: Internal Server Error
1077 content:
1078 application/json:
1079 schema:
1080 $ref: '#/components/schemas/ErrorMessage'
1081 example:
1082 status: 500
1083 message: Internal Server Error
1084 details: Internal Server Error occurred
1085 /v1/ch/{cm-handle}/data-sync:
1086 put:
1087 tags:
1088 - network-cm-proxy
1089 summary: Set the Data Sync Enabled Flag
1090 description: Set the data sync enabled flag to true or false for a specified
1091 Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and
1092 NONE_REQUESTED respectfully.
1093 operationId: setDataSyncEnabledFlagForCmHandle
1094 parameters:
1095 - name: cm-handle
1096 in: path
1097 description: "The identifier for a network function, network element, subnetwork\
1098 \ or any other cm object by managed Network CM Proxy"
1099 required: true
1100 schema:
1101 type: string
1102 example: my-cm-handle
1103 - name: dataSyncEnabled
1104 in: query
1105 description: Is used to enable or disable the data synchronization flag
1106 required: true
1107 schema:
1108 type: boolean
1109 example: true
1110 responses:
1111 "200":
1112 description: OK
1113 content:
1114 application/json:
1115 schema:
1116 type: object
1117 "400":
1118 description: Bad Request
1119 content:
1120 application/json:
1121 schema:
1122 $ref: '#/components/schemas/ErrorMessage'
1123 example:
1124 status: 400 BAD_REQUEST
1125 message: Bad request error message
1126 details: Bad request error details
1127 "401":
1128 description: Unauthorized
1129 content:
1130 application/json:
1131 schema:
1132 $ref: '#/components/schemas/ErrorMessage'
1133 example:
1134 status: 401
1135 message: Unauthorized error message
1136 details: Unauthorized error details
1137 "403":
1138 description: Forbidden
1139 content:
1140 application/json:
1141 schema:
1142 $ref: '#/components/schemas/ErrorMessage'
1143 example:
1144 status: 403
1145 message: Forbidden error message
1146 details: Forbidden error details
1147 "500":
1148 description: Internal Server Error
1149 content:
1150 application/json:
1151 schema:
1152 $ref: '#/components/schemas/ErrorMessage'
1153 example:
1154 status: 500
1155 message: Internal Server Error
1156 details: Internal Server Error occurred
1157 "502":
1158 description: Bad Gateway
1159 content:
1160 application/json:
1161 schema:
1162 $ref: '#/components/schemas/DmiErrorMessage'
1163 example:
1164 message: Bad Gateway Error Message NCMP
1165 dmi-response:
1166 http-code: 400
1167 body: Bad Request
DylanB95ESTfee86992021-09-23 12:22:55 +01001168components:
1169 schemas:
1170 ErrorMessage:
1171 title: Error
1172 type: object
1173 properties:
1174 status:
1175 type: string
1176 message:
1177 type: string
1178 details:
1179 type: string
mpriyank93afc1e2022-03-28 15:47:47 +05301180 DmiErrorMessage:
1181 title: DMI Error Message
1182 type: object
1183 properties:
1184 message:
1185 type: string
emacleeafb17362022-09-02 14:40:17 +01001186 example: Bad Gateway Error Message NCMP
mpriyank93afc1e2022-03-28 15:47:47 +05301187 dmi-response:
emacleeafb17362022-09-02 14:40:17 +01001188 $ref: '#/components/schemas/DmiErrorMessage_dmiresponse'
Bruno Sakotoa1129b62022-03-15 08:09:07 -04001189 RestModuleReference:
DylanB95ESTe5573382022-01-27 17:12:52 +00001190 title: Module reference details
1191 type: object
1192 properties:
1193 moduleName:
1194 type: string
1195 example: my-module-name
1196 revision:
1197 type: string
1198 example: my-module-revision
emacleeafb17362022-09-02 14:40:17 +01001199 RestModuleDefinition:
1200 title: Module definitions
DylanB95ESTe5573382022-01-27 17:12:52 +00001201 type: object
1202 properties:
emacleeafb17362022-09-02 14:40:17 +01001203 moduleName:
1204 type: string
1205 example: my-module-name
1206 revision:
1207 type: string
1208 example: 2020-09-15T00:00:00.000+00:00
1209 content:
1210 type: string
1211 example: "module stores {\n yang-version 1.1;\n namespace \"org:onap:ccsdk:sample\"\
1212 ;\n prefix book-store;\n revision \"2020-09-15\" {\n description\n\
1213 \ \"Sample Model\";\n }\n}\n"
1214 CmHandleQueryParameters:
1215 title: Cm Handle query parameters for executing cm handle search
1216 type: object
1217 properties:
1218 cmHandleQueryParameters:
1219 type: array
1220 items:
1221 $ref: '#/components/schemas/ConditionProperties'
DylanB95ESTe5573382022-01-27 17:12:52 +00001222 conditions:
emacleeafb17362022-09-02 14:40:17 +01001223 type: array
1224 description: "not necessary, it is just for backward compatibility"
1225 deprecated: true
1226 items:
1227 $ref: '#/components/schemas/OldConditionProperties'
DylanB95ESTe5573382022-01-27 17:12:52 +00001228 ConditionProperties:
1229 properties:
emacleeafb17362022-09-02 14:40:17 +01001230 conditionName:
1231 type: string
1232 conditionParameters:
1233 type: array
1234 items:
1235 type: object
1236 additionalProperties:
1237 type: string
1238 OldConditionProperties:
1239 properties:
DylanB95ESTe5573382022-01-27 17:12:52 +00001240 name:
1241 type: string
DylanB95ESTe5573382022-01-27 17:12:52 +00001242 conditionParameters:
emacleeafb17362022-09-02 14:40:17 +01001243 type: array
1244 items:
1245 $ref: '#/components/schemas/ModuleNameAsJsonObject'
1246 deprecated: true
DylanB95ESTe5573382022-01-27 17:12:52 +00001247 ModuleNameAsJsonObject:
1248 properties:
1249 moduleName:
1250 type: string
1251 example: my-module
DylanB95ESTe5573382022-01-27 17:12:52 +00001252 RestOutputCmHandle:
1253 title: CM handle Details
1254 type: object
1255 properties:
1256 cmHandle:
1257 type: string
1258 example: my-cm-handle1
1259 publicCmHandleProperties:
1260 $ref: '#/components/schemas/CmHandlePublicProperties'
emacleeafb17362022-09-02 14:40:17 +01001261 state:
1262 $ref: '#/components/schemas/CmHandleCompositeState'
DylanB95ESTe5573382022-01-27 17:12:52 +00001263 CmHandlePublicProperties:
1264 type: array
1265 items:
1266 type: object
1267 additionalProperties:
1268 type: string
1269 example: Book Type
emacleeafb17362022-09-02 14:40:17 +01001270 CmHandleCompositeState:
1271 type: object
1272 properties:
1273 cmHandleState:
1274 type: string
1275 example: ADVISED
1276 lockReason:
1277 $ref: '#/components/schemas/lock-reason'
1278 lastUpdateTime:
1279 type: string
1280 example: 2022-12-31T20:30:40.000+0000
1281 dataSyncEnabled:
1282 type: boolean
1283 example: false
1284 dataSyncState:
1285 $ref: '#/components/schemas/dataStores'
1286 lock-reason:
1287 type: object
1288 properties:
1289 reason:
1290 type: string
1291 example: LOCKED_MISBEHAVING
1292 details:
1293 type: string
1294 example: locked due to failure in module sync
1295 dataStores:
1296 type: object
1297 properties:
1298 operational:
1299 $ref: '#/components/schemas/sync-state'
1300 running:
1301 $ref: '#/components/schemas/sync-state'
1302 sync-state:
1303 type: object
1304 properties:
1305 syncState:
1306 type: string
1307 example: NONE_REQUESTED
1308 lastSyncTime:
1309 type: string
1310 example: 2022-12-31T20:30:40.000+0000
1311 RestOutputCmHandlePublicProperties:
1312 type: object
1313 properties:
1314 publicCmHandleProperties:
1315 $ref: '#/components/schemas/CmHandlePublicProperties'
1316 RestOutputCmHandleCompositeState:
1317 type: object
1318 properties:
1319 state:
1320 $ref: '#/components/schemas/CmHandleCompositeState'
1321 DmiErrorMessage_dmiresponse:
1322 type: object
1323 properties:
1324 http-code:
1325 type: integer
1326 example: 400
1327 body:
1328 type: string
1329 example: Bad Request
DylanB95ESTe5573382022-01-27 17:12:52 +00001330 examples:
1331 dataSampleResponse:
1332 summary: Sample response
1333 description: Sample response for selecting 'sample 1'.
1334 value:
1335 bookstore:
1336 categories:
emacleeafb17362022-09-02 14:40:17 +01001337 - code: "01"
1338 books:
1339 - authors:
1340 - Iain M. Banks
1341 - Ursula K. Le Guin
1342 name: SciFi
1343 - code: "02"
1344 books:
1345 - authors:
1346 - Philip Pullman
1347 name: kids
DylanB95ESTe5573382022-01-27 17:12:52 +00001348 dataSampleRequest:
1349 summary: Sample request
1350 description: Sample request body
1351 value:
1352 test:bookstore:
1353 bookstore-name: Chapters
1354 categories:
emacleeafb17362022-09-02 14:40:17 +01001355 - code: "01"
1356 name: SciFi
1357 books:
1358 - authors:
1359 - Iain M. Banks
1360 - Ursula K. Le Guin
1361 - code: "02"
1362 name: kids
1363 books:
1364 - authors:
1365 - Philip Pullman
DylanB95ESTe5573382022-01-27 17:12:52 +00001366 dataSamplePatchRequest:
1367 summary: Sample patch request
1368 description: Sample patch request body
1369 value:
1370 ietf-restconf:yang-patch:
1371 patch-id: patch-1
1372 edit:
emacleeafb17362022-09-02 14:40:17 +01001373 - edit-id: edit1
1374 operation: merge
1375 target: /
1376 value:
1377 test:bookstore:
1378 bookstore-name: Chapters
1379 categories:
1380 - code: "01"
1381 name: Science
1382 books:
1383 - authors:
1384 - Author1
1385 - Author2
1386 - code: "02"
1387 name: Arts
1388 books:
1389 - authors:
1390 - Author3
1391 - edit-id: edit2
1392 operation: merge
1393 target: /
1394 value:
1395 test:bookstore:
1396 bookstore-name: Novels
1397 categories:
1398 - code: "03"
1399 name: History
1400 books:
1401 - authors:
1402 - Iain M. Banks
1403 - Ursula K. Le Guin
1404 - code: "04"
1405 name: Fiction
1406 books:
1407 - authors:
1408 - Philip Pullman
1409 pubPropCmHandleQueryParameters:
1410 value:
1411 cmHandleQueryParameters:
1412 - conditionName: hasAllProperties
1413 conditionParameters:
1414 - Color: yellow
1415 - Shape: circle
1416 - Size: small
1417 modulesCmHandleQueryParameters:
1418 value:
1419 cmHandleQueryParameters:
1420 - conditionName: hasAllModules
1421 conditionParameters:
1422 - moduleName: my-module-1
1423 - moduleName: my-module-2
1424 - moduleName: my-module-3
1425 allCmHandleQueryParameters:
1426 value:
1427 cmHandleQueryParameters:
1428 - conditionName: hasAllModules
1429 conditionParameters:
1430 - moduleName: my-module-1
1431 - moduleName: my-module-2
1432 - moduleName: my-module-3
1433 - conditionName: hasAllProperties
1434 conditionParameters:
1435 - Color: yellow
1436 - Shape: circle
1437 - Size: small
1438 - conditionName: cmHandleWithCpsPath
1439 conditionParameters:
1440 - cpsPath: "//state[@cm-handle-state='ADVISED']"
1441 cpsPathCmHandleStateQueryParameters:
1442 value:
1443 cmHandleQueryParameters:
1444 - conditionName: cmHandleWithCpsPath
1445 conditionParameters:
1446 - cpsPath: "//state[@cm-handle-state='LOCKED']"
1447 cpsPathCmHandleDataSyncQueryParameters:
1448 value:
1449 cmHandleQueryParameters:
1450 - conditionName: cmHandleWithCpsPath
1451 conditionParameters:
1452 - cpsPath: "//state[@data-sync-enabled='true']"