From f549c7c144512d98f5cdb847d172193a0cad9358 Mon Sep 17 00:00:00 2001 From: Bruno Sakoto Date: Tue, 18 May 2021 16:02:30 -0400 Subject: Add json schema for events Issue-ID: CPS-348 Issue-ID: CPS-373 Change-Id: Ia0d31f6393e90cb0d5370ca6a78dfbe8817545ae Signed-off-by: Bruno Sakoto --- .../schemas/cps-data-updated-event-schema.json | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 cps-events/src/main/resources/schemas/cps-data-updated-event-schema.json (limited to 'cps-events/src/main/resources') diff --git a/cps-events/src/main/resources/schemas/cps-data-updated-event-schema.json b/cps-events/src/main/resources/schemas/cps-data-updated-event-schema.json new file mode 100644 index 000000000..de445ec72 --- /dev/null +++ b/cps-events/src/main/resources/schemas/cps-data-updated-event-schema.json @@ -0,0 +1,88 @@ +{ + + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps:data-updated-event-schema:1.1.0-SNAPSHOT", + + "$ref": "#/definitions/CpsDataUpdatedEvent", + + "definitions": { + + "CpsDataUpdatedEvent": { + "description": "The payload for CPS data updated event.", + "type": "object", + "properties": { + "schema": { + "description": "The schema, including its version, that this event adheres to.", + "type": "string", + "default": "urn:cps:org.onap.cps:data-updated-event-schema:1.1.0-SNAPSHOT", + "enum": ["urn:cps:org.onap.cps:data-updated-event-schema:1.1.0-SNAPSHOT"] + }, + "id": { + "description": "The unique id identifying the event for the specified source. Producer must ensure that source + id is unique for each distinct event.", + "type": "string" + }, + "source": { + "description": "The source of the event. Producer must ensure that source + id is unique for each distinct event.", + "type": "string", + "format": "uri" + }, + "type": { + "description": "The type of the event.", + "type": "string" + }, + "content": { + "$ref": "#/definitions/Content" + } + }, + "required": [ + "schema", + "id", + "source", + "type", + "content" + ], + "additionalProperties": false + }, + + "Content": { + "description": "The event content.", + "type": "object", + "properties": { + "observedTimestamp": { + "description": "The timestamp when the data has been observed. The expected format is 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'. Ex: '2020-12-01T00:00:00.000+0000' ", + "type": "string" + }, + "dataspaceName": { + "description": "The name of CPS Core dataspace the data belongs to.", + "type": "string" + }, + "schemaSetName": { + "description": "The name of CPS Core schema set the data adheres to.", + "type": "string" + }, + "anchorName": { + "description": "The name of CPS Core anchor the data is attached to.", + "type": "string" + }, + "data": { + "$ref": "#/definitions/Data" + } + }, + "required": [ + "timestamp", + "dataspaceName", + "schemaSetName", + "anchorName", + "data" + ], + "additionalProperties": false + }, + + "Data": { + "description": "Data as json object.", + "type": "object" + } + + } + +} \ No newline at end of file -- cgit 1.2.3-korg