| 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: [] |