# ============LICENSE_START======================================================= # Copyright (C) 2021-2022 Nordix Foundation # Modifications Copyright (C) 2021 Pantheon.tech # Modifications Copyright (C) 2022 Bell Canada # ================================================================================ # 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========================================================= components: schemas: # Common Schemas ErrorMessage: type: object title: Error properties: status: type: string message: type: string details: type: string # DMI Server Exception Schema DmiErrorMessage: title: DMI Error Message type: object properties: message: type: string example: "Bad Gateway Error Message NCMP" dmi-response: type: object properties: http-code: type: integer example: 400 body: type: string example: Bad Request # Request 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' example: cmHandle: my-cm-handle cmHandleProperties: add-my-property: add-property update-my-property: updated-property delete-my-property: '~' publicCmHandleProperties: add-my-property: add-property update-my-property: updated-property delete-my-property: '~' removedCmHandles: type: array items: type: string example: [my-cm-handle1, my-cm-handle2, my-cm-handle3] DmiPluginRegistrationErrorResponse: type: object properties: failedCreatedCmHandles: type: array items: $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' example: [ { "cmHandle": "my-cm-handle-01", "errorCode": "01", "errorText": "cm-handle already exists" } ] failedUpdatedCmHandles: type: array items: $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' example: [ { "cmHandle": "my-cm-handle-02", "errorCode": "02", "errorText": "cm-handle does not exist" } ] failedRemovedCmHandles: type: array items: $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' example: [ { "cmHandle": "my-cm-handle-02", "errorCode": "02", "errorText": "cm-handle does not exist" } ] CmHandlerRegistrationErrorResponse: type: object properties: cmHandle: type: string example: my-cm-handle errorCode: type: string example: '01' errorText: type: string example: 'cm-handle already exists' 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 Conditions: type: object properties: conditions: $ref: '#/components/schemas/ConditionsData' ConditionsData: type: array items: type: object $ref: '#/components/schemas/ConditionProperties' ConditionProperties: properties: name: type: string example: hasAllModules conditionParameters: $ref: '#/components/schemas/ModuleNamesAsJsonArray' ModuleNamesAsJsonArray: type: array items: type: object $ref: '#/components/schemas/ModuleNameAsJsonObject' example: [my-module-1, my-module-2, my-module-3] ModuleNameAsJsonObject: properties: moduleName: type: string example: my-module #Response Schemas CmHandles: type: object properties: cmHandles: $ref: '#/components/schemas/CmHandleProperties' CmHandleProperties: type: array items: type: object $ref: '#/components/schemas/CmHandleProperty' CmHandleProperty: properties: cmHandleId: type: string example: my-cm-handle-id RestModuleReference: type: object title: Module reference details properties: moduleName: type: string example: my-module-name revision: type: string example: my-module-revision CmHandleQueryRestParameters: type: object title: Cm Handle query parameters for executing cm handle search properties: publicCmHandleProperties: type: object additionalProperties: type: string example: Book Type RestOutputCmHandle: type: object title: CM handle Details properties: cmHandle: type: string example: my-cm-handle1 publicCmHandleProperties: $ref: '#/components/schemas/CmHandlePublicProperties' CmHandlePublicProperties: type: array items: type: object additionalProperties: type: string example: Book Type examples: dataSampleRequest: summary: Sample request description: Sample request body value: test:bookstore: bookstore-name: Chapters categories: - code: '01' name: SciFi books: - authors: - Iain M. Banks - Ursula K. Le Guin - code: '02' name: kids