Merge "get resource data for operational passthrough"
[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
44     RestCmHandle:
45       required:
46         - cmHandle
47       type: object
48       properties:
49         cmHandle:
50           type: string
51           example: cmHandle123
52         cmHandleProperties:
53             $ref: '#/components/schemas/RestCmHandleAdditionalProperties'
54     RestCmHandleAdditionalProperties:
55         type: object
56         additionalProperties:
57             type: string
58             example: system-001
59
60   parameters:
61     cmHandleInPath:
62       name: cm-handle
63       in: path
64       description: The identifier for a network function, network element, subnetwork or any other cm object by managed Network CM Proxy
65       required: true
66       schema:
67         type: string
68     xpathInQuery:
69       name: xpath
70       in: query
71       description: xpath
72       required: false
73       schema:
74         type: string
75         default: /
76     requiredXpathInQuery:
77       name: xpath
78       in: query
79       description: xpath
80       required: true
81       schema:
82         type: string
83     includeDescendantsOptionInQuery:
84       name: include-descendants
85       in: query
86       description: include-descendants
87       required: false
88       schema:
89         type: boolean
90         default: false
91     cpsPathInQuery:
92       name: cps-path
93       in: query
94       description: cps-path
95       required: false
96       schema:
97         type: string
98         default: /
99     resourceIdentifierInPath:
100       name: resourceIdentifier
101       in: path
102       description: Resource identifier to get/set the resource data
103       required: true
104       schema:
105         type: string
106     acceptParamInHeader:
107       name: accept
108       in: header
109       required: false
110       description: Accept parameter for response, if accept parameter is null, that means client can accept any format.
111       schema:
112         type: string
113         enum: [ application/json, application/yang-data+json ]
114     fieldsParamInQuery:
115       name: fields
116       in: query
117       description: Fields parameter to filter resource
118       required: false
119       schema:
120         type: string
121     depthParamInQuery:
122       name: depth
123       in: query
124       description: Depth parameter for response
125       required: false
126       schema:
127         type: integer
128         minimum: 1
129
130
131   responses:
132     NotFound:
133       description: The specified resource was not found
134       content:
135         application/json:
136           schema:
137             $ref: '#/components/schemas/ErrorMessage'
138     Unauthorized:
139       description: Unauthorized
140       content:
141         application/json:
142           schema:
143             $ref: '#/components/schemas/ErrorMessage'
144     Forbidden:
145       description: Forbidden
146       content:
147         application/json:
148           schema:
149             $ref: '#/components/schemas/ErrorMessage'
150     BadRequest:
151       description: Bad Request
152       content:
153         application/json:
154           schema:
155             $ref: '#/components/schemas/ErrorMessage'
156     Conflict:
157       description: Conflict
158       content:
159         application/json:
160           schema:
161             $ref: '#/components/schemas/ErrorMessage'
162     NotImplemented:
163       description: The given path has not been implemented
164       content:
165         application/json:
166           schema:
167             $ref: '#/components/schemas/ErrorMessage'
168     Ok:
169       description: OK
170       content:
171         application/json:
172           schema:
173             type: object
174     Created:
175       description: Created
176       content: {}
177     NoContent:
178       description: No Content
179       content: {}