Merge "Remove CmHandle in DMI-Registry"
[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
138
139   responses:
140     NotFound:
141       description: The specified resource was not found
142       content:
143         application/json:
144           schema:
145             $ref: '#/components/schemas/ErrorMessage'
146     Unauthorized:
147       description: Unauthorized
148       content:
149         application/json:
150           schema:
151             $ref: '#/components/schemas/ErrorMessage'
152     Forbidden:
153       description: Forbidden
154       content:
155         application/json:
156           schema:
157             $ref: '#/components/schemas/ErrorMessage'
158     BadRequest:
159       description: Bad Request
160       content:
161         application/json:
162           schema:
163             $ref: '#/components/schemas/ErrorMessage'
164     Conflict:
165       description: Conflict
166       content:
167         application/json:
168           schema:
169             $ref: '#/components/schemas/ErrorMessage'
170     NotImplemented:
171       description: The given path has not been implemented
172       content:
173         application/json:
174           schema:
175             $ref: '#/components/schemas/ErrorMessage'
176     Ok:
177       description: OK
178       content:
179         application/json:
180           schema:
181             type: object
182     Created:
183       description: Created
184       content: {}
185     NoContent:
186       description: No Content
187       content: {}