Structured Exception details for DMI
[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 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 getResourceDataForPassthroughOperational:
21   get:
22     tags:
23       - network-cm-proxy
24     summary: Get resource data from pass-through operational for cm handle
25     description: Get resource data from pass-through operational for given cm handle
26     operationId: getResourceDataOperationalForCmHandle
27     parameters:
28       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
29       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
30       - $ref: 'components.yaml#/components/parameters/acceptParamInHeader'
31       - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
32       - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
33     responses:
34       200:
35         description: OK
36         content:
37           application/json:
38             schema:
39               type: object
40             examples:
41               dataSampleResponse:
42                 $ref: 'components.yaml#/components/examples/dataSampleResponse'
43       400:
44         $ref: 'components.yaml#/components/responses/BadRequest'
45       401:
46         $ref: 'components.yaml#/components/responses/Unauthorized'
47       403:
48         $ref: 'components.yaml#/components/responses/Forbidden'
49       500:
50         $ref: 'components.yaml#/components/responses/InternalServerError'
51       502:
52         $ref: 'components.yaml#/components/responses/BadGateway'
53
54 resourceDataForPassthroughRunning:
55   get:
56     tags:
57       - network-cm-proxy
58     summary: Get resource data from pass-through running for cm handle
59     description: Get resource data from pass-through running for given cm handle
60     operationId: getResourceDataRunningForCmHandle
61     parameters:
62       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
63       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
64       - $ref: 'components.yaml#/components/parameters/acceptParamInHeader'
65       - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
66       - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
67     responses:
68       200:
69         description: OK
70         content:
71           application/json:
72             schema:
73               type: object
74             examples:
75               dataSampleResponse:
76                 $ref: 'components.yaml#/components/examples/dataSampleResponse'
77       400:
78         $ref: 'components.yaml#/components/responses/BadRequest'
79       401:
80         $ref: 'components.yaml#/components/responses/Unauthorized'
81       403:
82         $ref: 'components.yaml#/components/responses/Forbidden'
83       500:
84         $ref: 'components.yaml#/components/responses/InternalServerError'
85       502:
86         $ref: 'components.yaml#/components/responses/BadGateway'
87   post:
88     tags:
89       - network-cm-proxy
90     summary: create resource data from pass-through running for cm handle
91     description: create resource data from pass-through running for given cm handle
92     operationId: createResourceDataRunningForCmHandle
93     parameters:
94       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
95       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
96       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
97     requestBody:
98       required: true
99       content:
100         application/json:
101           schema:
102             type: object
103           examples:
104             dataSampleRequest:
105               $ref: 'components.yaml#/components/examples/dataSampleRequest'
106         application/yang-data+json:
107           schema:
108             type: object
109           examples:
110             dataSampleRequest:
111               $ref: 'components.yaml#/components/examples/dataSampleRequest'
112     responses:
113       201:
114         $ref: 'components.yaml#/components/responses/Created'
115       400:
116         $ref: 'components.yaml#/components/responses/BadRequest'
117       401:
118         $ref: 'components.yaml#/components/responses/Unauthorized'
119       403:
120         $ref: 'components.yaml#/components/responses/Forbidden'
121       500:
122         $ref: 'components.yaml#/components/responses/InternalServerError'
123       502:
124         $ref: 'components.yaml#/components/responses/BadGateway'
125
126   put:
127     tags:
128       - network-cm-proxy
129     summary: Update resource data from pass-through running for a cm handle
130     description: Update resource data from pass-through running for the given cm handle
131     operationId: updateResourceDataRunningForCmHandle
132     parameters:
133       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
134       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
135       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
136     requestBody:
137       required: true
138       content:
139         application/json:
140           schema:
141             type: object
142           examples:
143             dataSampleRequest:
144               $ref: 'components.yaml#/components/examples/dataSampleRequest'
145         application/yang-data+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       500:
161         $ref: 'components.yaml#/components/responses/InternalServerError'
162       502:
163         $ref: 'components.yaml#/components/responses/BadGateway'
164
165   patch:
166     tags:
167       - network-cm-proxy
168     summary: Patch resource data from pass-through running
169     description: Patch resource data from pass-through running for the given cm handle
170     operationId: patchResourceDataRunningForCmHandle
171     parameters:
172       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
173       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
174       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
175     requestBody:
176       required: true
177       content:
178         '*/*':
179           schema:
180             type: object
181           examples:
182             dataSampleRequest:
183               $ref: 'components.yaml#/components/examples/dataSamplePatchRequest'
184     responses:
185       200:
186         $ref: 'components.yaml#/components/responses/Ok'
187       400:
188         $ref: 'components.yaml#/components/responses/BadRequest'
189       401:
190         $ref: 'components.yaml#/components/responses/Unauthorized'
191       403:
192         $ref: 'components.yaml#/components/responses/Forbidden'
193       500:
194         $ref: 'components.yaml#/components/responses/InternalServerError'
195       502:
196         $ref: 'components.yaml#/components/responses/BadGateway'
197
198   delete:
199     tags:
200       - network-cm-proxy
201     summary: Delete resource data
202     description: Delete resource data from pass-through running for a given cm handle
203     operationId: deleteResourceDataRunningForCmHandle
204     parameters:
205       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
206       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
207       - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
208     responses:
209       204:
210         $ref: 'components.yaml#/components/responses/NoContent'
211       400:
212         $ref: 'components.yaml#/components/responses/BadRequest'
213       401:
214         $ref: 'components.yaml#/components/responses/Unauthorized'
215       403:
216         $ref: 'components.yaml#/components/responses/Forbidden'
217       404:
218         $ref: 'components.yaml#/components/responses/NotFound'
219       500:
220         $ref: 'components.yaml#/components/responses/InternalServerError'
221       502:
222         $ref: 'components.yaml#/components/responses/BadGateway'
223
224 fetchModuleReferencesByCmHandle:
225   get:
226     description: fetch all module references (name and revision) for a given cm handle
227     tags:
228       - network-cm-proxy
229     summary: Fetch all module references (name and revision) for a given cm handle
230     operationId: getModuleReferencesByCmHandle
231     parameters:
232       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
233     responses:
234       200:
235         description: OK
236         content:
237           application/json:
238             schema:
239               type: array
240               items:
241                 $ref: 'components.yaml#/components/schemas/RestModuleReference'
242       400:
243         $ref: 'components.yaml#/components/responses/BadRequest'
244       401:
245         $ref: 'components.yaml#/components/responses/Unauthorized'
246       403:
247         $ref: 'components.yaml#/components/responses/Forbidden'
248       500:
249         $ref: 'components.yaml#/components/responses/InternalServerError'
250
251 executeCmHandleSearch:
252   post:
253     description: Execute cm handle searches using 'hasAllModules' condition to get all cm handles for the given module names
254     tags:
255       - network-cm-proxy
256     summary: Execute cm handle search using the available conditions
257     operationId: executeCmHandleSearch
258     requestBody:
259       required: true
260       content:
261         application/json:
262           schema:
263             $ref: 'components.yaml#/components/schemas/Conditions'
264     responses:
265       200:
266         description: OK
267         content:
268           application/json:
269             schema:
270               $ref: 'components.yaml#/components/schemas/CmHandles'
271       400:
272         $ref: 'components.yaml#/components/responses/BadRequest'
273       401:
274         $ref: 'components.yaml#/components/responses/Unauthorized'
275       403:
276         $ref: 'components.yaml#/components/responses/Forbidden'
277       500:
278         $ref: 'components.yaml#/components/responses/InternalServerError'
279
280 retrieveCmHandleDetailsById:
281   get:
282     description: Retrieve CM handle details and properties by cm handle id
283     tags:
284       - network-cm-proxy
285     summary: Retrieve CM handle details
286     operationId: retrieveCmHandleDetailsById
287     parameters:
288       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
289     responses:
290       200:
291         description: OK
292         content:
293           application/json:
294             schema:
295               $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
296       400:
297         $ref: 'components.yaml#/components/responses/BadRequest'
298       401:
299         $ref: 'components.yaml#/components/responses/Unauthorized'
300       403:
301         $ref: 'components.yaml#/components/responses/Forbidden'
302       404:
303         $ref: 'components.yaml#/components/responses/NotFound'
304       500:
305         $ref: 'components.yaml#/components/responses/InternalServerError'