| # ============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: //localhost:8088/ |
| 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' |
| |