blob: 114c521ef18645272695d35d2cf354e7f14e0420 [file] [log] [blame]
DylanB95ESTb5a23832021-06-02 19:45:46 +01001# ============LICENSE_START=======================================================
lukegleesonb208aeb2021-07-08 16:48:15 +01002# Copyright (C) 2021 Nordix Foundation
DylanB95ESTb5a23832021-06-02 19:45:46 +01003# ================================================================================
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
lukegleesonb208aeb2021-07-08 16:48:15 +01009#
DylanB95ESTb5a23832021-06-02 19:45:46 +010010# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16# SPDX-License-Identifier: Apache-2.0
17# ============LICENSE_END=========================================================
18
19openapi: 3.0.1
20info:
21 title: NCMP DMI Plugin
22 description: Adds Data Model Inventory Registry capability for ONAP
23 version: "1.0.0"
24servers:
25 - url: //localhost:8088/
26tags:
tragait7c4a9aa2021-07-19 13:46:37 +010027 - name: dmi-plugin-internal
28 description: DMI plugin internal rest apis
29 - name: dmi-plugin
30 description: DMI plugin rest apis
31
32
DylanB95ESTb5a23832021-06-02 19:45:46 +010033paths:
tragait7c4a9aa2021-07-19 13:46:37 +010034 /v1/ch/{cmHandle}/modules :
35 post:
DylanB95ESTb5a23832021-06-02 19:45:46 +010036 tags:
37 - dmi-plugin
tragait7c4a9aa2021-07-19 13:46:37 +010038 summary: Get all modules for cm handle
39 description: Get all modules for given cm handle
40 operationId: getModulesForCmHandle
41 parameters:
42 - name: cmHandle
43 in: path
44 description: The cm handle to fetch all the modules
45 required: true
46 schema:
47 type: string
DylanB95ESTb5a23832021-06-02 19:45:46 +010048 responses:
49 '200':
tragait7c4a9aa2021-07-19 13:46:37 +010050 description: OK
51 content:
52 application/json:
53 schema:
niamhcore577efb02021-08-11 16:13:53 +010054 $ref: 'components.yml#/components/schemas/ModuleSet'
tragait7c4a9aa2021-07-19 13:46:37 +010055 example: {
niamhcore577efb02021-08-11 16:13:53 +010056 "schemas": [
57 {
58 "moduleName": "example-identifier",
59 "revision": "example-version",
60 "namespace": "example-namespace"
61 }
62 ]
63 }
DylanB95ESTb5a23832021-06-02 19:45:46 +010064 '400':
65 $ref: 'components.yml#/components/responses/BadRequest'
66 '401':
67 $ref: 'components.yml#/components/responses/Unauthorized'
68 '403':
tragait2270d762021-07-08 15:42:19 +010069 $ref: 'components.yml#/components/responses/Forbidden'
70
71 /v1/inventory/cmHandles:
72 post:
73 tags:
74 - dmi-plugin-internal
75 summary: register given list of cm handles (internal use only)
76 description: register given list of cm handles (internal use only)
77 x-api-audience: component-internal
78 operationId: registerCmHandles
79 requestBody:
80 description: list of cm handles
81 content:
82 application/json:
83 schema:
84 $ref: 'components.yml#/components/schemas/CmHandles'
85 required: true
86 responses:
87 '201':
88 $ref: 'components.yml#/components/responses/Created'
89 '400':
90 $ref: 'components.yml#/components/responses/BadRequest'
91 '401':
92 $ref: 'components.yml#/components/responses/Unauthorized'
93 '403':
niamhcore3139ece2021-07-30 16:25:16 +010094 $ref: 'components.yml#/components/responses/Forbidden'
95
96 /v1/ch/{cmHandle}/moduleResources:
97 post:
98 description: Retrieve module resources for one or more modules
99 tags:
100 - dmi-plugin
101 summary: Retrieve module resources
102 operationId: retrieveModuleResources
103 parameters:
104 - $ref: 'components.yml#/components/parameters/cmHandleInPath'
105 requestBody:
106 required: true
107 content:
108 application/json:
109 schema:
110 $ref: 'components.yml#/components/schemas/ModuleRequestParent'
111 responses:
112 '200':
113 $ref: 'components.yml#/components/responses/Ok'
114 '400':
115 $ref: 'components.yml#/components/responses/BadRequest'
116 '401':
117 $ref: 'components.yml#/components/responses/Unauthorized'
118 '403':
119 $ref: 'components.yml#/components/responses/Forbidden'
tragaite398be52021-08-06 17:01:31 +0100120
121 /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational/{resourceIdentifier}:
122 put:
123 tags:
124 - dmi-plugin
125 summary: Get resource data for cm handle
126 description: Get resource data for given cm handle
127 operationId: getResourceDataOperationalForCmHandle
128 parameters:
129 - $ref: 'components.yml#/components/parameters/cmHandleInPath'
130 - name: resourceIdentifier
131 in: path
132 description: Resource identifier to fetch the resource data
133 required: true
134 schema:
135 type: string
136 - name: accept
137 in: header
138 description: Accept parameter for response, if accept parameter is null, that means client can accept any format.
139 schema:
140 type: string
141 enum: [ application/json, application/yang-data+json ]
142 - name: fields
143 in: query
144 description: Fields parameter to filter resource
145 required: false
146 schema:
147 type: string
148 - name: depth
149 in: query
150 description: Depth parameter for response
151 required: false
152 schema:
153 type: integer
154 minimum: 1
155 requestBody:
156 description: Operational body
157 content:
158 application/json:
159 schema:
160 $ref: 'components.yml#/components/schemas/OperationalRequest'
161 responses:
162 '200':
163 $ref: 'components.yml#/components/responses/Ok'
164 '400':
165 $ref: 'components.yml#/components/responses/BadRequest'
166 '401':
167 $ref: 'components.yml#/components/responses/Unauthorized'
168 '403':
169 $ref: 'components.yml#/components/responses/Forbidden'