Set CPS Project Status to 'Mature'
[cps.git] / cps-ncmp-rest / docs / openapi / ncmp-inventory.yml
1 #  ============LICENSE_START=======================================================
2 #  Copyright (C) 2021 Bell Canada
3 #  Modifications Copyright (C) 2021-2022 Nordix Foundation
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 updateDmiRegistration:
21   post:
22     description: Register a DMI Plugin with any new, updated or removed CM Handles.
23     tags:
24       - network-cm-proxy-inventory
25     summary: DMI notifies NCMP of new CM Handles
26     operationId: updateDmiPluginRegistration
27     requestBody:
28       required: true
29       content:
30         application/json:
31           schema:
32             $ref: 'components.yaml#/components/schemas/RestDmiPluginRegistration'
33     responses:
34       200:
35         $ref: 'components.yaml#/components/responses/NoContent'
36       400:
37         $ref: 'components.yaml#/components/responses/BadRequest'
38       403:
39         $ref: 'components.yaml#/components/responses/Forbidden'
40       500:
41         description: Partial or Complete failure. The error details are provided in the response body and all supported error codes are documented in the example.
42         content:
43           application/json:
44             schema:
45               $ref: 'components.yaml#/components/schemas/DmiPluginRegistrationErrorResponse'
46             example:
47               failedCreatedCmHandles: [
48                 {
49                   "cmHandle": "my-cm-handle-01",
50                   "errorCode": "00",
51                   "errorText": "Unknown error. <error-details>"
52                 },
53                 {
54                   "cmHandle": "my-cm-handle-02",
55                   "errorCode": "01",
56                   "errorText": "cm-handle already exists"
57                 },
58                 {
59                   "cmHandle": "my-cm-handle-03",
60                   "errorCode": "03",
61                   "errorText": "cm-handle has an invalid character(s) in id"
62                 }
63               ]
64               failedUpdatedCmHandles: [
65                 {
66                   "cmHandle": "my-cm-handle-01",
67                   "errorCode": "00",
68                   "errorText": "Unknown error. <error-details>"
69                 },
70                 {
71                   "cmHandle": "my-cm-handle-02",
72                   "errorCode": "02",
73                   "errorText": "cm-handle does not exist"
74                 },
75                 {
76                   "cmHandle": "my-cm-handle-03",
77                   "errorCode": "03",
78                   "errorText": "cm-handle has an invalid character(s) in id"
79                 }
80               ]
81               failedRemovedCmHandles: [
82                 {
83                   "cmHandle": "my-cm-handle-01",
84                   "errorCode": "00",
85                   "errorText": "Unknown error. <error-details>"
86                 },
87                 {
88                   "cmHandle": "my-cm-handle-02",
89                   "errorCode": "02",
90                   "errorText": "cm-handle does not exists"
91                 },
92                 {
93                   "cmHandle": "my-cm-handle-03",
94                   "errorCode": "03",
95                   "errorText": "cm-handle has an invalid character(s) in id"
96                 }
97               ]
98
99 getAllCmHandleIdsForRegisteredDmi:
100   get:
101     description: Get all cm handle IDs for a registered DMI plugin
102     tags:
103       - network-cm-proxy-inventory
104     summary: Get all cm handle IDs for a registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin)
105     operationId: getAllCmHandleIdsForRegisteredDmi
106     parameters:
107       - $ref: 'components.yaml#/components/parameters/dmiPluginIdentifierInQuery'
108     responses:
109       200:
110         description: OK
111         content:
112           application/json:
113             schema:
114               type: array
115               items:
116                 type: string
117       403:
118         $ref: 'components.yaml#/components/responses/Forbidden'
119       500:
120         $ref: 'components.yaml#/components/responses/InternalServerError'
121
122 searchCmHandleIds:
123   post:
124     description: Query and get CMHandleIds for additional properties, public properties and registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin).
125     tags:
126       - network-cm-proxy-inventory
127     summary: Query for CM Handle IDs
128     operationId: searchCmHandleIds
129     requestBody:
130       required: true
131       content:
132         application/json:
133           schema:
134             $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
135     responses:
136       200:
137         description: OK
138         content:
139           application/json:
140             schema:
141               type: array
142               items:
143                 type: string
144       403:
145         $ref: 'components.yaml#/components/responses/Forbidden'
146       500:
147         $ref: 'components.yaml#/components/responses/InternalServerError'