blob: 101b93bf77e86750dcf266e0e1cbca4e9da10b2c [file] [log] [blame]
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 identifier for a network function, network element, subnetwork,
or any other cm object by managed Network CM Proxy
required: true
schema:
type: string
example: my-cm-handle
requestBody:
description: Operational body
content:
application/json:
schema:
$ref: '#/components/schemas/ModuleReferencesRequest'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ModuleSet'
"404":
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 404
message: Resource Not Found
details: The requested resource is not found
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 500
message: Internal Server Error
details: Internal Server Error occured
/v1/ch/{cmHandle}/moduleResources:
post:
tags:
- dmi-plugin
summary: Retrieve module resources
description: Retrieve module resources for one or more modules
operationId: retrieveModuleResources
parameters:
- name: cmHandle
in: path
description: The identifier for a network function, network element, subnetwork,
or any other cm object by managed Network CM Proxy
required: true
schema:
type: string
example: my-cm-handle
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModuleResourcesReadRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/YangResources'
"404":
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 404
message: Resource Not Found
details: The requested resource is not found
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 500
message: Internal Server Error
details: Internal Server Error occured
/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)
operationId: registerCmHandles
requestBody:
description: list of cm handles
content:
application/json:
schema:
$ref: '#/components/schemas/CmHandles'
required: true
responses:
"201":
description: Created
content:
text/plain:
schema:
type: string
example: cm-handle registered successfully
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 400
message: Bad Request
details: The provided request is not valid
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 500
message: Internal Server Error
details: Internal Server Error occured
x-api-audience: component-internal
/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:
- name: cmHandle
in: path
description: The identifier for a network function, network element, subnetwork,
or any other cm object by managed Network CM Proxy
required: true
schema:
type: string
example: my-cm-handle
- name: resourceIdentifier
in: query
description: Resource identifier to get/set the resource data
required: true
allowReserved: true
schema:
type: string
example: my-schema:my-node
- name: options
in: query
description: options parameter in query, it is mandatory to wrap key(s)=value(s)
in parenthesis'()'.
required: false
allowReserved: true
schema:
type: string
examples:
sample1:
value:
options: (key1=value1,key2=value2)
sample2:
value:
options: (key1=value1,key2=value1/value2)
sample3:
value:
options: (key1=10,key2=value2,key3=val31,val32)
- name: topic
in: query
description: topic name passed from client(NCMP).
required: false
allowReserved: true
schema:
type: string
examples:
sample1:
value: my-topic-name
requestBody:
description: Operational body
content:
application/json:
schema:
$ref: '#/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":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 400
message: Bad Request
details: The provided request is not valid
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 500
message: Internal Server Error
details: Internal Server Error occured
/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:
- name: cmHandle
in: path
description: The identifier for a network function, network element, subnetwork,
or any other cm object by managed Network CM Proxy
required: true
schema:
type: string
example: my-cm-handle
- name: resourceIdentifier
in: query
description: Resource identifier to get/set the resource data
required: true
allowReserved: true
schema:
type: string
example: my-schema:my-node
- name: options
in: query
description: options parameter in query, it is mandatory to wrap key(s)=value(s)
in parenthesis'()'.
required: false
allowReserved: true
schema:
type: string
examples:
sample1:
value:
options: (key1=value1,key2=value2)
sample2:
value:
options: (key1=value1,key2=value1/value2)
sample3:
value:
options: (key1=10,key2=value2,key3=val31,val32)
- name: topic
in: query
description: topic name passed from client(NCMP).
required: false
allowReserved: true
schema:
type: string
examples:
sample1:
value: my-topic-name
requestBody:
content:
application/json:
schema:
$ref: '#/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":
description: No Content
content: {}
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 400
message: Bad Request
details: The provided request is not valid
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 500
message: Internal Server Error
details: Internal Server Error occured
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
schemas:
ModuleReferencesRequest:
type: object
properties:
cmHandleProperties:
$ref: '#/components/schemas/cmHandleProperties'
cmHandleProperties:
type: object
additionalProperties:
type: string
example: '{"prop1":"value1","prop2":"value2"}'
ModuleSet:
type: object
properties:
schemas:
type: array
items:
$ref: '#/components/schemas/ModuleSet_schemas'
ErrorMessage:
title: Error
type: object
properties:
status:
type: string
message:
type: string
details:
type: string
ModuleResourcesReadRequest:
type: object
properties:
data:
$ref: '#/components/schemas/ModuleResourcesReadRequest_data'
cmHandleProperties:
$ref: '#/components/schemas/cmHandleProperties'
YangResources:
type: array
items:
$ref: '#/components/schemas/YangResource'
YangResource:
properties:
yangSource:
type: string
example: my-yang-source
moduleName:
type: string
example: my-module-name
revision:
type: string
example: my-revision
CmHandles:
type: object
properties:
cmHandles:
type: array
example:
- cmHandleId1
- cmHandleId2
- cmHandleId3
items:
type: string
DataAccessRequest:
type: object
properties:
operation:
type: string
example: read
enum:
- read
- create
- update
- patch
- delete
dataType:
type: string
example: my-data-type
data:
type: string
example: my-data
cmHandleProperties:
$ref: '#/components/schemas/cmHandleProperties'
requestId:
type: string
example: 3a9ce55c-e365-4dc9-8da3-a06f07cbc6d7
ModuleSet_schemas:
type: object
properties:
moduleName:
type: string
example: my-module-name
revision:
type: string
example: my-revision
namespace:
type: string
example: my-namespace
ModuleResourcesReadRequest_data_modules:
type: object
properties:
name:
type: string
example: my-name
revision:
type: string
example: my-revision
ModuleResourcesReadRequest_data:
type: object
properties:
modules:
type: array
items:
$ref: '#/components/schemas/ModuleResourcesReadRequest_data_modules'
security:
- basicAuth: []