NcmpEvent creation for ModuleSync 65/129365/9
authormpriyank <priyank.maheshwari@est.tech>
Wed, 25 May 2022 11:25:48 +0000 (12:25 +0100)
committermpriyank <priyank.maheshwari@est.tech>
Wed, 1 Jun 2022 14:56:31 +0000 (15:56 +0100)
- NcmpEvent schema creation which will be published when module sync is
  completed
- Added cmHandleId in the event payload and made eventCorrelationId as
  optional
- Upcoming : NcmpEvent publisher code and mapping of the events

Issue-ID: CPS-1036
Change-Id: I7731e6e6a4a8f718967ce68cc6ae0e411eb8c12b
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
cps-bom/pom.xml
cps-ncmp-events/src/main/resources/schemas/ncmp-event-schema-v1.json [new file with mode: 0644]

index f2fcb6e..9b864b0 100644 (file)
@@ -2,7 +2,7 @@
 <!--
   ============LICENSE_START=======================================================
   Copyright (C) 2020 Pantheon.tech
-  Modifications Copyright (C) 2021 - 2022 Nordix Foundation
+  Modifications Copyright (C) 2021-2022 Nordix Foundation
   Modifications Copyright (C) 2021 Bell Canada.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/cps-ncmp-events/src/main/resources/schemas/ncmp-event-schema-v1.json b/cps-ncmp-events/src/main/resources/schemas/ncmp-event-schema-v1.json
new file mode 100644 (file)
index 0000000..84fc12e
--- /dev/null
@@ -0,0 +1,87 @@
+{
+
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "$id": "urn:cps:org.onap.ncmp.cmhandle.lcm-event:v1",
+
+  "$ref": "#/definitions/NcmpEvent",
+
+  "definitions": {
+
+    "NcmpEvent": {
+      "description": "The payload for NCMP event.",
+      "type": "object",
+      "javaType" : "org.onap.ncmp.cmhandle.lcm.event.NcmpEvent",
+      "properties": {
+        "eventId": {
+          "description": "The unique id identifying the event for the specified source.",
+          "type": "string"
+        },
+        "eventCorrelationId": {
+          "description": "The id identifying the event for the specified source.",
+          "type": "string"
+        },
+        "eventTime": {
+          "description": "The timestamp when the data has been observed.",
+          "type": "string"
+        },
+        "eventSource": {
+          "description": "The source of the event.",
+          "type": "string",
+          "format": "uri"
+        },
+        "eventType": {
+          "description": "The type of the event.",
+          "type": "string"
+        },
+        "eventSchema": {
+          "description": "The schema, including its version, that this event adheres to.",
+          "type": "string",
+          "format": "uri"
+        },
+        "event": {
+          "$ref": "#/definitions/Event"
+        }
+      },
+      "required": [
+        "eventId",
+        "eventTime",
+        "eventSource",
+        "eventType",
+        "eventSchema",
+        "event"
+      ],
+      "additionalProperties": false
+    },
+
+    "Event": {
+      "description": "The Payload of an event.",
+      "type": "object",
+      "properties": {
+        "cmHandleId": {
+          "description": "cmHandle id",
+          "type": "string"
+        },
+        "operation": {
+          "description": "The name of the Operation that triggered this event.",
+          "type": "string",
+          "enum": ["CREATE", "UPDATE", "DELETE"]
+        },
+        "cmhandle-state": {
+          "description": "State of cmHandle.",
+          "type": "string",
+          "enum": ["ADVISED", "READY", "LOCKED"]
+        },
+        "cmhandle-properties": {
+          "description": "cmHandle properties as json object.",
+          "type": "object",
+          "existingJavaType": "java.util.List<java.util.Map<String,String>>",
+          "additionalProperties": false
+        }
+      },
+      "required": [
+        "operation"
+      ],
+      "additionalProperties": false
+    }
+  }
+}