Upgrade event schema to support delete operation
[cps.git] / cps-events / src / main / resources / schemas / cps-data-updated-event-schema.json
1 {
2
3   "$schema": "https://json-schema.org/draft/2019-09/schema",
4   "$id": "urn:cps:org.onap.cps:data-updated-event-schema:v2",
5
6   "$ref": "#/definitions/CpsDataUpdatedEvent",
7
8   "definitions": {
9
10     "CpsDataUpdatedEvent": {
11       "description": "The payload for CPS data updated event.",
12       "type": "object",
13       "properties": {
14         "schema": {
15           "description": "The schema, including its version, that this event adheres to. E.g. 'urn:cps:org.onap.cps:data-updated-event-schema:v99'.",
16           "type": "string",
17           "format": "uri"
18         },
19         "id": {
20           "description": "The unique id identifying the event for the specified source. Producer must ensure that source + id is unique for each distinct event.",
21           "type": "string"
22         },
23         "source": {
24           "description": "The source of the event. Producer must ensure that source + id is unique for each distinct event.",
25           "type": "string",
26           "format": "uri"
27         },
28         "type": {
29           "description": "The type of the event.",
30           "type": "string"
31         },
32         "content": {
33           "$ref": "#/definitions/Content"
34         }
35       },
36       "required": [
37         "schema",
38         "id",
39         "source",
40         "type",
41         "content"
42       ],
43       "additionalProperties": true
44     },
45
46     "Content": {
47       "description": "The event content.",
48       "type": "object",
49       "properties": {
50         "observedTimestamp": {
51           "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'  ",
52           "type": "string"
53         },
54         "dataspaceName": {
55           "description": "The name of CPS Core dataspace the data belongs to.",
56           "type": "string"
57         },
58         "schemaSetName": {
59           "description": "The name of CPS Core schema set the data adheres to.",
60           "type": "string"
61         },
62         "anchorName": {
63           "description": "The name of CPS Core anchor the data is attached to.",
64           "type": "string"
65         },
66         "operation": {
67           "description": "The operation on the data",
68           "type": "string",
69           "enum": ["CREATE", "UPDATE", "DELETE"]
70         },
71         "data": {
72           "$ref": "#/definitions/Data"
73         }
74       },
75       "required": [
76         "observedTimestamp",
77         "dataspaceName",
78         "schemaSetName",
79         "anchorName"
80       ],
81       "additionalProperties": true
82     },
83
84     "Data": {
85       "description": "Data as json object.",
86       "type": "object"
87     }
88
89   }
90
91 }