From 4f4178c7af4ca5571a0813a5c79f35b11c825d35 Mon Sep 17 00:00:00 2001 From: DylanB95EST Date: Fri, 2 Jul 2021 13:30:42 +0100 Subject: Implement DMI Registration (NCMP-Side) Implementing registration of CM-Handles to NCMP from DMI CM Handles are Written to fragment tables Moved NetworkCmProxyDataServiceImplSpec.groovy as it was not in the same package as the class it was testing. Meaning it didn't cover this when it came to code coverage Have included Json structure validation also within open api Deprecating old API's along with old API Methods Issue-ID: CPS-442 Change-Id: I819b9bf65280b1d968d3b75ca5ef2f9eb5617579 Signed-off-by: DylanB95EST --- cps-ncmp-rest/docs/openapi/components.yaml | 34 ++++++++++++++++++++++-------- cps-ncmp-rest/docs/openapi/ncmproxy.yml | 29 +++++++++++++++++++++++++ cps-ncmp-rest/docs/openapi/openapi.yml | 3 +++ 3 files changed, 57 insertions(+), 9 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 26d55bf65c..9921041cf8 100644 --- a/cps-ncmp-rest/docs/openapi/components.yaml +++ b/cps-ncmp-rest/docs/openapi/components.yaml @@ -29,14 +29,33 @@ components: type: string details: type: string - MultipartFile: + + RestDmiPluginRegistration: + type: object + properties: + dmiPlugin: + type: string + example: onap-dmi-plugin + createdCmHandles: + type: array + items: + $ref: '#/components/schemas/RestCmHandle' + + RestCmHandle: required: - - file + - cmHandle + type: object properties: - multipartFile: + cmHandle: type: string - description: multipartFile - format: binary + example: cmHandle123 + cmHandleProperties: + $ref: '#/components/schemas/RestCmHandleAdditionalProperties' + RestCmHandleAdditionalProperties: + type: object + additionalProperties: + type: string + example: system-001 parameters: cmHandleInPath: @@ -124,10 +143,7 @@ components: type: object Created: description: Created - content: - text/plain: - schema: - type: string + content: {} NoContent: description: No Content content: {} diff --git a/cps-ncmp-rest/docs/openapi/ncmproxy.yml b/cps-ncmp-rest/docs/openapi/ncmproxy.yml index 6ed4f02237..3ec7bfd115 100755 --- a/cps-ncmp-rest/docs/openapi/ncmproxy.yml +++ b/cps-ncmp-rest/docs/openapi/ncmproxy.yml @@ -20,6 +20,7 @@ nodeByCmHandleAndXpath: get: description: Get a node with an option to retrieve all the children for a given cm Handle + deprecated: true tags: - network-cm-proxy summary: Get a node given a cm Handle and xpath @@ -43,6 +44,7 @@ nodeByCmHandleAndXpath: nodesByCmHandleAndCpsPath: get: description: Query nodes for the given cps path and cm Handle + deprecated: true tags: - network-cm-proxy summary: Query data nodes @@ -66,6 +68,7 @@ nodesByCmHandleAndCpsPath: nodesByCmHandleAndXpath: post: description: Create a node with descendants for the given CM Handle; top level or under existing node (requires xpath) + deprecated: true tags: - network-cm-proxy summary: Create a node with descendants @@ -93,6 +96,7 @@ nodesByCmHandleAndXpath: patch: description: Update node leaves for the given cps path and cm Handle + deprecated: true tags: - network-cm-proxy summary: Update node leaves @@ -120,6 +124,7 @@ nodesByCmHandleAndXpath: put: description: Replace a node with descendants for the given cps path and cm Handle + deprecated: true tags: - network-cm-proxy summary: Replace a node with descendants @@ -148,6 +153,7 @@ nodesByCmHandleAndXpath: listNodeByCmHandleAndXpath: post: description: Add one or more list-node child elements under existing node for the given CM Handle + deprecated: true tags: - network-cm-proxy summary: Add list-node child element(s) @@ -172,3 +178,26 @@ listNodeByCmHandleAndXpath: $ref: 'components.yaml#/components/responses/Forbidden' 404: $ref: 'components.yaml#/components/responses/NotFound' + +updateDmiRegistration: + post: + description: Register a DMI Plugin with any new CM Handles. + tags: + - network-cm-proxy + summary: DMI notifies NCMP of new CM Handles + operationId: updateDmiPluginRegistration + requestBody: + required: true + content: + application/json: + schema: + $ref: 'components.yaml#/components/schemas/RestDmiPluginRegistration' + responses: + 201: + $ref: 'components.yaml#/components/responses/Created' + 400: + $ref: 'components.yaml#/components/responses/BadRequest' + 401: + $ref: 'components.yaml#/components/responses/Unauthorized' + 403: + $ref: 'components.yaml#/components/responses/Forbidden' \ No newline at end of file diff --git a/cps-ncmp-rest/docs/openapi/openapi.yml b/cps-ncmp-rest/docs/openapi/openapi.yml index c77f9a7bc2..64de9223fb 100755 --- a/cps-ncmp-rest/docs/openapi/openapi.yml +++ b/cps-ncmp-rest/docs/openapi/openapi.yml @@ -36,3 +36,6 @@ paths: /v1/cm-handles/{cm-handle}/nodes: $ref: 'ncmproxy.yml#/nodesByCmHandleAndXpath' + + /ncmp-dmi/v1/ch: + $ref: 'ncmproxy.yml#/updateDmiRegistration' \ No newline at end of file -- cgit 1.2.3-korg