Bump CPS to 3.4.5-SNAPSHOT
[cps.git] / cps-ncmp-rest / docs / openapi / ncmp.yml
1 #  ============LICENSE_START=======================================================
2 #  Copyright (C) 2021-2024 Nordix Foundation
3 #  Modifications Copyright (C) 2021 Pantheon.tech
4 #  Modifications Copyright (C) 2021-2022 Bell Canada
5 #  ================================================================================
6 #  Licensed under the Apache License, Version 2.0 (the "License");
7 #  you may not use this file except in compliance with the License.
8 #  You may obtain a copy of the License at
9 #
10 #        http://www.apache.org/licenses/LICENSE-2.0
11 #
12 #  Unless required by applicable law or agreed to in writing, software
13 #  distributed under the License is distributed on an "AS IS" BASIS,
14 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 #  See the License for the specific language governing permissions and
16 #  limitations under the License.
17 #
18 #  SPDX-License-Identifier: Apache-2.0
19 #  ============LICENSE_END=========================================================
20
21 resourceDataForCmHandle:
22   get:
23     tags:
24       - network-cm-proxy
25     summary: Get resource data for cm handle
26     description: Get resource data for given cm handle
27     operationId: getResourceDataForCmHandle
28     parameters:
29       - $ref: 'components.yaml#/components/parameters/datastoreName'
30       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
31       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
32       - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
33       - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
34       - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
35     responses:
36       200:
37         description: OK
38         content:
39           application/json:
40             schema:
41               type: object
42             examples:
43               dataSampleResponse:
44                 $ref: 'components.yaml#/components/examples/dataSampleResponse'
45       400:
46         $ref: 'components.yaml#/components/responses/BadRequest'
47       401:
48         $ref: 'components.yaml#/components/responses/Unauthorized'
49       403:
50         $ref: 'components.yaml#/components/responses/Forbidden'
51       500:
52         $ref: 'components.yaml#/components/responses/InternalServerError'
53       502:
54         $ref: 'components.yaml#/components/responses/BadGateway'
55
56   post:
57     tags:
58       - network-cm-proxy
59     summary: create resource data from pass-through running for cm handle
60     description: create resource data from pass-through running for given cm handle
61     operationId: createResourceDataRunningForCmHandle
62     parameters:
63       - $ref: 'components.yaml#/components/parameters/datastoreName'
64       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
65       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
66       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
67     requestBody:
68       required: true
69       content:
70         application/json:
71           schema:
72             type: object
73           examples:
74             dataSampleRequest:
75               $ref: 'components.yaml#/components/examples/dataSampleRequest'
76         application/yang-data+json:
77           schema:
78             type: object
79           examples:
80             dataSampleRequest:
81               $ref: 'components.yaml#/components/examples/dataSampleRequest'
82     responses:
83       201:
84         $ref: 'components.yaml#/components/responses/Created'
85       400:
86         $ref: 'components.yaml#/components/responses/BadRequest'
87       401:
88         $ref: 'components.yaml#/components/responses/Unauthorized'
89       403:
90         $ref: 'components.yaml#/components/responses/Forbidden'
91       500:
92         $ref: 'components.yaml#/components/responses/InternalServerError'
93       502:
94         $ref: 'components.yaml#/components/responses/BadGateway'
95
96   put:
97     tags:
98       - network-cm-proxy
99     summary: Update resource data from pass-through running for a cm handle
100     description: Update resource data from pass-through running for the given cm handle
101     operationId: updateResourceDataRunningForCmHandle
102     parameters:
103       - $ref: 'components.yaml#/components/parameters/datastoreName'
104       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
105       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
106       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
107     requestBody:
108       required: true
109       content:
110         application/json:
111           schema:
112             type: object
113           examples:
114             dataSampleRequest:
115               $ref: 'components.yaml#/components/examples/dataSampleRequest'
116         application/yang-data+json:
117           schema:
118             type: object
119           examples:
120             dataSampleRequest:
121               $ref: 'components.yaml#/components/examples/dataSampleRequest'
122     responses:
123       200:
124         $ref: 'components.yaml#/components/responses/Ok'
125       400:
126         $ref: 'components.yaml#/components/responses/BadRequest'
127       401:
128         $ref: 'components.yaml#/components/responses/Unauthorized'
129       403:
130         $ref: 'components.yaml#/components/responses/Forbidden'
131       500:
132         $ref: 'components.yaml#/components/responses/InternalServerError'
133       502:
134         $ref: 'components.yaml#/components/responses/BadGateway'
135
136   patch:
137     tags:
138       - network-cm-proxy
139     summary: Patch resource data from pass-through running
140     description: Patch resource data from pass-through running for the given cm handle
141     operationId: patchResourceDataRunningForCmHandle
142     parameters:
143       - $ref: 'components.yaml#/components/parameters/datastoreName'
144       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
145       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
146       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
147     requestBody:
148       required: true
149       content:
150         '*/*':
151           schema:
152             type: object
153           examples:
154             dataSampleRequest:
155               $ref: 'components.yaml#/components/examples/dataSamplePatchRequest'
156     responses:
157       200:
158         $ref: 'components.yaml#/components/responses/Ok'
159       400:
160         $ref: 'components.yaml#/components/responses/BadRequest'
161       401:
162         $ref: 'components.yaml#/components/responses/Unauthorized'
163       403:
164         $ref: 'components.yaml#/components/responses/Forbidden'
165       500:
166         $ref: 'components.yaml#/components/responses/InternalServerError'
167       502:
168         $ref: 'components.yaml#/components/responses/BadGateway'
169
170   delete:
171     tags:
172       - network-cm-proxy
173     summary: Delete resource data
174     description: Delete resource data from pass-through running for a given cm handle
175     operationId: deleteResourceDataRunningForCmHandle
176     parameters:
177       - $ref: 'components.yaml#/components/parameters/datastoreName'
178       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
179       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
180       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
181     responses:
182       204:
183         $ref: 'components.yaml#/components/responses/NoContent'
184       400:
185         $ref: 'components.yaml#/components/responses/BadRequest'
186       401:
187         $ref: 'components.yaml#/components/responses/Unauthorized'
188       403:
189         $ref: 'components.yaml#/components/responses/Forbidden'
190       404:
191         $ref: 'components.yaml#/components/responses/NotFound'
192       500:
193         $ref: 'components.yaml#/components/responses/InternalServerError'
194       502:
195         $ref: 'components.yaml#/components/responses/BadGateway'
196
197 dataOperationForCmHandle:
198   post:
199     tags:
200       - network-cm-proxy
201     summary: Execute a data operation for group of cm handle ids
202     description: This request will be handled asynchronously using messaging to the supplied topic. The rest response will be an acknowledge with a requestId to identify the relevant messages.
203     operationId: executeDataOperationForCmHandles
204     parameters:
205       - $ref: 'components.yaml#/components/parameters/requiredTopicParamInQuery'
206     requestBody:
207       required: true
208       content:
209         application/json:
210           schema:
211             $ref: 'components.yaml#/components/schemas/DataOperationRequest'
212     responses:
213       200:
214         description: OK
215         content:
216           application/json:
217             schema:
218               type: object
219       400:
220         $ref: 'components.yaml#/components/responses/BadRequest'
221       401:
222         $ref: 'components.yaml#/components/responses/Unauthorized'
223       403:
224         $ref: 'components.yaml#/components/responses/Forbidden'
225       500:
226         $ref: 'components.yaml#/components/responses/InternalServerError'
227       502:
228         $ref: 'components.yaml#/components/responses/BadGateway'
229
230 queryResourceDataForCmHandle:
231   get:
232     tags:
233       - network-cm-proxy
234     summary: Query resource data for a given cm handle
235     description: Query resource data for a given cm handle
236     operationId: queryResourceDataForCmHandle
237     parameters:
238       - $ref: 'components.yaml#/components/parameters/datastoreName'
239       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
240       - $ref: 'components.yaml#/components/parameters/cpsPathInQuery'
241       - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
242       - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
243       - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
244     responses:
245       200:
246         description: OK
247         content:
248           application/json:
249             schema:
250               type: object
251             examples:
252               dataSampleResponse:
253                 $ref: 'components.yaml#/components/examples/dataSampleResponse'
254       400:
255         $ref: 'components.yaml#/components/responses/BadRequest'
256       401:
257         $ref: 'components.yaml#/components/responses/Unauthorized'
258       403:
259         $ref: 'components.yaml#/components/responses/Forbidden'
260       500:
261         $ref: 'components.yaml#/components/responses/InternalServerError'
262       502:
263         $ref: 'components.yaml#/components/responses/BadGateway'
264
265 fetchModuleReferencesByCmHandle:
266   get:
267     description: fetch all module references (name and revision) for a given cm handle
268     tags:
269       - network-cm-proxy
270     summary: Fetch all module references (name and revision) for a given cm handle
271     operationId: getModuleReferencesByCmHandle
272     parameters:
273       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
274     responses:
275       200:
276         description: OK
277         content:
278           application/json:
279             schema:
280               type: array
281               items:
282                 $ref: 'components.yaml#/components/schemas/RestModuleReference'
283       400:
284         $ref: 'components.yaml#/components/responses/BadRequest'
285       401:
286         $ref: 'components.yaml#/components/responses/Unauthorized'
287       403:
288         $ref: 'components.yaml#/components/responses/Forbidden'
289       500:
290         $ref: 'components.yaml#/components/responses/InternalServerError'
291
292 getModuleDefinitions:
293   get:
294     tags:
295       - network-cm-proxy
296     summary: Get module definitions
297     description: Get module definitions (module name, revision, yang resource) with options to filter on module name and revision
298     operationId: getModuleDefinitions
299     parameters:
300       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
301       - $ref: 'components.yaml#/components/parameters/moduleNameInQuery'
302       - $ref: 'components.yaml#/components/parameters/revisionInQuery'
303     responses:
304       200:
305         description: OK
306         content:
307           application/json:
308             schema:
309               type: array
310               items:
311                 $ref: 'components.yaml#/components/schemas/RestModuleDefinition'
312       401:
313         $ref: 'components.yaml#/components/responses/Unauthorized'
314       403:
315         $ref: 'components.yaml#/components/responses/Forbidden'
316       500:
317         $ref: 'components.yaml#/components/responses/InternalServerError'
318
319 searchCmHandles:
320   post:
321     description: Execute cm handle query search and return a list of cm handle details. Any number of conditions can be applied. To be included in the result a cm-handle must fulfill ALL the conditions. An empty collection will be returned in the case that the cm handle does not match a condition. For more on cm handle query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible to query on any data related to the cm handle. For more on CPS Path please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS Path Read the Docs</a>. The cm handle ancestor is automatically returned for this query.
322     tags:
323       - network-cm-proxy
324     summary: Execute cm handle search using the available conditions
325     operationId: searchCmHandles
326     requestBody:
327       required: true
328       content:
329         application/json:
330           schema:
331             $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
332           examples:
333             Cm handle properties query:
334               $ref: 'components.yaml#/components/examples/pubPropCmHandleQueryParameters'
335             Cm handle modules query:
336               $ref: 'components.yaml#/components/examples/modulesCmHandleQueryParameters'
337             All cm handle query parameters:
338               $ref: 'components.yaml#/components/examples/allCmHandleQueryParameters'
339             Cm handle with CPS path state query:
340               $ref: 'components.yaml#/components/examples/cpsPathCmHandleStateQueryParameters'
341             Cm handle with data sync flag query:
342               $ref: 'components.yaml#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
343     responses:
344       200:
345         description: OK
346         content:
347           application/json:
348             schema:
349               type: array
350               items:
351                 $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
352       400:
353         $ref: 'components.yaml#/components/responses/BadRequest'
354       401:
355         $ref: 'components.yaml#/components/responses/Unauthorized'
356       403:
357         $ref: 'components.yaml#/components/responses/Forbidden'
358       500:
359         $ref: 'components.yaml#/components/responses/InternalServerError'
360
361 retrieveCmHandleDetailsById:
362   get:
363     description: Retrieve CM handle details and properties by cm handle id
364     tags:
365       - network-cm-proxy
366     summary: Retrieve CM handle details
367     operationId: retrieveCmHandleDetailsById
368     parameters:
369       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
370     responses:
371       200:
372         description: OK
373         content:
374           application/json:
375             schema:
376               $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
377       400:
378         $ref: 'components.yaml#/components/responses/BadRequest'
379       401:
380         $ref: 'components.yaml#/components/responses/Unauthorized'
381       404:
382         $ref: 'components.yaml#/components/responses/NotFound'
383       500:
384         $ref: 'components.yaml#/components/responses/InternalServerError'
385
386 getCmHandlePropertiesById:
387   get:
388     description: Get CM handle properties by cm handle id
389     tags:
390       - network-cm-proxy
391     summary: Get CM handle properties
392     operationId: getCmHandlePublicPropertiesByCmHandleId
393     parameters:
394       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
395     responses:
396       200:
397         description: OK
398         content:
399           application/json:
400             schema:
401               $ref: 'components.yaml#/components/schemas/RestOutputCmHandlePublicProperties'
402       400:
403         $ref: 'components.yaml#/components/responses/BadRequest'
404       401:
405         $ref: 'components.yaml#/components/responses/Unauthorized'
406       404:
407         $ref: 'components.yaml#/components/responses/NotFound'
408       500:
409         $ref: 'components.yaml#/components/responses/InternalServerError'
410
411 getCmHandleStateById:
412   get:
413     description: Get CM handle state by cm handle id
414     tags:
415       - network-cm-proxy
416     summary: Get CM handle state
417     operationId: getCmHandleStateByCmHandleId
418     parameters:
419       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
420     responses:
421       200:
422         description: OK
423         content:
424           application/json:
425             schema:
426               $ref: 'components.yaml#/components/schemas/RestOutputCmHandleCompositeState'
427       400:
428         $ref: 'components.yaml#/components/responses/BadRequest'
429       401:
430         $ref: 'components.yaml#/components/responses/Unauthorized'
431       404:
432         $ref: 'components.yaml#/components/responses/NotFound'
433       500:
434         $ref: 'components.yaml#/components/responses/InternalServerError'
435
436 searchCmHandleIds:
437   post:
438     description: Execute cm handle query search and return a list of cm handle ids. Any number of conditions can be applied. To be included in the result a cm-handle must fulfill ALL the conditions. An empty collection will be returned in the case that the cm handle does not match a condition. For more on cm handle query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible to query on any data related to the cm handle. For more on CPS Path please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS Path Read the Docs</a>. The cm handle ancestor is automatically returned for this query.
439     tags:
440       - network-cm-proxy
441     summary: Execute cm handle query upon a given set of query parameters
442     operationId: searchCmHandleIds
443     requestBody:
444       required: true
445       content:
446         application/json:
447           schema:
448             $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
449           examples:
450             Cm handle properties query:
451               $ref: 'components.yaml#/components/examples/pubPropCmHandleQueryParameters'
452             Cm handle modules query:
453               $ref: 'components.yaml#/components/examples/modulesCmHandleQueryParameters'
454             All cm handle query parameters:
455               $ref: 'components.yaml#/components/examples/allCmHandleQueryParameters'
456             Cm handle with CPS path state query:
457               $ref: 'components.yaml#/components/examples/cpsPathCmHandleStateQueryParameters'
458             Cm handle with data sync flag query:
459               $ref: 'components.yaml#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
460     responses:
461       200:
462         description: OK
463         content:
464           application/json:
465             schema:
466               type: array
467               items:
468                 type: string
469       400:
470         $ref: 'components.yaml#/components/responses/BadRequest'
471       401:
472         $ref: 'components.yaml#/components/responses/Unauthorized'
473       403:
474         $ref: 'components.yaml#/components/responses/Forbidden'
475       404:
476         $ref: 'components.yaml#/components/responses/NotFound'
477       500:
478         $ref: 'components.yaml#/components/responses/InternalServerError'
479
480 setDataSyncEnabledFlag:
481   put:
482     tags:
483       - network-cm-proxy
484     summary: Set the Data Sync Enabled Flag
485     description: Set the data sync enabled flag to true or false for a specified Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and NONE_REQUESTED respectfully.
486     operationId: setDataSyncEnabledFlagForCmHandle
487     parameters:
488       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
489       - $ref: 'components.yaml#/components/parameters/dataSyncEnabled'
490     responses:
491       200:
492         $ref: 'components.yaml#/components/responses/Ok'
493       400:
494         $ref: 'components.yaml#/components/responses/BadRequest'
495       401:
496         $ref: 'components.yaml#/components/responses/Unauthorized'
497       403:
498         $ref: 'components.yaml#/components/responses/Forbidden'
499       500:
500         $ref: 'components.yaml#/components/responses/InternalServerError'
501       502:
502         $ref: 'components.yaml#/components/responses/BadGateway'