Create primary documentation for Jakarta release
[cps.git] / docs / api / swagger / ncmp / openapi-inventory.yaml
1 openapi: 3.0.1
2 info:
3   title: NCMP Inventory API
4   description: NCMP Inventory API
5   version: "1.0"
6 servers:
7 - url: /ncmpInventory
8 paths:
9   /v1/ch:
10     post:
11       tags:
12       - network-cm-proxy-inventory
13       summary: DMI notifies NCMP of new CM Handles
14       description: "Register a DMI Plugin with any new, updated or removed CM Handles."
15       operationId: updateDmiPluginRegistration
16       requestBody:
17         content:
18           application/json:
19             schema:
20               $ref: '#/components/schemas/RestDmiPluginRegistration'
21         required: true
22       responses:
23         "204":
24           description: No Content
25           content: {}
26         "400":
27           description: Bad Request
28           content:
29             application/json:
30               schema:
31                 $ref: '#/components/schemas/ErrorMessage'
32               example:
33                 status: 400 BAD_REQUEST
34                 message: Bad request error message
35                 details: Bad request error details
36         "401":
37           description: Unauthorized
38           content:
39             application/json:
40               schema:
41                 $ref: '#/components/schemas/ErrorMessage'
42               example:
43                 status: 401
44                 message: Unauthorized error message
45                 details: Unauthorized error details
46         "403":
47           description: Forbidden
48           content:
49             application/json:
50               schema:
51                 $ref: '#/components/schemas/ErrorMessage'
52               example:
53                 status: 403
54                 message: Forbidden error message
55                 details: Forbidden error details
56         "500":
57           description: Internal Server Error
58           content:
59             application/json:
60               schema:
61                 $ref: '#/components/schemas/ErrorMessage'
62               example:
63                 status: 500
64                 message: Internal Server Error
65                 details: Internal Server Error occurred
66 components:
67   schemas:
68     RestDmiPluginRegistration:
69       type: object
70       properties:
71         dmiPlugin:
72           type: string
73           example: my-dmi-plugin
74           default: ""
75         dmiDataPlugin:
76           type: string
77           example: my-dmi-data-plugin
78           default: ""
79         dmiModelPlugin:
80           type: string
81           example: my-dmi-model-plugin
82           default: ""
83         createdCmHandles:
84           type: array
85           items:
86             $ref: '#/components/schemas/RestInputCmHandle'
87         updatedCmHandles:
88           type: array
89           items:
90             $ref: '#/components/schemas/RestInputCmHandle'
91         removedCmHandles:
92           type: array
93           example:
94           - my-cm-handle1
95           - my-cm-handle2
96           - my-cm-handle3
97           items:
98             type: string
99     RestInputCmHandle:
100       required:
101       - cmHandle
102       type: object
103       properties:
104         cmHandle:
105           type: string
106           example: my-cm-handle
107         cmHandleProperties:
108           $ref: '#/components/schemas/RestCmHandleProperties'
109         publicCmHandleProperties:
110           $ref: '#/components/schemas/RestCmHandleProperties'
111     RestCmHandleProperties:
112       type: object
113       additionalProperties:
114         type: string
115         example: my-property
116     ErrorMessage:
117       title: Error
118       type: object
119       properties:
120         status:
121           type: string
122         message:
123           type: string
124         details:
125           type: string