NCMP to DMI subscription event schema compliant with Cloud Events 34/135134/13
authorhalil.cakal <halil.cakal@est.tech>
Fri, 23 Jun 2023 13:30:52 +0000 (14:30 +0100)
committerhalil.cakal <halil.cakal@est.tech>
Thu, 29 Jun 2023 11:16:06 +0000 (12:16 +0100)
- Change avc subscription schema into cloud events format
- Remove json objects that is provided in header of cloud event
- Add CmHandle object for private properties into json schema
- Remove required field and additional properties
  from subscriptionevent and subscriptioneventresponse

Issue-ID: CPS-1737
Change-Id: I9648e5f0264ac56153ff477b1242d3c7b53b2844
Signed-off-by: halil.cakal <halil.cakal@est.tech>
cps-ncmp-events/src/main/resources/schemas/subscription/client-to-ncmp-subscription-event-1.0.0.json
cps-ncmp-events/src/main/resources/schemas/subscription/dmi-subscription-response-event-schema-1.0.0.json
cps-ncmp-events/src/main/resources/schemas/subscription/ncmp-to-dmi-subscription-event-schema-1.0.0.json [new file with mode: 0644]

index 8285677..2bbd09b 100644 (file)
           ],
           "type": "object",
           "additionalProperties": false
-        },
-        "required": [
-          "data"
-        ]
+        }
       },
       "type": "object",
-      "additionalProperties": false
+      "additionalProperties": false,
+      "required": [
+        "data"
+      ]
     }
   }
 }
\ No newline at end of file
index 8084459..ec968fd 100644 (file)
             "subscriptionStatus"
           ],
           "additionalProperties": false
-        },
-        "required": [
-          "data"
-        ]
-      }
+        }
+      },
+      "additionalProperties": false,
+      "required": [
+        "data"
+      ]
     }
   }
 }
\ No newline at end of file
diff --git a/cps-ncmp-events/src/main/resources/schemas/subscription/ncmp-to-dmi-subscription-event-schema-1.0.0.json b/cps-ncmp-events/src/main/resources/schemas/subscription/ncmp-to-dmi-subscription-event-schema-1.0.0.json
new file mode 100644 (file)
index 0000000..6e359f8
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "$id": "urn:cps:org.onap.cps.ncmp.events:subscription-event-schema:1.0.0",
+  "$ref": "#/definitions/SubscriptionEvent",
+  "definitions": {
+    "SubscriptionEvent": {
+      "description": "The payload for subscription event to be forwarded to dmi plugins.",
+      "javaType": "org.onap.cps.ncmp.events.avcsubscription1_0_0.ncmp_to_dmi.SubscriptionEvent",
+      "properties": {
+        "data": {
+          "properties": {
+            "dataType": {
+              "description": "The datatype content.",
+              "properties": {
+                "dataCategory": {
+                  "description": "The category type of the data",
+                  "type": "string"
+                },
+                "dataProvider": {
+                  "description": "The provider name of the data",
+                  "type": "string"
+                },
+                "dataspace": {
+                  "description": "The dataspace name",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "dataCategory",
+                "dataProvider",
+                "dataspace"
+              ],
+              "type": "object",
+              "additionalProperties": false
+            },
+            "predicates": {
+              "description": "Additional values to be added into the subscription",
+              "properties": {
+                "datastore": {
+                  "description": "datastore which is to be used by the subscription",
+                  "type": "string"
+                },
+                "targets": {
+                  "description": "CM Handles to be targeted by the subscription",
+                  "type": "array",
+                  "items": {
+                    "$ref": "#/definitions/CmHandle"
+                  }
+                },
+                "datastore-xpath-filter": {
+                  "description": "filter to be applied to the CM Handles through this event",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "datastore",
+                "targets",
+                "datastore-xpath-filter"
+              ],
+              "type": "object",
+              "additionalProperties": false
+            },
+            "subscription": {
+              "description": "The subscription details.",
+              "properties": {
+                "clientID": {
+                  "description": "The clientID",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The name of the subscription",
+                  "type": "string"
+                },
+                "isTagged": {
+                  "description": "optional parameter, default is no",
+                  "type": "boolean",
+                  "default": false
+                }
+              },
+              "required": [
+                "clientID",
+                "name"
+              ],
+              "type": "object",
+              "additionalProperties": false
+            }
+          },
+          "required": [
+            "dataType",
+            "predicates",
+            "subscription"
+          ],
+          "type": "object",
+          "additionalProperties": false
+        }
+      },
+      "type": "object",
+      "additionalProperties": false,
+      "required": [
+        "data"
+      ]
+    },
+    "CmHandle": {
+      "description": "The CM handle information",
+      "type": "object",
+      "properties": {
+        "id": {
+          "type": "string"
+        },
+        "additional-properties": {
+          "existingJavaType": "java.util.Map<String,String>"
+        }
+      },
+      "required": [
+        "id",
+        "additional-properties"
+      ],
+      "additionalProperties": false
+    }
+  }
+}
\ No newline at end of file