summaryrefslogtreecommitdiffstats
path: root/dmi-service/openapi/openapi.yml
diff options
context:
space:
mode:
authoregernug <gerard.nugent@est.tech>2024-06-21 12:53:06 +0100
committeregernug <gerard.nugent@est.tech>2024-06-24 16:14:08 +0100
commit5e4eb8c3bd9886e4c3ee2089b54236a01a99566b (patch)
tree1f0870f83ea9a79c90ae34deffad8618000d144c /dmi-service/openapi/openapi.yml
parent92de0b14a9fca76ce2da53c9533c16d7c17eab5e (diff)
Create module structure in DMI Plugin
To push the stub in to DMI Plugin the Plugin will need to be modulized akin to CPS/NCMP. This involves creating a new module in the repo and porting the packages in src into this module Issue-ID: CPS-2284 Change-Id: Iffa4eded4e49c220891fe73c30ea3b2f12a9e66d Signed-off-by: egernug <gerard.nugent@est.tech>
Diffstat (limited to 'dmi-service/openapi/openapi.yml')
-rw-r--r--dmi-service/openapi/openapi.yml177
1 files changed, 177 insertions, 0 deletions
diff --git a/dmi-service/openapi/openapi.yml b/dmi-service/openapi/openapi.yml
new file mode 100644
index 00000000..6dbc19f3
--- /dev/null
+++ b/dmi-service/openapi/openapi.yml
@@ -0,0 +1,177 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021-2023 Nordix Foundation
+# Modifications Copyright (C) 2022 Bell Canada
+# ================================================================================
+# 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:
+ - $ref: 'components.yml#/components/parameters/cmHandleInPath'
+ 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'
+ '404':
+ $ref: 'components.yml#/components/responses/NotFound'
+ '500':
+ $ref: 'components.yml#/components/responses/ServerError'
+
+
+ /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'
+ '404':
+ $ref: 'components.yml#/components/responses/NotFound'
+ '500':
+ $ref: 'components.yml#/components/responses/ServerError'
+
+ /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':
+ description: Created
+ content:
+ text/plain:
+ schema:
+ type: string
+ example: cm-handle registered successfully
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '500':
+ $ref: 'components.yml#/components/responses/ServerError'
+
+ /v1/ch/{cmHandle}/data/ds/{datastore-name}:
+ post:
+ tags:
+ - dmi-plugin
+ summary: Get resource data from passthrough operational or running for a cm handle
+ description: Get resource data from passthrough operational or running for a cm handle
+ operationId: dataAccessPassthrough
+ parameters:
+ - $ref: 'components.yml#/components/parameters/datastoreName'
+ - $ref: 'components.yml#/components/parameters/cmHandleInPath'
+ - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery'
+ - $ref: 'components.yml#/components/parameters/optionsParamInQuery'
+ - $ref: 'components.yml#/components/parameters/topicParamInQuery'
+ requestBody:
+ description: Contains collection of cm handles with it's private properties and requestId
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/DataAccessRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ - yangSource: my-yang-source
+ moduleName: my-module-name
+ revision: my-revision
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '500':
+ $ref: 'components.yml#/components/responses/ServerError'
+
+ /v1/data:
+ post:
+ tags:
+ - dmi-plugin
+ summary: Execute a data operation for group of cm handle ids.
+ description: Execute a data operation for group of cm handle ids by supplied operation details
+ operationId: getResourceDataForCmHandleDataOperation
+ parameters:
+ - $ref: 'components.yml#/components/parameters/requiredTopicParamInQuery'
+ - $ref: 'components.yml#/components/parameters/requiredRequestIdParamInQuery'
+ requestBody:
+ description: list of operation details
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/schemas/ResourceDataOperationRequests'
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: 'components.yml#/components/responses/BadRequest'
+ '500':
+ $ref: 'components.yml#/components/responses/ServerError'
+ '501':
+ $ref: 'components.yml#/components/responses/NotImplemented' \ No newline at end of file