# ============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' - $ref: 'components.yml#/components/parameters/moduleSetTagParamInQuery' 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'