blob: 83c05abb591d1cfff4dbceb9d95551633f38f6c6 [file] [log] [blame]
# ============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: 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'