diff options
author | 2024-06-21 12:53:06 +0100 | |
---|---|---|
committer | 2024-06-24 16:14:08 +0100 | |
commit | 5e4eb8c3bd9886e4c3ee2089b54236a01a99566b (patch) | |
tree | 1f0870f83ea9a79c90ae34deffad8618000d144c /dmi-service/openapi/openapi.yml | |
parent | 92de0b14a9fca76ce2da53c9533c16d7c17eab5e (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.yml | 177 |
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 |