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