X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-rest%2Fdocs%2Fopenapi%2Fcomponents.yaml;h=a7955c19f967182bbfc1b01cd42043c21f24dda9;hb=deac4777c1a245be1dc4c423658523b41071b110;hp=d9bd49a09700524b5adc8103ae70e4cefff7116d;hpb=d000733344658e79e8a384e724349bdb644d7c62;p=cps.git diff --git a/cps-ncmp-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml index d9bd49a09..a7955c19f 100644 --- a/cps-ncmp-rest/docs/openapi/components.yaml +++ b/cps-ncmp-rest/docs/openapi/components.yaml @@ -1,6 +1,7 @@ # ============LICENSE_START======================================================= -# Copyright (C) 2021 Nordix Foundation +# 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. @@ -30,7 +31,23 @@ components: 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 @@ -38,27 +55,88 @@ components: 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/RestCmHandle' + $ref: '#/components/schemas/RestInputCmHandle' updatedCmHandles: type: array items: - $ref: '#/components/schemas/RestCmHandle' + $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] + 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' - RestCmHandle: + RestInputCmHandle: required: - cmHandle type: object @@ -67,12 +145,14 @@ components: type: string example: my-cm-handle cmHandleProperties: - $ref: '#/components/schemas/RestCmHandleAdditionalProperties' - RestCmHandleAdditionalProperties: + $ref: '#/components/schemas/RestCmHandleProperties' + publicCmHandleProperties: + $ref: '#/components/schemas/RestCmHandleProperties' + RestCmHandleProperties: type: object additionalProperties: type: string - example: my-additional-property + example: my-property Conditions: type: object @@ -120,7 +200,7 @@ components: type: string example: my-cm-handle-id - ModuleReference: + RestModuleReference: type: object title: Module reference details properties: @@ -131,6 +211,33 @@ components: 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 @@ -151,6 +258,50 @@ components: - authors: - Philip Pullman + dataSamplePatchRequest: + summary: Sample patch request + description: Sample patch request body + value: + ietf-restconf:yang-patch: + patch-id: patch-1 + edit: + - edit-id: edit1 + operation: merge + target: / + value: + test:bookstore: + bookstore-name: Chapters + categories: + - code: '01' + name: Science + books: + - authors: + - Author1 + - Author2 + - code: '02' + name: Arts + books: + - authors: + - Author3 + - edit-id: edit2 + operation: merge + target: / + value: + test:bookstore: + bookstore-name: Novels + categories: + - code: '03' + name: History + books: + - authors: + - Iain M. Banks + - Ursula K. Le Guin + - code: '04' + name: Fiction + books: + - authors: + - Philip Pullman + dataSampleResponse: summary: Sample response description: Sample response for selecting 'sample 1'. @@ -227,14 +378,6 @@ components: sample 3: value: resourceIdentifier: parent=shops,child=bookstore - acceptParamInHeader: - name: Accept - in: header - required: false - description: Accept parameter for response, if accept parameter is null, that means client can accept any format. - schema: - type: string - enum: [ application/json, application/yang-data+json ] optionsParamInQuery: name: options in: query @@ -253,6 +396,18 @@ components: sample 3: value: options: (depth=2,fields=book/authors) + topicParamInQuery: + name: topic + in: query + description: topic parameter in query. + required: false + schema: + type: string + allowReserved: true + examples: + sample 1: + value: + topic: my-topic-name contentParamInHeader: name: Content-Type in: header @@ -336,3 +491,24 @@ components: NoContent: description: No Content content: {} + 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 + BadGateway: + description: Bad Gateway + content: + application/json: + schema: + $ref: "#/components/schemas/DmiErrorMessage" + example: + message: "Bad Gateway Error Message NCMP" + dmi-response: + http-code: 400 + body: "Bad Request"