blob: 6e0e8ae686a60a7fe22666a628a22902ac88a27b [file] [log] [blame]
# ============LICENSE_START=======================================================
# Copyright (C) 2021 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/ncmp-datastore:passthrough-operational:
post:
tags:
- dmi-plugin
summary: Get resource data from passthrough-operational for cm handle
description: Get resource data from passthrough-operational for cm handle. Will support read operations only.
operationId: dataAccessPassthroughOperational
parameters:
- $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: Operational body
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/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running:
post:
tags:
- dmi-plugin
summary: Get, Create or Update request for data passthrough-running for a cm-handle
description: Post request to Get, Create or to Update resource data for a cm-handle. Since all requests need to include additional information in a request body HTTP Post is used for all use cases and the actual operation is defined in the request body instead.
operationId: dataAccessPassthroughRunning
parameters:
- $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:
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
'201':
description: Created
content:
text/plain:
schema:
type: string
example: my-resource
'204':
$ref: 'components.yml#/components/responses/NoContent'
'400':
$ref: 'components.yml#/components/responses/BadRequest'
'500':
$ref: 'components.yml#/components/responses/ServerError'