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