From 5de97885c73090933c2d257bedc79cf43dd5db8c Mon Sep 17 00:00:00 2001 From: "halil.cakal" Date: Fri, 23 Jun 2023 14:30:52 +0100 Subject: NCMP to DMI subscription event schema compliant with Cloud Events - 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 --- .../client-to-ncmp-subscription-event-1.0.0.json | 10 +- ...i-subscription-response-event-schema-1.0.0.json | 11 +- ...cmp-to-dmi-subscription-event-schema-1.0.0.json | 121 +++++++++++++++++++++ 3 files changed, 132 insertions(+), 10 deletions(-) create mode 100644 cps-ncmp-events/src/main/resources/schemas/subscription/ncmp-to-dmi-subscription-event-schema-1.0.0.json diff --git a/cps-ncmp-events/src/main/resources/schemas/subscription/client-to-ncmp-subscription-event-1.0.0.json b/cps-ncmp-events/src/main/resources/schemas/subscription/client-to-ncmp-subscription-event-1.0.0.json index 828567748..2bbd09bad 100644 --- a/cps-ncmp-events/src/main/resources/schemas/subscription/client-to-ncmp-subscription-event-1.0.0.json +++ b/cps-ncmp-events/src/main/resources/schemas/subscription/client-to-ncmp-subscription-event-1.0.0.json @@ -87,13 +87,13 @@ ], "type": "object", "additionalProperties": false - }, - "required": [ - "data" - ] + } }, "type": "object", - "additionalProperties": false + "additionalProperties": false, + "required": [ + "data" + ] } } } \ No newline at end of file diff --git a/cps-ncmp-events/src/main/resources/schemas/subscription/dmi-subscription-response-event-schema-1.0.0.json b/cps-ncmp-events/src/main/resources/schemas/subscription/dmi-subscription-response-event-schema-1.0.0.json index 808445917..ec968fd0c 100644 --- a/cps-ncmp-events/src/main/resources/schemas/subscription/dmi-subscription-response-event-schema-1.0.0.json +++ b/cps-ncmp-events/src/main/resources/schemas/subscription/dmi-subscription-response-event-schema-1.0.0.json @@ -59,11 +59,12 @@ "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 index 000000000..6e359f8ae --- /dev/null +++ b/cps-ncmp-events/src/main/resources/schemas/subscription/ncmp-to-dmi-subscription-event-schema-1.0.0.json @@ -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" + } + }, + "required": [ + "id", + "additional-properties" + ], + "additionalProperties": false + } + } +} \ No newline at end of file -- cgit 1.2.3-korg