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