summaryrefslogtreecommitdiffstats
path: root/openapi/openapi.yml
diff options
context:
space:
mode:
Diffstat (limited to 'openapi/openapi.yml')
-rw-r--r--openapi/openapi.yml211
1 files changed, 211 insertions, 0 deletions
diff --git a/openapi/openapi.yml b/openapi/openapi.yml
new file mode 100644
index 00000000..0f43f9a5
--- /dev/null
+++ b/openapi/openapi.yml
@@ -0,0 +1,211 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 Nordix Foundation
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+openapi: 3.0.1
+info:
+ title: NCMP DMI Plugin
+ description: Adds Data Model Inventory Registry capability for ONAP
+ version: "1.0.0"
+servers:
+ - url: /dmi
+tags:
+ - name: dmi-plugin-internal
+ description: DMI plugin internal rest apis
+ - name: dmi-plugin
+ description: DMI plugin rest apis
+
+
+paths:
+ /v1/ch/{cmHandle}/modules:
+ post:
+ tags:
+ - dmi-plugin
+ summary: Get all modules for cm handle
+ description: Get all modules for given cm handle
+ operationId: getModuleReferences
+ parameters:
+ - name: cmHandle
+ in: path
+ description: The cm handle to fetch all the modules
+ required: true
+ schema:
+ type: string
+ requestBody:
+ description: Operational body
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/ModuleReferencesRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/ModuleSet'
+ example: {
+ "schemas": [
+ {
+ "moduleName": "example-identifier",
+ "revision": "example-version",
+ "namespace": "example-namespace"
+ }
+ ]
+ }
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '401':
+ $ref: 'components.yml#/components/responses/Unauthorized'
+ '403':
+ $ref: 'components.yml#/components/responses/Forbidden'
+
+ /v1/inventory/cmHandles:
+ post:
+ tags:
+ - dmi-plugin-internal
+ summary: register given list of cm handles (internal use only)
+ description: register given list of cm handles (internal use only)
+ x-api-audience: component-internal
+ operationId: registerCmHandles
+ requestBody:
+ description: list of cm handles
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/CmHandles'
+ required: true
+ responses:
+ '201':
+ $ref: 'components.yml#/components/responses/Created'
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '401':
+ $ref: 'components.yml#/components/responses/Unauthorized'
+ '403':
+ $ref: 'components.yml#/components/responses/Forbidden'
+
+ /v1/ch/{cmHandle}/moduleResources:
+ post:
+ description: Retrieve module resources for one or more modules
+ tags:
+ - dmi-plugin
+ summary: Retrieve module resources
+ operationId: retrieveModuleResources
+ parameters:
+ - $ref: 'components.yml#/components/parameters/cmHandleInPath'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/ModuleResourcesReadRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/YangResources'
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '401':
+ $ref: 'components.yml#/components/responses/Unauthorized'
+ '403':
+ $ref: 'components.yml#/components/responses/Forbidden'
+
+ /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational:
+ put:
+ tags:
+ - dmi-plugin
+ summary: Get resource data from passthrough-operational for cm handle
+ description: Get resource data from passthrough-operational for cm handle
+ operationId: getResourceDataOperationalForCmHandle
+ parameters:
+ - $ref: 'components.yml#/components/parameters/cmHandleInPath'
+ - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery'
+ - $ref: 'components.yml#/components/parameters/acceptParamInHeader'
+ - $ref: 'components.yml#/components/parameters/optionsParamInQuery'
+ requestBody:
+ description: Operational body
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/DataAccessReadRequest'
+ responses:
+ '200':
+ $ref: 'components.yml#/components/responses/Ok'
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '401':
+ $ref: 'components.yml#/components/responses/Unauthorized'
+ '403':
+ $ref: 'components.yml#/components/responses/Forbidden'
+
+ /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running:
+ put:
+ tags:
+ - dmi-plugin
+ summary: Get resource data from passthrough-running for cm handle
+ description: Get resource data from passthrough-running for cm handle
+ operationId: getResourceDataPassthroughRunningForCmHandle
+ parameters:
+ - $ref: 'components.yml#/components/parameters/cmHandleInPath'
+ - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery'
+ - $ref: 'components.yml#/components/parameters/acceptParamInHeader'
+ - $ref: 'components.yml#/components/parameters/optionsParamInQuery'
+ requestBody:
+ description: Operational body
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/DataAccessReadRequest'
+ responses:
+ '200':
+ $ref: 'components.yml#/components/responses/Ok'
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '401':
+ $ref: 'components.yml#/components/responses/Unauthorized'
+ '403':
+ $ref: 'components.yml#/components/responses/Forbidden'
+
+ post:
+ description: Write data for a cmHandle using passthrough-running
+ tags:
+ - dmi-plugin
+ summary: Write data for a cmHandle
+ operationId: writeDataByPassthroughRunningForCmHandle
+ parameters:
+ - $ref: 'components.yml#/components/parameters/cmHandleInPath'
+ - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/DataAccessWriteRequest'
+ responses:
+ '201':
+ $ref: 'components.yml#/components/responses/Created'
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '401':
+ $ref: 'components.yml#/components/responses/Unauthorized'
+ '403':
+ $ref: 'components.yml#/components/responses/Forbidden'
+