blob: f61d3014eafe7db7cc4d29f5b3fd0e71134401db [file] [log] [blame]
# ============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'
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 references.
description: Execute a data operation for group of CM handle (IDs or alternate 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'