diff options
Diffstat (limited to 'openapi/openapi.yml')
-rw-r--r-- | openapi/openapi.yml | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/openapi/openapi.yml b/openapi/openapi.yml new file mode 100644 index 00000000..0f43f9a5 --- /dev/null +++ b/openapi/openapi.yml @@ -0,0 +1,211 @@ +# ============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' + |