| openapi: 3.0.1 |
| info: |
| title: NCMP Inventory API |
| description: NCMP Inventory API |
| version: "1.0" |
| servers: |
| - url: /ncmpInventory |
| security: |
| - basicAuth: [] |
| paths: |
| /v1/ch: |
| post: |
| tags: |
| - network-cm-proxy-inventory |
| summary: DMI notifies NCMP of new CM Handles |
| description: "Register a DMI Plugin with any new, updated or removed CM Handles." |
| operationId: updateDmiPluginRegistration |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/RestDmiPluginRegistration' |
| required: true |
| responses: |
| "200": |
| description: No Content |
| content: {} |
| "400": |
| description: Bad Request |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 400 BAD_REQUEST |
| message: Bad request error message |
| details: Bad request error details |
| "401": |
| description: Unauthorized |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 401 |
| message: Unauthorized error message |
| details: Unauthorized error details |
| "403": |
| description: Forbidden |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 403 |
| message: Forbidden error message |
| details: Forbidden error details |
| "500": |
| description: Partial or Complete failure. The error details are provided |
| in the response body and all supported error codes are documented in the |
| example. |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/DmiPluginRegistrationErrorResponse' |
| example: |
| failedCreatedCmHandles: |
| - cmHandle: my-cm-handle-01 |
| errorCode: "00" |
| errorText: Unknown error. <error-details> |
| - cmHandle: my-cm-handle-02 |
| errorCode: "01" |
| errorText: cm-handle already exists |
| - cmHandle: my-cm-handle-03 |
| errorCode: "03" |
| errorText: cm-handle has an invalid character(s) in id |
| failedUpdatedCmHandles: |
| - cmHandle: my-cm-handle-01 |
| errorCode: "00" |
| errorText: Unknown error. <error-details> |
| - cmHandle: my-cm-handle-02 |
| errorCode: "02" |
| errorText: cm-handle does not exist |
| - cmHandle: my-cm-handle-03 |
| errorCode: "03" |
| errorText: cm-handle has an invalid character(s) in id |
| failedRemovedCmHandles: |
| - cmHandle: my-cm-handle-01 |
| errorCode: "00" |
| errorText: Unknown error. <error-details> |
| - cmHandle: my-cm-handle-02 |
| errorCode: "02" |
| errorText: cm-handle does not exists |
| - cmHandle: my-cm-handle-03 |
| errorCode: "03" |
| errorText: cm-handle has an invalid character(s) in id |
| /v1/ch/cmHandles: |
| get: |
| tags: |
| - network-cm-proxy-inventory |
| summary: "Get all cm handle IDs for a registered DMI plugin (DMI plugin, DMI\ |
| \ data plugin, DMI model plugin)" |
| description: Get all cm handle IDs for a registered DMI plugin |
| operationId: getAllCmHandleIdsForRegisteredDmi |
| parameters: |
| - name: dmi-plugin-identifier |
| in: query |
| description: dmi-plugin-identifier |
| required: true |
| schema: |
| type: string |
| example: my-dmi-plugin |
| responses: |
| "200": |
| description: OK |
| content: |
| application/json: |
| schema: |
| type: array |
| items: |
| type: string |
| "401": |
| description: Unauthorized |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 401 |
| message: Unauthorized error message |
| details: Unauthorized error details |
| "403": |
| description: Forbidden |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 403 |
| message: Forbidden error message |
| details: Forbidden error details |
| "500": |
| description: Internal Server Error |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 500 |
| message: Internal Server Error |
| details: Internal Server Error occurred |
| /v1/ch/searches: |
| post: |
| tags: |
| - network-cm-proxy-inventory |
| summary: Query for CM Handle IDs |
| description: "Query and get CMHandleIds for additional properties, public properties\ |
| \ and registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin)." |
| operationId: searchCmHandleIds |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/CmHandleQueryParameters' |
| required: true |
| responses: |
| "200": |
| description: OK |
| content: |
| application/json: |
| schema: |
| type: array |
| items: |
| type: string |
| "401": |
| description: Unauthorized |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 401 |
| message: Unauthorized error message |
| details: Unauthorized error details |
| "403": |
| description: Forbidden |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 403 |
| message: Forbidden error message |
| details: Forbidden error details |
| "500": |
| description: Internal Server Error |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 500 |
| message: Internal Server Error |
| details: Internal Server Error occurred |
| components: |
| schemas: |
| RestDmiPluginRegistration: |
| type: object |
| properties: |
| dmiPlugin: |
| type: string |
| example: my-dmi-plugin |
| default: "" |
| dmiDataPlugin: |
| type: string |
| example: my-dmi-data-plugin |
| default: "" |
| dmiModelPlugin: |
| type: string |
| example: my-dmi-model-plugin |
| default: "" |
| createdCmHandles: |
| type: array |
| items: |
| $ref: '#/components/schemas/RestInputCmHandle' |
| updatedCmHandles: |
| type: array |
| items: |
| $ref: '#/components/schemas/RestInputCmHandle' |
| removedCmHandles: |
| type: array |
| example: |
| - my-cm-handle1 |
| - my-cm-handle2 |
| - my-cm-handle3 |
| items: |
| type: string |
| RestInputCmHandle: |
| required: |
| - cmHandle |
| type: object |
| properties: |
| cmHandle: |
| type: string |
| example: my-cm-handle |
| cmHandleProperties: |
| $ref: '#/components/schemas/RestCmHandleProperties' |
| publicCmHandleProperties: |
| $ref: '#/components/schemas/RestCmHandleProperties' |
| RestCmHandleProperties: |
| type: object |
| additionalProperties: |
| type: string |
| example: my-property |
| ErrorMessage: |
| title: Error |
| type: object |
| properties: |
| status: |
| type: string |
| message: |
| type: string |
| details: |
| type: string |
| DmiPluginRegistrationErrorResponse: |
| type: object |
| properties: |
| failedCreatedCmHandles: |
| type: array |
| items: |
| $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' |
| failedUpdatedCmHandles: |
| type: array |
| items: |
| $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' |
| failedRemovedCmHandles: |
| type: array |
| items: |
| $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' |
| CmHandlerRegistrationErrorResponse: |
| type: object |
| properties: |
| cmHandle: |
| type: string |
| example: my-cm-handle |
| errorCode: |
| type: string |
| example: "00" |
| errorText: |
| type: string |
| example: Unknown error. <error-details> |
| CmHandleQueryParameters: |
| title: Cm Handle query parameters for executing cm handle search |
| type: object |
| properties: |
| cmHandleQueryParameters: |
| type: array |
| items: |
| $ref: '#/components/schemas/ConditionProperties' |
| conditions: |
| type: array |
| description: "not necessary, it is just for backward compatibility" |
| deprecated: true |
| items: |
| $ref: '#/components/schemas/OldConditionProperties' |
| ConditionProperties: |
| properties: |
| conditionName: |
| type: string |
| conditionParameters: |
| type: array |
| items: |
| type: object |
| additionalProperties: |
| type: string |
| OldConditionProperties: |
| properties: |
| name: |
| type: string |
| conditionParameters: |
| type: array |
| items: |
| $ref: '#/components/schemas/ModuleNameAsJsonObject' |
| deprecated: true |
| ModuleNameAsJsonObject: |
| properties: |
| moduleName: |
| type: string |
| example: my-module |
| responses: |
| NoContent: |
| description: No Content |
| content: {} |
| BadRequest: |
| description: Bad Request |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 400 BAD_REQUEST |
| message: Bad request error message |
| details: Bad request error details |
| Unauthorized: |
| description: Unauthorized |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 401 |
| message: Unauthorized error message |
| details: Unauthorized error details |
| Forbidden: |
| description: Forbidden |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 403 |
| message: Forbidden error message |
| details: Forbidden error details |
| InternalServerError: |
| description: Internal Server Error |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| example: |
| status: 500 |
| message: Internal Server Error |
| details: Internal Server Error occurred |
| parameters: |
| dmiPluginIdentifierInQuery: |
| name: dmi-plugin-identifier |
| in: query |
| description: dmi-plugin-identifier |
| required: true |
| schema: |
| type: string |
| example: my-dmi-plugin |
| securitySchemes: |
| basicAuth: |
| type: http |
| scheme: basic |