X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-rest%2Fdocs%2Fopenapi%2Fcomponents.yaml;h=3bee633900c49785a2967d27ee7895b992d1647b;hb=8e63d7b907bf8e94eacf283af435dfd27fe823ee;hp=cf254e511eb61a696ac3e2033a69b04d070cfcb3;hpb=78062a1c3f4e303714103dfcb7d9552a0b081eb0;p=cps.git diff --git a/cps-ncmp-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml index cf254e511..3bee63390 100644 --- a/cps-ncmp-rest/docs/openapi/components.yaml +++ b/cps-ncmp-rest/docs/openapi/components.yaml @@ -1,5 +1,5 @@ # ============LICENSE_START======================================================= -# Copyright (C) 2021-2022 Nordix Foundation +# Copyright (C) 2021-2023 Nordix Foundation # Modifications Copyright (C) 2021 Pantheon.tech # Modifications Copyright (C) 2022 Bell Canada # ================================================================================ @@ -38,7 +38,7 @@ components: properties: message: type: string - example: "Bad Gateway Error Message NCMP" + example: 'Bad Gateway Error Message NCMP' dmi-response: type: object properties: @@ -86,7 +86,9 @@ components: 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 ] + upgradedCmHandles: + $ref: '#/components/schemas/UpgradedCmHandles' DmiPluginRegistrationErrorResponse: type: object properties: @@ -102,6 +104,10 @@ components: type: array items: $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' + failedUpgradeCmHandles: + type: array + items: + $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' CmHandlerRegistrationErrorResponse: type: object properties: @@ -124,14 +130,39 @@ components: type: string example: my-cm-handle cmHandleProperties: - $ref: '#/components/schemas/RestCmHandleProperties' + $ref: '#/components/schemas/RestCmHandleProperties' publicCmHandleProperties: - $ref: '#/components/schemas/RestCmHandleProperties' + $ref: '#/components/schemas/RestCmHandleProperties' + moduleSetTag: + type: string + example: "my-module-set-tag" + trustLevel: + type: string + enum: [COMPLETE, NONE] + example: "COMPLETE" + alternateId: + type: string + example: "my-alternate-id" RestCmHandleProperties: - type: object - additionalProperties: + type: object + additionalProperties: + type: string + example: my-property + #Module upgrade schema + UpgradedCmHandles: + required: + - cmHandles + type: object + properties: + cmHandles: + type: array + items: type: string - example: my-property + example: [ my-cm-handle1, my-cm-handle2, my-cm-handle3 ] + moduleSetTag: + type: string + default: "" + example: 'my-module-set-tag' #Response Schemas RestModuleReference: @@ -145,6 +176,29 @@ components: type: string example: my-module-revision + RestModuleDefinition: + type: object + title: Module definitions + properties: + moduleName: + type: string + example: my-module-name + revision: + type: string + example: 2020-09-15 + content: + type: string + example: | + module stores { + yang-version 1.1; + namespace 'org:onap:ccsdk:sample'; + prefix book-store; + revision '2020-09-15' { + description + 'Sample Model'; + } + } + CmHandleQueryParameters: type: object title: Cm Handle query parameters for executing cm handle search @@ -152,27 +206,14 @@ components: cmHandleQueryParameters: type: array items: - type: object $ref: '#/components/schemas/ConditionProperties' conditions: deprecated: true type: array items: - type: object $ref: '#/components/schemas/OldConditionProperties' description: not necessary, it is just for backward compatibility - example: - cmHandleQueryParameters: - - conditionName: hasAllModules - conditionParameters: - - { "moduleName": "my-module-1" } - - { "moduleName": "my-module-2" } - - { "moduleName": "my-module-3" } - - conditionName: hasAllProperties - conditionParameters: - - { "Color": "yellow" } - - { "Shape": "circle" } - - { "Size": "small" } + ConditionProperties: properties: conditionName: @@ -191,7 +232,6 @@ components: conditionParameters: type: array items: - type: object $ref: '#/components/schemas/ModuleNameAsJsonObject' ModuleNameAsJsonObject: properties: @@ -210,13 +250,15 @@ components: $ref: '#/components/schemas/CmHandlePublicProperties' state: $ref: '#/components/schemas/CmHandleCompositeState' + trustLevel: + $ref: '#/components/schemas/CmHandleTrustLevel' CmHandlePublicProperties: - type: array + type: object items: type: object additionalProperties: type: string - example: Book Type + example: 'Book Type' CmHandleCompositeState: type: object properties: @@ -233,16 +275,20 @@ components: example: false dataSyncState: $ref: '#/components/schemas/dataStores' + CmHandleTrustLevel: + type: string + description: Current trust level of the relevant CM handle ID. + example: COMPLETE lock-reason: type: object properties: reason: type: string - example: LOCKED_OTHER + example: LOCKED_MISBEHAVING details: type: string - example: locked due to module sync + example: locked due to failure in module sync dataStores: type: object @@ -255,7 +301,7 @@ components: sync-state: type: object properties: - state: + syncState: type: string example: NONE_REQUESTED lastSyncTime: @@ -273,24 +319,60 @@ components: properties: state: $ref: '#/components/schemas/CmHandleCompositeState' + # Data Operation Request Schemas + DataOperationRequest: + type: object + title: execute data operation for given array of operations + properties: + operations: + type: array + items: + $ref: '#/components/schemas/DataOperationDefinition' + description: contains group of data operation requests + DataOperationDefinition: + required: + - operation + - datastore + - operationId + properties: + operation: + type: string + example: 'read' + operationId: + type: string + example: '12' + datastore: + type: string + example: 'ncmp-datastore:passthrough-operational' + options: + type: string + example: '(fields=schemas/schema)' + resourceIdentifier: + type: string + example: 'parent/child' + targetIds: + type: array + items: + type: string + example: [ "da310eecdb8d44c2acc0ddaae01174b1","c748c58f8e0b438f9fd1f28370b17d47" ] examples: dataSampleRequest: - summary: Sample request - description: Sample request body - value: - test:bookstore: - bookstore-name: Chapters - categories: - - code: '01' - name: SciFi - books: + 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 - books: + - code: '02' + name: kids + books: - authors: - Philip Pullman @@ -339,22 +421,67 @@ components: - Philip Pullman dataSampleResponse: - summary: Sample response - description: Sample response for selecting 'sample 1'. - value: - bookstore: - categories: - - code: '01' - books: - - authors: - - Iain M. Banks - - Ursula K. Le Guin - name: SciFi - - code: '02' - books: - - authors: - - Philip Pullman - name: kids + summary: Sample response + description: Sample response for selecting 'sample 1'. + value: + bookstore: + categories: + - code: '01' + books: + - authors: + - Iain M. Banks + - Ursula K. Le Guin + name: SciFi + - code: '02' + books: + - authors: + - Philip Pullman + name: kids + + allCmHandleQueryParameters: + value: + cmHandleQueryParameters: + - conditionName: hasAllModules + conditionParameters: + - { "moduleName": "my-module-1" } + - { "moduleName": "my-module-2" } + - { "moduleName": "my-module-3" } + - conditionName: hasAllProperties + conditionParameters: + - { "Color": "yellow" } + - { "Shape": "circle" } + - { "Size": "small" } + - conditionName: cmHandleWithCpsPath + conditionParameters: + - { "cpsPath": "//state[@cm-handle-state='ADVISED']" } + pubPropCmHandleQueryParameters: + value: + cmHandleQueryParameters: + - conditionName: hasAllProperties + conditionParameters: + - { "Color": "yellow" } + - { "Shape": "circle" } + - { "Size": "small" } + modulesCmHandleQueryParameters: + value: + cmHandleQueryParameters: + - conditionName: hasAllModules + conditionParameters: + - { "moduleName": "my-module-1" } + - { "moduleName": "my-module-2" } + - { "moduleName": "my-module-3" } + cpsPathCmHandleStateQueryParameters: + value: + cmHandleQueryParameters: + - conditionName: cmHandleWithCpsPath + conditionParameters: + - { "cpsPath": "//state[@cm-handle-state='LOCKED']" } + cpsPathCmHandleDataSyncQueryParameters: + value: + cmHandleQueryParameters: + - conditionName: cmHandleWithCpsPath + conditionParameters: + - { "cpsPath": "//state[@data-sync-enabled='true']" } parameters: cmHandleInPath: @@ -365,6 +492,14 @@ components: schema: type: string example: my-cm-handle + dataSyncEnabled: + name: dataSyncEnabled + in: query + description: Is used to enable or disable the data synchronization flag + required: true + schema: + type: boolean + example: true xpathInQuery: name: xpath in: query @@ -383,7 +518,7 @@ components: includeDescendantsOptionInQuery: name: include-descendants in: query - description: include-descendants + description: Determines if descendants are included in response required: false schema: type: boolean @@ -391,11 +526,24 @@ components: cpsPathInQuery: name: cps-path in: query - description: cps-path + description: For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html required: false schema: type: string default: / + examples: + container cps path: + value: //bookstore + list attributes cps path: + value: //categories[@code=1] + dmiPluginIdentifierInQuery: + name: dmi-plugin-identifier + in: query + description: dmi-plugin-identifier + required: true + schema: + type: string + example: my-dmi-plugin resourceIdentifierInQuery: name: resourceIdentifier in: query @@ -444,6 +592,18 @@ components: sample 1: value: topic: my-topic-name + requiredTopicParamInQuery: + name: topic + in: query + description: mandatory topic parameter in query. + required: true + schema: + type: string + allowReserved: true + examples: + sample 1: + value: + topic: my-topic-name contentParamInHeader: name: Content-Type in: header @@ -453,6 +613,14 @@ components: type: string default: application/json example: application/yang-data+json + datastoreName: + name: datastore-name + in: path + description: The type of the requested data + required: true + schema: + type: string + example: ncmp-datastore:running responses: NotFound: @@ -482,9 +650,9 @@ components: schema: $ref: '#/components/schemas/ErrorMessage' example: - status: 403 - message: Forbidden error message - details: Forbidden error details + status: 403 + message: Forbidden error message + details: Forbidden error details BadRequest: description: Bad Request content: @@ -492,9 +660,9 @@ components: schema: $ref: '#/components/schemas/ErrorMessage' example: - status: 400 BAD_REQUEST - message: Bad request error message - details: Bad request error details + status: 400 BAD_REQUEST + message: Bad request error message + details: Bad request error details Conflict: description: Conflict content: @@ -502,9 +670,9 @@ components: schema: $ref: '#/components/schemas/ErrorMessage' example: - status: 409 CONFLICT - message: Conflict error message - details: Conflict error details + status: 409 CONFLICT + message: Conflict error message + details: Conflict error details NotImplemented: description: The given path has not been implemented content: @@ -512,9 +680,9 @@ components: schema: $ref: '#/components/schemas/ErrorMessage' example: - status: 501 - message: Not implemented error message - details: Not implemented error details + status: 501 + message: Not implemented error message + details: Not implemented error details Ok: description: OK content: @@ -523,10 +691,10 @@ components: type: object Created: description: Created - content: {} + content: { } NoContent: description: No Content - content: {} + content: { } InternalServerError: description: Internal Server Error content: