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 <dylan.byrne@est.tech>
diff --git a/cps-ncmp-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml
index 26d55bf..9921041 100644
--- a/cps-ncmp-rest/docs/openapi/components.yaml
+++ b/cps-ncmp-rest/docs/openapi/components.yaml
@@ -29,14 +29,33 @@
type: string
details:
type: string
- MultipartFile:
- required:
- - file
+
+ RestDmiPluginRegistration:
+ type: object
properties:
- multipartFile:
+ dmiPlugin:
type: string
- description: multipartFile
- format: binary
+ example: onap-dmi-plugin
+ createdCmHandles:
+ type: array
+ items:
+ $ref: '#/components/schemas/RestCmHandle'
+
+ RestCmHandle:
+ required:
+ - cmHandle
+ type: object
+ properties:
+ cmHandle:
+ type: string
+ example: cmHandle123
+ cmHandleProperties:
+ $ref: '#/components/schemas/RestCmHandleAdditionalProperties'
+ RestCmHandleAdditionalProperties:
+ type: object
+ additionalProperties:
+ type: string
+ example: system-001
parameters:
cmHandleInPath:
@@ -124,10 +143,7 @@
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 6ed4f02..3ec7bfd 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
$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 c77f9a7..64de922 100755
--- a/cps-ncmp-rest/docs/openapi/openapi.yml
+++ b/cps-ncmp-rest/docs/openapi/openapi.yml
@@ -36,3 +36,6 @@
/v1/cm-handles/{cm-handle}/nodes:
$ref: 'ncmproxy.yml#/nodesByCmHandleAndXpath'
+
+ /ncmp-dmi/v1/ch:
+ $ref: 'ncmproxy.yml#/updateDmiRegistration'
\ No newline at end of file