summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-events/src/main/resources/schemas/cmsubscriptionmerge/cm-subscription-dmi-in-event-schema-1.0.0.json
blob: 4d4d504ec875aaa1aeb78c2d813571cb31af781d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "urn:cps:org.onap.cps.ncmp.events:cm-subscription-dmi-in-event-schema:1.0.0",
  "$ref": "#/definitions/CmSubscriptionDmiInEvent",
  "definitions": {
    "CmSubscriptionDmiInEvent": {
      "description": "The payload for cm subscription merge event incoming message from NCMP.",
      "type": "object",
      "javaType": "org.onap.cps.ncmp.events.cmsubscription_merge1_0_0.ncmp_to_dmi.CmSubscriptionDmiInEvent",
      "additionalProperties": false,
      "properties": {
        "data": {
          "$ref": "#/definitions/data"
        }
      },
      "required": [
        "data"
      ]
    },
    "data": {
      "type": "object",
      "description": "Information about the targets and subscription",
      "additionalProperties": false,
      "properties": {
        "cmhandles": {
          "type": "array",
          "items": {
            "type": "object",
            "description": "Details for the target cmhandles",
            "additionalProperties": false,
            "properties": {
              "cmhandleId": {
                "type": "string"
              },
              "private-properties": {
                "type": "object",
                "existingJavaType": "java.util.Map<String,String>",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "predicates": {
          "type": "array",
          "description": "Additional values to be added into the subscription",
          "items": {
            "type": "object",
            "properties": {
              "targetFilter": {
                "description": "CM Handles to be targeted by the subscription",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "scopeFilter": {
                "type": "object",
                "properties": {
                  "datastore": {
                    "description": "Datastore which is to be used by the subscription",
                    "type": "string",
                    "enum": ["ncmp-datastore:passthrough-operational", "ncmp-datastore:passthrough-running"]
                  },
                  "xpath-filter": {
                    "description": "Filter to be applied to the CM Handles through this event",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false,
                "required": [
                  "xpath-filter"
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "targetFilter"
            ]
          },
          "additionalProperties": false
        }
      },
      "required": [
        "cmhandles",
        "predicates"
      ]
    }
  }
}