Post impl for passthrough running (Ncmp impl.)
[cps.git] / cps-ncmp-rest / docs / openapi / components.yaml
1 #  ============LICENSE_START=======================================================
2 #  Copyright (C) 2021 Nordix Foundation
3 #  Modifications Copyright (C) 2021 Pantheon.tech
4 #  ================================================================================
5 #  Licensed under the Apache License, Version 2.0 (the "License");
6 #  you may not use this file except in compliance with the License.
7 #  You may obtain a copy of the License at
8 #
9 #        http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #  Unless required by applicable law or agreed to in writing, software
12 #  distributed under the License is distributed on an "AS IS" BASIS,
13 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #  See the License for the specific language governing permissions and
15 #  limitations under the License.
16 #
17 #  SPDX-License-Identifier: Apache-2.0
18 #  ============LICENSE_END=========================================================
19
20 components:
21   schemas:
22     ErrorMessage:
23       type: object
24       title: Error
25       properties:
26         status:
27           type: string
28         message:
29           type: string
30         details:
31           type: string
32
33     RestDmiPluginRegistration:
34       type: object
35       properties:
36         dmiPlugin:
37           type: string
38           example: onap-dmi-plugin
39         createdCmHandles:
40           type: array
41           items:
42             $ref: '#/components/schemas/RestCmHandle'
43         updatedCmHandles:
44           type: array
45           items:
46             $ref: '#/components/schemas/RestCmHandle'
47         removedCmHandles:
48           type: array
49           items:
50             type: string
51
52     RestCmHandle:
53       required:
54         - cmHandle
55       type: object
56       properties:
57         cmHandle:
58           type: string
59           example: cmHandle123
60         cmHandleProperties:
61             $ref: '#/components/schemas/RestCmHandleAdditionalProperties'
62     RestCmHandleAdditionalProperties:
63         type: object
64         additionalProperties:
65             type: string
66             example: system-001
67
68   parameters:
69     cmHandleInPath:
70       name: cm-handle
71       in: path
72       description: The identifier for a network function, network element, subnetwork or any other cm object by managed Network CM Proxy
73       required: true
74       schema:
75         type: string
76     xpathInQuery:
77       name: xpath
78       in: query
79       description: xpath
80       required: false
81       schema:
82         type: string
83         default: /
84     requiredXpathInQuery:
85       name: xpath
86       in: query
87       description: xpath
88       required: true
89       schema:
90         type: string
91     includeDescendantsOptionInQuery:
92       name: include-descendants
93       in: query
94       description: include-descendants
95       required: false
96       schema:
97         type: boolean
98         default: false
99     cpsPathInQuery:
100       name: cps-path
101       in: query
102       description: cps-path
103       required: false
104       schema:
105         type: string
106         default: /
107     resourceIdentifierInPath:
108       name: resourceIdentifier
109       in: path
110       description: Resource identifier to get/set the resource data
111       required: true
112       schema:
113         type: string
114     acceptParamInHeader:
115       name: Accept
116       in: header
117       required: false
118       description: Accept parameter for response, if accept parameter is null, that means client can accept any format.
119       schema:
120         type: string
121         enum: [ application/json, application/yang-data+json ]
122     fieldsParamInQuery:
123       name: fields
124       in: query
125       description: Fields parameter to filter resource
126       required: false
127       schema:
128         type: string
129     depthParamInQuery:
130       name: depth
131       in: query
132       description: Depth parameter for response
133       required: false
134       schema:
135         type: integer
136         minimum: 1
137     contentParamInHeader:
138       name: Content-Type
139       in: header
140       required: false
141       description: Content parameter for request, if content parameter is null, default value is application/json.
142       schema:
143         type: string
144         default: application/json
145
146
147   responses:
148     NotFound:
149       description: The specified resource was not found
150       content:
151         application/json:
152           schema:
153             $ref: '#/components/schemas/ErrorMessage'
154     Unauthorized:
155       description: Unauthorized
156       content:
157         application/json:
158           schema:
159             $ref: '#/components/schemas/ErrorMessage'
160     Forbidden:
161       description: Forbidden
162       content:
163         application/json:
164           schema:
165             $ref: '#/components/schemas/ErrorMessage'
166     BadRequest:
167       description: Bad Request
168       content:
169         application/json:
170           schema:
171             $ref: '#/components/schemas/ErrorMessage'
172     Conflict:
173       description: Conflict
174       content:
175         application/json:
176           schema:
177             $ref: '#/components/schemas/ErrorMessage'
178     NotImplemented:
179       description: The given path has not been implemented
180       content:
181         application/json:
182           schema:
183             $ref: '#/components/schemas/ErrorMessage'
184     Ok:
185       description: OK
186       content:
187         application/json:
188           schema:
189             type: object
190     Created:
191       description: Created
192       content: {}
193     NoContent:
194       description: No Content
195       content: {}