Prevent adding same type of Op policy
[clamp.git] / src / test / resources / tosca / policy-yaml-to-json.json
1 {
2         "schema": {
3                 "uniqueItems": "true",
4                 "format": "tabs-top",
5                 "type": "array",
6                 "title": "TCA Policy JSON",
7                 "items": {
8                         "type": "object",
9                         "title": "TCA Policy JSON",
10                         "required": [
11                                 "domain",
12                                 "metricsPerEventName"
13                         ],
14                         "properties": {
15                                 "domain": {
16                                         "propertyOrder": 1001,
17                                         "default": "measurementsForVfScaling",
18                                         "title": "Domain name to which TCA needs to be applied",
19                                         "type": "string"
20                                 },
21                                 "metricsPerEventName": {
22                                         "propertyOrder": 1002,
23                                         "uniqueItems": "true",
24                                         "format": "tabs-top",
25                                         "title": "Contains eventName and threshold details that need to be applied to given eventName",
26                                         "type": "array",
27                                         "items": {
28                                                 "type": "object",
29                                                 "required": [
30                                                         "controlLoopSchemaType",
31                                                         "eventName",
32                                                         "policyName",
33                                                         "policyScope",
34                                                         "policyVersion",
35                                                         "thresholds"
36                                                 ],
37                                                 "properties": {
38                                                         "policyVersion": {
39                                                                 "propertyOrder": 1007,
40                                                                 "title": "TCA Policy Scope Version",
41                                                                 "type": "string"
42                                                         },
43                                                         "thresholds": {
44                                                                 "propertyOrder": 1008,
45                                                                 "uniqueItems": "true",
46                                                                 "format": "tabs-top",
47                                                                 "title": "Thresholds associated with eventName",
48                                                                 "type": "array",
49                                                                 "items": {
50                                                                         "type": "object",
51                                                                         "required": [
52                                                                                 "closedLoopControlName",
53                                                                                 "closedLoopEventStatus",
54                                                                                 "direction",
55                                                                                 "fieldPath",
56                                                                                 "severity",
57                                                                                 "thresholdValue",
58                                                                                 "version"
59                                                                         ],
60                                                                         "properties": {
61                                                                                 "severity": {
62                                                                                         "propertyOrder": 1013,
63                                                                                         "title": "Threshold Event Severity",
64                                                                                         "type": "string",
65                                                                                         "enum": [
66                                                                                                 "CRITICAL",
67                                                                                                 "MAJOR",
68                                                                                                 "MINOR",
69                                                                                                 "WARNING",
70                                                                                                 "NORMAL"
71                                                                                         ]
72                                                                                 },
73                                                                                 "fieldPath": {
74                                                                                         "propertyOrder": 1012,
75                                                                                         "title": "Json field Path as per CEF message which needs to be analyzed for TCA",
76                                                                                         "type": "string",
77                                                                                         "enum": [
78                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
79                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta",
80                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta",
81                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta",
82                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta",
83                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
84                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta",
85                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated",
86                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated",
87                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated",
88                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated",
89                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
90                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated",
91                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated",
92                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta",
93                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta",
94                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta",
95                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta",
96                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta",
97                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta",
98                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta",
99                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated",
100                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated",
101                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated",
102                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated",
103                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated",
104                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated",
105                                                                                                 "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated",
106                                                                                                 "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle",
107                                                                                                 "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt",
108                                                                                                 "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice",
109                                                                                                 "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq",
110                                                                                                 "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal",
111                                                                                                 "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem",
112                                                                                                 "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait",
113                                                                                                 "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage",
114                                                                                                 "$.event.measurementsForVfScalingFields.meanRequestLatency",
115                                                                                                 "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered",
116                                                                                                 "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached",
117                                                                                                 "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured",
118                                                                                                 "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree",
119                                                                                                 "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed",
120                                                                                                 "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value"
121                                                                                         ]
122                                                                                 },
123                                                                                 "thresholdValue": {
124                                                                                         "propertyOrder": 1014,
125                                                                                         "title": "Threshold value for the field Path inside CEF message",
126                                                                                         "type": "integer"
127                                                                                 },
128                                                                                 "closedLoopEventStatus": {
129                                                                                         "propertyOrder": 1010,
130                                                                                         "title": "Closed Loop Event Status of the threshold",
131                                                                                         "type": "string",
132                                                                                         "enum": [
133                                                                                                 "ONSET",
134                                                                                                 "ABATED"
135                                                                                         ]
136                                                                                 },
137                                                                                 "closedLoopControlName": {
138                                                                                         "propertyOrder": 1009,
139                                                                                         "title": "Closed Loop Control Name associated with the threshold",
140                                                                                         "type": "string"
141                                                                                 },
142                                                                                 "version": {
143                                                                                         "propertyOrder": 1015,
144                                                                                         "title": "Version number associated with the threshold",
145                                                                                         "type": "string"
146                                                                                 },
147                                                                                 "direction": {
148                                                                                         "propertyOrder": 1011,
149                                                                                         "title": "Direction of the threshold",
150                                                                                         "type": "string",
151                                                                                         "enum": [
152                                                                                                 "LESS",
153                                                                                                 "LESS_OR_EQUAL",
154                                                                                                 "GREATER",
155                                                                                                 "GREATER_OR_EQUAL",
156                                                                                                 "EQUAL"
157                                                                                         ]
158                                                                                 }
159                                                                         }
160                                                                 }
161                                                         },
162                                                         "policyName": {
163                                                                 "propertyOrder": 1005,
164                                                                 "title": "TCA Policy Scope Name",
165                                                                 "type": "string"
166                                                         },
167                                                         "controlLoopSchemaType": {
168                                                                 "propertyOrder": 1003,
169                                                                 "title": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM",
170                                                                 "type": "string",
171                                                                 "enum": [
172                                                                         "VM",
173                                                                         "VNF"
174                                                                 ]
175                                                         },
176                                                         "policyScope": {
177                                                                 "propertyOrder": 1006,
178                                                                 "title": "TCA Policy Scope",
179                                                                 "type": "string"
180                                                         },
181                                                         "eventName": {
182                                                                 "propertyOrder": 1004,
183                                                                 "title": "Event name to which thresholds need to be applied",
184                                                                 "type": "string"
185                                                         }
186                                                 }
187                                         }
188                                 }
189                         }
190                 }
191         }
192 }