Remove compulsory body from delete passthrough request
[cps.git] / cps-ncmp-rest / docs / openapi / ncmp.yml
1 #  ============LICENSE_START=======================================================
2 #  Copyright (C) 2021 Nordix Foundation
3 #  Modifications Copyright (C) 2021 Pantheon.tech
4 #  Modifications Copyright (C) 2021 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 nodeByCmHandleAndXpath:
22   get:
23     description: Get a node with an option to retrieve all the children for a given cm Handle
24     deprecated: true
25     tags:
26       - network-cm-proxy
27     summary: Get a node given a cm Handle and xpath
28     operationId: getNodeByCmHandleAndXpath
29     parameters:
30       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
31       - $ref: 'components.yaml#/components/parameters/xpathInQuery'
32       - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
33     responses:
34       200:
35         $ref: 'components.yaml#/components/responses/Ok'
36       400:
37         $ref: 'components.yaml#/components/responses/BadRequest'
38       401:
39         $ref: 'components.yaml#/components/responses/Unauthorized'
40       403:
41         $ref: 'components.yaml#/components/responses/Forbidden'
42       404:
43         $ref: 'components.yaml#/components/responses/NotFound'
44
45 nodesByCmHandleAndCpsPath:
46   get:
47     description: Query nodes for the given cps path and cm Handle
48     deprecated: true
49     tags:
50       - network-cm-proxy
51     summary: Query data nodes
52     operationId: queryNodesByCmHandleAndCpsPath
53     parameters:
54       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
55       - $ref: 'components.yaml#/components/parameters/cpsPathInQuery'
56       - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
57     responses:
58       200:
59         $ref: 'components.yaml#/components/responses/Ok'
60       400:
61         $ref: 'components.yaml#/components/responses/BadRequest'
62       401:
63         $ref: 'components.yaml#/components/responses/Unauthorized'
64       403:
65         $ref: 'components.yaml#/components/responses/Forbidden'
66       404:
67         $ref: 'components.yaml#/components/responses/NotFound'
68
69 nodesByCmHandleAndXpath:
70   post:
71     description: Create a node with descendants for the given CM Handle; top level or under existing node (requires xpath)
72     deprecated: true
73     tags:
74       - network-cm-proxy
75     summary: Create a node with descendants
76     operationId: createNode
77     parameters:
78       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
79       - $ref: 'components.yaml#/components/parameters/xpathInQuery'
80     requestBody:
81       required: true
82       content:
83         application/json:
84           schema:
85             type: object
86           examples:
87             dataSampleRequest:
88               $ref: 'components.yaml#/components/examples/dataSampleRequest'
89     responses:
90       201:
91         $ref: 'components.yaml#/components/responses/Created'
92       400:
93         $ref: 'components.yaml#/components/responses/BadRequest'
94       401:
95         $ref: 'components.yaml#/components/responses/Unauthorized'
96       403:
97         $ref: 'components.yaml#/components/responses/Forbidden'
98       404:
99         $ref: 'components.yaml#/components/responses/NotFound'
100
101   patch:
102     description: Update node leaves for the given cps path and cm Handle
103     deprecated: true
104     tags:
105       - network-cm-proxy
106     summary: Update node leaves
107     operationId: updateNodeLeaves
108     parameters:
109       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
110       - $ref: 'components.yaml#/components/parameters/xpathInQuery'
111     requestBody:
112       required: true
113       content:
114         application/json:
115           schema:
116             type: object
117           examples:
118             dataSampleRequest:
119               $ref: 'components.yaml#/components/examples/dataSampleRequest'
120     responses:
121       200:
122         $ref: 'components.yaml#/components/responses/Ok'
123       400:
124         $ref: 'components.yaml#/components/responses/BadRequest'
125       401:
126         $ref: 'components.yaml#/components/responses/Unauthorized'
127       403:
128         $ref: 'components.yaml#/components/responses/Forbidden'
129       404:
130         $ref: 'components.yaml#/components/responses/NotFound'
131
132   put:
133     description: Replace a node with descendants for the given cps path and cm Handle
134     deprecated: true
135     tags:
136       - network-cm-proxy
137     summary: Replace a node with descendants
138     operationId: replaceNode
139     parameters:
140       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
141       - $ref: 'components.yaml#/components/parameters/xpathInQuery'
142     requestBody:
143       required: true
144       content:
145         application/json:
146           schema:
147             type: object
148           examples:
149             dataSampleRequest:
150               $ref: 'components.yaml#/components/examples/dataSampleRequest'
151     responses:
152       200:
153         $ref: 'components.yaml#/components/responses/Ok'
154       400:
155         $ref: 'components.yaml#/components/responses/BadRequest'
156       401:
157         $ref: 'components.yaml#/components/responses/Unauthorized'
158       403:
159         $ref: 'components.yaml#/components/responses/Forbidden'
160       404:
161         $ref: 'components.yaml#/components/responses/NotFound'
162
163 listNodeByCmHandleAndXpath:
164   post:
165     description: Add one or more list-node child elements under existing node for the given CM Handle
166     deprecated: true
167     tags:
168       - network-cm-proxy
169     summary: Add list-node child element(s)
170     operationId: addListNodeElements
171     parameters:
172       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
173       - $ref: 'components.yaml#/components/parameters/requiredXpathInQuery'
174     requestBody:
175       required: true
176       content:
177         application/json:
178           schema:
179             type: object
180           examples:
181             dataSampleRequest:
182               $ref: 'components.yaml#/components/examples/dataSampleRequest'
183     responses:
184       201:
185         $ref: 'components.yaml#/components/responses/Created'
186       400:
187         $ref: 'components.yaml#/components/responses/BadRequest'
188       401:
189         $ref: 'components.yaml#/components/responses/Unauthorized'
190       403:
191         $ref: 'components.yaml#/components/responses/Forbidden'
192       404:
193         $ref: 'components.yaml#/components/responses/NotFound'
194
195 getResourceDataForPassthroughOperational:
196   get:
197     tags:
198       - network-cm-proxy
199     summary: Get resource data from pass-through operational for cm handle
200     description: Get resource data from pass-through operational for given cm handle
201     operationId: getResourceDataOperationalForCmHandle
202     parameters:
203       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
204       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
205       - $ref: 'components.yaml#/components/parameters/acceptParamInHeader'
206       - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
207     responses:
208       200:
209         description: OK
210         content:
211           application/json:
212             schema:
213               type: object
214             examples:
215               dataSampleResponse:
216                 $ref: 'components.yaml#/components/examples/dataSampleResponse'
217       400:
218         $ref: 'components.yaml#/components/responses/BadRequest'
219       401:
220         $ref: 'components.yaml#/components/responses/Unauthorized'
221       403:
222         $ref: 'components.yaml#/components/responses/Forbidden'
223       404:
224         $ref: 'components.yaml#/components/responses/NotFound'
225
226 resourceDataForPassthroughRunning:
227   get:
228     tags:
229       - network-cm-proxy
230     summary: Get resource data from pass-through running for cm handle
231     description: Get resource data from pass-through running for given cm handle
232     operationId: getResourceDataRunningForCmHandle
233     parameters:
234       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
235       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
236       - $ref: 'components.yaml#/components/parameters/acceptParamInHeader'
237       - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
238     responses:
239       200:
240         description: OK
241         content:
242           application/json:
243             schema:
244               type: object
245             examples:
246               dataSampleResponse:
247                 $ref: 'components.yaml#/components/examples/dataSampleResponse'
248       400:
249         $ref: 'components.yaml#/components/responses/BadRequest'
250       401:
251         $ref: 'components.yaml#/components/responses/Unauthorized'
252       403:
253         $ref: 'components.yaml#/components/responses/Forbidden'
254       404:
255         $ref: 'components.yaml#/components/responses/NotFound'
256   post:
257     tags:
258       - network-cm-proxy
259     summary: create resource data from pass-through running for cm handle
260     description: create resource data from pass-through running for given cm handle
261     operationId: createResourceDataRunningForCmHandle
262     parameters:
263       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
264       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
265       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
266     requestBody:
267       required: true
268       content:
269         application/json:
270           schema:
271             type: object
272           examples:
273             dataSampleRequest:
274               $ref: 'components.yaml#/components/examples/dataSampleRequest'
275         application/yang-data+json:
276           schema:
277             type: object
278           examples:
279             dataSampleRequest:
280               $ref: 'components.yaml#/components/examples/dataSampleRequest'
281     responses:
282       201:
283         $ref: 'components.yaml#/components/responses/Created'
284       400:
285         $ref: 'components.yaml#/components/responses/BadRequest'
286       401:
287         $ref: 'components.yaml#/components/responses/Unauthorized'
288       403:
289         $ref: 'components.yaml#/components/responses/Forbidden'
290       404:
291         $ref: 'components.yaml#/components/responses/NotFound'
292
293   put:
294     tags:
295       - network-cm-proxy
296     summary: Update resource data from pass-through running for a cm handle
297     description: Update resource data from pass-through running for the given cm handle
298     operationId: updateResourceDataRunningForCmHandle
299     parameters:
300       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
301       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
302       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
303     requestBody:
304       required: true
305       content:
306         application/json:
307           schema:
308             type: object
309           examples:
310             dataSampleRequest:
311               $ref: 'components.yaml#/components/examples/dataSampleRequest'
312         application/yang-data+json:
313           schema:
314             type: object
315           examples:
316             dataSampleRequest:
317               $ref: 'components.yaml#/components/examples/dataSampleRequest'
318     responses:
319       200:
320         $ref: 'components.yaml#/components/responses/Ok'
321       400:
322         $ref: 'components.yaml#/components/responses/BadRequest'
323       401:
324         $ref: 'components.yaml#/components/responses/Unauthorized'
325       403:
326         $ref: 'components.yaml#/components/responses/Forbidden'
327       404:
328         $ref: 'components.yaml#/components/responses/NotFound'
329
330   patch:
331     tags:
332       - network-cm-proxy
333     summary: Patch resource data from pass-through running
334     description: Patch resource data from pass-through running for the given cm handle
335     operationId: patchResourceDataRunningForCmHandle
336     parameters:
337       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
338       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
339       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
340     requestBody:
341       required: true
342       content:
343         application/json:
344           schema:
345             type: object
346           examples:
347             dataSampleRequest:
348               $ref: 'components.yaml#/components/examples/dataSampleRequest'
349     responses:
350       200:
351         $ref: 'components.yaml#/components/responses/Ok'
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       404:
359         $ref: 'components.yaml#/components/responses/NotFound'
360
361   delete:
362     tags:
363       - network-cm-proxy
364     summary: Delete resource data
365     description: Delete resource data from pass-through running for a given cm handle
366     operationId: deleteResourceDataRunningForCmHandle
367     parameters:
368       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
369       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
370       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
371     responses:
372       204:
373         $ref: 'components.yaml#/components/responses/NoContent'
374       400:
375         $ref: 'components.yaml#/components/responses/BadRequest'
376       401:
377         $ref: 'components.yaml#/components/responses/Unauthorized'
378       403:
379         $ref: 'components.yaml#/components/responses/Forbidden'
380       404:
381         $ref: 'components.yaml#/components/responses/NotFound'
382
383
384 fetchModuleReferencesByCmHandle:
385   get:
386     description: fetch all module references (name and revision) for a given cm handle
387     tags:
388       - network-cm-proxy
389     summary: Fetch all module references (name and revision) for a given cm handle
390     operationId: getModuleReferencesByCmHandle
391     parameters:
392       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
393     responses:
394       200:
395         description: OK
396         content:
397           application/json:
398             schema:
399               type: array
400               items:
401                 $ref: 'components.yaml#/components/schemas/ModuleReference'
402       400:
403         $ref: 'components.yaml#/components/responses/BadRequest'
404       401:
405         $ref: 'components.yaml#/components/responses/Unauthorized'
406       403:
407         $ref: 'components.yaml#/components/responses/Forbidden'
408       404:
409         $ref: 'components.yaml#/components/responses/NotFound'
410
411 executeCmHandleSearch:
412   post:
413     description: Execute cm handle searches using 'hasAllModules' condition to get all cm handles for the given module names
414     tags:
415       - network-cm-proxy
416     summary: Execute cm handle search using the available conditions
417     operationId: executeCmHandleSearch
418     requestBody:
419       required: true
420       content:
421         application/json:
422           schema:
423             $ref: 'components.yaml#/components/schemas/Conditions'
424     responses:
425       200:
426         description: OK
427         content:
428           application/json:
429             schema:
430               $ref: 'components.yaml#/components/schemas/CmHandles'
431       400:
432         $ref: 'components.yaml#/components/responses/BadRequest'
433       401:
434         $ref: 'components.yaml#/components/responses/Unauthorized'
435       403:
436         $ref: 'components.yaml#/components/responses/Forbidden'