Implement policy provider functions
[policy/api.git] / main / src / test / resources / policytypes / onap.policy.monitoring.cdap.tca.hi.lo.app.json
1 {
2   "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
3   "policy_types": [
4     {
5       "onap.policies.Monitoring": {
6         "derived_from": "tosca.policies.Root",
7         "description": "a base policy type for all policies that governs monitoring provisioning"
8       }
9     },
10     {
11       "onap.policy.monitoring.cdap.tca.hi.lo.app": {
12         "derived_from": "onap.policies.Monitoring",
13         "version": "1.0.0",
14         "properties": {
15           "tca_policy": {
16             "type": "map",
17             "description": "TCA Policy JSON",
18             "entry_schema": {
19               "type": "onap.datatypes.monitoring.tca_policy"
20             }
21           }
22         }
23       }
24     }
25   ],
26   "data_types": [
27     {
28       "onap.datatypes.monitoring.metricsPerEventName": {
29         "derived_from": "tosca.datatypes.Root",
30         "properties": {
31           "controlLoopSchemaType": {
32             "type": "string",
33             "required": true,
34             "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM",
35             "constraints": [
36               {
37                 "valid_values": [
38                   "VM",
39                   "VNF"
40                 ]
41               }
42             ]
43           },
44           "eventName": {
45             "type": "string",
46             "required": true,
47             "description": "Event name to which thresholds need to be applied"
48           },
49           "policyName": {
50             "type": "string",
51             "required": true,
52             "description": "TCA Policy Scope Name"
53           },
54           "policyScope": {
55             "type": "string",
56             "required": true,
57             "description": "TCA Policy Scope"
58           },
59           "policyVersion": {
60             "type": "string",
61             "required": true,
62             "description": "TCA Policy Scope Version"
63           },
64           "thresholds": {
65             "type": "list",
66             "required": true,
67             "description": "Thresholds associated with eventName",
68             "entry_schema": {
69               "type": "onap.datatypes.monitoring.thresholds"
70             }
71           }
72         }
73       }
74     },
75     {
76       "onap.datatypes.monitoring.tca_policy": {
77         "derived_from": "tosca.datatypes.Root",
78         "properties": {
79           "domain": {
80             "type": "string",
81             "required": true,
82             "description": "Domain name to which TCA needs to be applied",
83             "default": "measurementsForVfScaling",
84             "constraints": [
85               {
86                 "equal": "measurementsForVfScaling"
87               }
88             ]
89           },
90           "metricsPerEventName": {
91             "type": "list",
92             "required": true,
93             "description": "Contains eventName and threshold details that need to be applied to given eventName",
94             "entry_schema": {
95               "type": "onap.datatypes.monitoring.metricsPerEventName"
96             }
97           }
98         }
99       }
100     },
101     {
102       "onap.datatypes.monitoring.thresholds": {
103         "derived_from": "tosca.datatypes.Root",
104         "properties": {
105           "closedLoopControlName": {
106             "type": "string",
107             "required": true,
108             "description": "Closed Loop Control Name associated with the threshold"
109           },
110           "closedLoopEventStatus": {
111             "type": "string",
112             "required": true,
113             "description": "Closed Loop Event Status of the threshold",
114             "constraints": [
115               {
116                 "valid_values": [
117                   "ONSET",
118                   "ABATED"
119                 ]
120               }
121             ]
122           },
123           "direction": {
124             "type": "string",
125             "required": true,
126             "description": "Direction of the threshold",
127             "constraints": [
128               {
129                 "valid_values": [
130                   "LESS",
131                   "LESS_OR_EQUAL",
132                   "GREATER",
133                   "GREATER_OR_EQUAL",
134                   "EQUAL"
135                 ]
136               }
137             ]
138           },
139           "fieldPath": {
140             "type": "string",
141             "required": true,
142             "description": "Json field Path as per CEF message which needs to be analyzed for TCA",
143             "constraints": [
144               {
145                 "valid_values": [
146                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
147                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta",
148                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta",
149                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta",
150                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta",
151                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
152                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta",
153                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated",
154                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated",
155                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated",
156                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated",
157                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
158                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated",
159                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated",
160                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta",
161                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta",
162                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta",
163                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta",
164                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta",
165                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta",
166                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta",
167                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated",
168                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated",
169                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated",
170                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated",
171                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated",
172                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated",
173                   "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated",
174                   "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle",
175                   "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt",
176                   "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice",
177                   "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq",
178                   "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal",
179                   "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem",
180                   "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait",
181                   "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage",
182                   "$.event.measurementsForVfScalingFields.meanRequestLatency",
183                   "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered",
184                   "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached",
185                   "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured",
186                   "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree",
187                   "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed",
188                   "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value"
189                 ]
190               }
191             ]
192           },
193           "severity": {
194             "type": "string",
195             "required": true,
196             "description": "Threshold Event Severity",
197             "constraints": [
198               {
199                 "valid_values": [
200                   "CRITICAL",
201                   "MAJOR",
202                   "MINOR",
203                   "WARNING",
204                   "NORMAL"
205                 ]
206               }
207             ]
208           },
209           "thresholdValue": {
210             "type": "integer",
211             "required": true,
212             "description": "Threshold value for the field Path inside CEF message"
213           },
214           "version": {
215             "type": "string",
216             "required": true,
217             "description": "Version number associated with the threshold"
218           }
219         }
220       }
221     }
222   ]
223 }