blob: 2454de7efdee8f1015c3425517f453d55c1f30ce [file] [log] [blame]
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