Merge "Added API to get all schema sets for a given dataspace."
[cps.git] / cps-ncmp-rest / docs / openapi / ncmp.yml
1 #  ============LICENSE_START=======================================================
2 #  Copyright (C) 2021-2022 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 queryResourceDataForCmHandle:
198   get:
199     tags:
200       - network-cm-proxy
201     summary: Query resource data for a given cm handle
202     description: Query resource data for a given cm handle
203     operationId: queryResourceDataForCmHandle
204     parameters:
205       - $ref: 'components.yaml#/components/parameters/datastoreName'
206       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
207       - $ref: 'components.yaml#/components/parameters/cpsPathInQuery'
208       - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
209       - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
210       - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
211     responses:
212       200:
213         description: OK
214         content:
215           application/json:
216             schema:
217               type: object
218             examples:
219               dataSampleResponse:
220                 $ref: 'components.yaml#/components/examples/dataSampleResponse'
221       400:
222         $ref: 'components.yaml#/components/responses/BadRequest'
223       401:
224         $ref: 'components.yaml#/components/responses/Unauthorized'
225       403:
226         $ref: 'components.yaml#/components/responses/Forbidden'
227       500:
228         $ref: 'components.yaml#/components/responses/InternalServerError'
229       502:
230         $ref: 'components.yaml#/components/responses/BadGateway'
231
232 fetchModuleReferencesByCmHandle:
233   get:
234     description: fetch all module references (name and revision) for a given cm handle
235     tags:
236       - network-cm-proxy
237     summary: Fetch all module references (name and revision) for a given cm handle
238     operationId: getModuleReferencesByCmHandle
239     parameters:
240       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
241     responses:
242       200:
243         description: OK
244         content:
245           application/json:
246             schema:
247               type: array
248               items:
249                 $ref: 'components.yaml#/components/schemas/RestModuleReference'
250       400:
251         $ref: 'components.yaml#/components/responses/BadRequest'
252       401:
253         $ref: 'components.yaml#/components/responses/Unauthorized'
254       403:
255         $ref: 'components.yaml#/components/responses/Forbidden'
256       500:
257         $ref: 'components.yaml#/components/responses/InternalServerError'
258
259 fetchModuleDefinitionsByCmHandle:
260   get:
261     description: Fetch all module definitions (name, revision, yang resource) for a given cm handle
262     tags:
263       - network-cm-proxy
264     summary: Fetch all module definitions (name, revision, yang resource) for a given cm handle
265     operationId: getModuleDefinitionsByCmHandleId
266     parameters:
267       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
268     responses:
269       200:
270         description: OK
271         content:
272           application/json:
273             schema:
274               type: array
275               items:
276                 $ref: 'components.yaml#/components/schemas/RestModuleDefinition'
277       401:
278         $ref: 'components.yaml#/components/responses/Unauthorized'
279       403:
280         $ref: 'components.yaml#/components/responses/Forbidden'
281       500:
282         $ref: 'components.yaml#/components/responses/InternalServerError'
283
284 searchCmHandles:
285   post:
286     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.
287     tags:
288       - network-cm-proxy
289     summary: Execute cm handle search using the available conditions
290     operationId: searchCmHandles
291     requestBody:
292       required: true
293       content:
294         application/json:
295           schema:
296             $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
297           examples:
298             Cm handle properties query:
299               $ref: 'components.yaml#/components/examples/pubPropCmHandleQueryParameters'
300             Cm handle modules query:
301               $ref: 'components.yaml#/components/examples/modulesCmHandleQueryParameters'
302             All cm handle query parameters:
303               $ref: 'components.yaml#/components/examples/allCmHandleQueryParameters'
304             Cm handle with CPS path state query:
305               $ref: 'components.yaml#/components/examples/cpsPathCmHandleStateQueryParameters'
306             Cm handle with data sync flag query:
307               $ref: 'components.yaml#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
308     responses:
309       200:
310         description: OK
311         content:
312           application/json:
313             schema:
314               type: array
315               items:
316                 $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
317       400:
318         $ref: 'components.yaml#/components/responses/BadRequest'
319       401:
320         $ref: 'components.yaml#/components/responses/Unauthorized'
321       403:
322         $ref: 'components.yaml#/components/responses/Forbidden'
323       500:
324         $ref: 'components.yaml#/components/responses/InternalServerError'
325
326 retrieveCmHandleDetailsById:
327   get:
328     description: Retrieve CM handle details and properties by cm handle id
329     tags:
330       - network-cm-proxy
331     summary: Retrieve CM handle details
332     operationId: retrieveCmHandleDetailsById
333     parameters:
334       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
335     responses:
336       200:
337         description: OK
338         content:
339           application/json:
340             schema:
341               $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
342       400:
343         $ref: 'components.yaml#/components/responses/BadRequest'
344       401:
345         $ref: 'components.yaml#/components/responses/Unauthorized'
346       404:
347         $ref: 'components.yaml#/components/responses/NotFound'
348       500:
349         $ref: 'components.yaml#/components/responses/InternalServerError'
350
351 getCmHandlePropertiesById:
352   get:
353     description: Get CM handle properties by cm handle id
354     tags:
355       - network-cm-proxy
356     summary: Get CM handle properties
357     operationId: getCmHandlePublicPropertiesByCmHandleId
358     parameters:
359       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
360     responses:
361       200:
362         description: OK
363         content:
364           application/json:
365             schema:
366               $ref: 'components.yaml#/components/schemas/RestOutputCmHandlePublicProperties'
367       400:
368         $ref: 'components.yaml#/components/responses/BadRequest'
369       401:
370         $ref: 'components.yaml#/components/responses/Unauthorized'
371       404:
372         $ref: 'components.yaml#/components/responses/NotFound'
373       500:
374         $ref: 'components.yaml#/components/responses/InternalServerError'
375
376 getCmHandleStateById:
377   get:
378     description: Get CM handle state by cm handle id
379     tags:
380       - network-cm-proxy
381     summary: Get CM handle state
382     operationId: getCmHandleStateByCmHandleId
383     parameters:
384       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
385     responses:
386       200:
387         description: OK
388         content:
389           application/json:
390             schema:
391               $ref: 'components.yaml#/components/schemas/RestOutputCmHandleCompositeState'
392       400:
393         $ref: 'components.yaml#/components/responses/BadRequest'
394       401:
395         $ref: 'components.yaml#/components/responses/Unauthorized'
396       404:
397         $ref: 'components.yaml#/components/responses/NotFound'
398       500:
399         $ref: 'components.yaml#/components/responses/InternalServerError'
400
401 searchCmHandleIds:
402   post:
403     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.
404     tags:
405       - network-cm-proxy
406     summary: Execute cm handle query upon a given set of query parameters
407     operationId: searchCmHandleIds
408     requestBody:
409       required: true
410       content:
411         application/json:
412           schema:
413             $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
414           examples:
415             Cm handle properties query:
416               $ref: 'components.yaml#/components/examples/pubPropCmHandleQueryParameters'
417             Cm handle modules query:
418               $ref: 'components.yaml#/components/examples/modulesCmHandleQueryParameters'
419             All cm handle query parameters:
420               $ref: 'components.yaml#/components/examples/allCmHandleQueryParameters'
421             Cm handle with CPS path state query:
422               $ref: 'components.yaml#/components/examples/cpsPathCmHandleStateQueryParameters'
423             Cm handle with data sync flag query:
424               $ref: 'components.yaml#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
425     responses:
426       200:
427         description: OK
428         content:
429           application/json:
430             schema:
431               type: array
432               items:
433                 type: string
434       400:
435         $ref: 'components.yaml#/components/responses/BadRequest'
436       401:
437         $ref: 'components.yaml#/components/responses/Unauthorized'
438       403:
439         $ref: 'components.yaml#/components/responses/Forbidden'
440       404:
441         $ref: 'components.yaml#/components/responses/NotFound'
442       500:
443         $ref: 'components.yaml#/components/responses/InternalServerError'
444
445 setDataSyncEnabledFlag:
446   put:
447     tags:
448       - network-cm-proxy
449     summary: Set the Data Sync Enabled Flag
450     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.
451     operationId: setDataSyncEnabledFlagForCmHandle
452     parameters:
453       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
454       - $ref: 'components.yaml#/components/parameters/dataSyncEnabled'
455     responses:
456       200:
457         $ref: 'components.yaml#/components/responses/Ok'
458       400:
459         $ref: 'components.yaml#/components/responses/BadRequest'
460       401:
461         $ref: 'components.yaml#/components/responses/Unauthorized'
462       403:
463         $ref: 'components.yaml#/components/responses/Forbidden'
464       500:
465         $ref: 'components.yaml#/components/responses/InternalServerError'
466       502:
467         $ref: 'components.yaml#/components/responses/BadGateway'