Merge "Implement DMI Registration (NCMP-Side)"
[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
100
101   responses:
102     NotFound:
103       description: The specified resource was not found
104       content:
105         application/json:
106           schema:
107             $ref: '#/components/schemas/ErrorMessage'
108     Unauthorized:
109       description: Unauthorized
110       content:
111         application/json:
112           schema:
113             $ref: '#/components/schemas/ErrorMessage'
114     Forbidden:
115       description: Forbidden
116       content:
117         application/json:
118           schema:
119             $ref: '#/components/schemas/ErrorMessage'
120     BadRequest:
121       description: Bad Request
122       content:
123         application/json:
124           schema:
125             $ref: '#/components/schemas/ErrorMessage'
126     Conflict:
127       description: Conflict
128       content:
129         application/json:
130           schema:
131             $ref: '#/components/schemas/ErrorMessage'
132     NotImplemented:
133       description: The given path has not been implemented
134       content:
135         application/json:
136           schema:
137             $ref: '#/components/schemas/ErrorMessage'
138     Ok:
139       description: OK
140       content:
141         application/json:
142           schema:
143             type: object
144     Created:
145       description: Created
146       content: {}
147     NoContent:
148       description: No Content
149       content: {}