| # ============LICENSE_START======================================================= |
| # Copyright (C) 2021 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/ncmp-datastore:passthrough-operational: |
| post: |
| tags: |
| - dmi-plugin |
| summary: Get resource data from passthrough-operational for cm handle |
| description: Get resource data from passthrough-operational for cm handle. Will support read operations only. |
| operationId: dataAccessPassthroughOperational |
| parameters: |
| - $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: Operational body |
| 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/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running: |
| post: |
| tags: |
| - dmi-plugin |
| summary: Get, Create or Update request for data passthrough-running for a cm-handle |
| description: Post request to Get, Create or to Update resource data for a cm-handle. Since all requests need to include additional information in a request body HTTP Post is used for all use cases and the actual operation is defined in the request body instead. |
| operationId: dataAccessPassthroughRunning |
| parameters: |
| - $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: |
| 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 |
| '201': |
| description: Created |
| content: |
| text/plain: |
| schema: |
| type: string |
| example: my-resource |
| '204': |
| $ref: 'components.yml#/components/responses/NoContent' |
| '400': |
| $ref: 'components.yml#/components/responses/BadRequest' |
| '500': |
| $ref: 'components.yml#/components/responses/ServerError' |