From 20e7a733d8a3657fd9932eaf8144f47777965533 Mon Sep 17 00:00:00 2001 From: lukegleeson Date: Thu, 20 Oct 2022 10:14:00 +0100 Subject: Query data NCMP-Operational with CPSpath New GET Endpoint: /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}/query?cps-path={CPSPath} Implemented error for {ncmp-datastore-name} other than operational - (Toine) Refactored and renamed (abstract) handler for better re-use Mainly by introducing a separate handler for OperationalQuery Reviewers Toine, Sourabh, Priyank Issue-ID: CPS-1002 Signed-off-by: lukegleeson Change-Id: Iaca018869d95d4ce800072431baa190050a6dad0 --- cps-ncmp-rest/docs/openapi/components.yaml | 9 ++++++-- cps-ncmp-rest/docs/openapi/ncmp.yml | 35 ++++++++++++++++++++++++++++++ cps-ncmp-rest/docs/openapi/openapi.yml | 5 ++++- 3 files changed, 46 insertions(+), 3 deletions(-) (limited to 'cps-ncmp-rest/docs/openapi') diff --git a/cps-ncmp-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml index 7ca09ceed..b4b8c8467 100644 --- a/cps-ncmp-rest/docs/openapi/components.yaml +++ b/cps-ncmp-rest/docs/openapi/components.yaml @@ -456,11 +456,16 @@ 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 @@ -527,7 +532,7 @@ components: default: application/json example: application/yang-data+json datastoreName: - name: ncmp-datastore-name + name: datastore-name in: path description: The type of the requested data required: true diff --git a/cps-ncmp-rest/docs/openapi/ncmp.yml b/cps-ncmp-rest/docs/openapi/ncmp.yml index 38db26f47..1f7cce96f 100755 --- a/cps-ncmp-rest/docs/openapi/ncmp.yml +++ b/cps-ncmp-rest/docs/openapi/ncmp.yml @@ -194,6 +194,41 @@ resourceDataForCmHandle: 502: $ref: 'components.yaml#/components/responses/BadGateway' +queryResourceDataForCmHandle: + get: + tags: + - network-cm-proxy + summary: Query resource data for a given cm handle + description: Query resource data for a given cm handle + operationId: queryResourceDataForCmHandle + parameters: + - $ref: 'components.yaml#/components/parameters/datastoreName' + - $ref: 'components.yaml#/components/parameters/cmHandleInPath' + - $ref: 'components.yaml#/components/parameters/cpsPathInQuery' + - $ref: 'components.yaml#/components/parameters/optionsParamInQuery' + - $ref: 'components.yaml#/components/parameters/topicParamInQuery' + - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery' + responses: + 200: + description: OK + content: + application/json: + schema: + type: object + examples: + dataSampleResponse: + $ref: 'components.yaml#/components/examples/dataSampleResponse' + 400: + $ref: 'components.yaml#/components/responses/BadRequest' + 401: + $ref: 'components.yaml#/components/responses/Unauthorized' + 403: + $ref: 'components.yaml#/components/responses/Forbidden' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' + 502: + $ref: 'components.yaml#/components/responses/BadGateway' + fetchModuleReferencesByCmHandle: get: description: fetch all module references (name and revision) for a given cm handle diff --git a/cps-ncmp-rest/docs/openapi/openapi.yml b/cps-ncmp-rest/docs/openapi/openapi.yml index fe0c4acfc..ee2936690 100755 --- a/cps-ncmp-rest/docs/openapi/openapi.yml +++ b/cps-ncmp-rest/docs/openapi/openapi.yml @@ -31,9 +31,12 @@ components: type: http scheme: basic paths: - /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}: + /v1/ch/{cm-handle}/data/ds/{datastore-name}: $ref: 'ncmp.yml#/resourceDataForCmHandle' + /v1/ch/{cm-handle}/data/ds/{datastore-name}/query: + $ref: 'ncmp.yml#/queryResourceDataForCmHandle' + /v1/ch/{cm-handle}/modules: $ref: 'ncmp.yml#/fetchModuleReferencesByCmHandle' -- cgit 1.2.3-korg