blob: a4a238c4681f6a673eef2ece0189c9494a7360d7 [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: 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'