| # ============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: getModulesForCmHandle |
| parameters: |
| - name: cmHandle |
| in: path |
| description: The cm handle to fetch all the modules |
| required: true |
| schema: |
| type: string |
| responses: |
| '200': |
| description: OK |
| content: |
| application/json: |
| schema: |
| type: string |
| example: { |
| 'schemas': { |
| 'schema': [ |
| { |
| 'identifier': 'example-identifier', |
| 'version': 'example-version', |
| 'format': 'example-format', |
| 'namespace': 'example:namespace', |
| 'location': [ |
| 'example-location' |
| ] |
| } |
| ] |
| } |
| } |
| '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/ModuleRequestParent' |
| 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-operational/{resourceIdentifier}: |
| put: |
| tags: |
| - dmi-plugin |
| summary: Get resource data for cm handle |
| description: Get resource data for given cm handle |
| operationId: getResourceDataOperationalForCmHandle |
| parameters: |
| - $ref: 'components.yml#/components/parameters/cmHandleInPath' |
| - name: resourceIdentifier |
| in: path |
| description: Resource identifier to fetch the resource data |
| required: true |
| schema: |
| type: string |
| - name: accept |
| in: header |
| description: Accept parameter for response, if accept parameter is null, that means client can accept any format. |
| schema: |
| type: string |
| enum: [ application/json, application/yang-data+json ] |
| - name: fields |
| in: query |
| description: Fields parameter to filter resource |
| required: false |
| schema: |
| type: string |
| - name: depth |
| in: query |
| description: Depth parameter for response |
| required: false |
| schema: |
| type: integer |
| minimum: 1 |
| requestBody: |
| description: Operational body |
| content: |
| application/json: |
| schema: |
| $ref: 'components.yml#/components/schemas/OperationalRequest' |
| 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' |