blob: ba62a1711ff52ecc3f64eddb3f8678e5e49948ae [file] [log] [blame]
a.sreekumar7d80c382019-05-07 13:36:39 +00001{
a.sreekumar29fc8352020-03-11 16:28:57 +00002 "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
ramverma14d732f2019-09-06 16:48:26 +00003 "policy_types": {
4 "onap.policies.controlloop.operational.Apex": {
5 "version": "1.0.0",
6 "description": "Operational Policy for Control Loops using the APEX PDP",
7 "properties": {
8 "engine_service": {
9 "type": "onap.datatypes.policies.controlloop.operational.apex.EngineService",
10 "description": "APEX Engine Service Parameters"
11 },
12 "inputs": {
13 "type": "map",
14 "description": "Inputs for handling events coming into the APEX engine",
15 "entry_schema": {
16 "type": "onap.datatypes.policies.controlloop.operational.apex.EventHandler"
17 }
18 },
19 "outputs": {
20 "type": "map",
21 "description": "Outputs for handling events going out of the APEX engine",
22 "entry_schema": {
23 "type": "onap.datatypes.policies.controlloop.operational.apex.EventHandler"
24 }
25 },
26 "environment": {
27 "type": "list",
28 "description": "Envioronmental parameters for the APEX engine",
29 "entry_schema": {
30 "type": "onap.datatypes.policies.controlloop.operational.apex.Environment"
a.sreekumar7d80c382019-05-07 13:36:39 +000031 }
32 }
33 }
34 }
ramverma14d732f2019-09-06 16:48:26 +000035 },
36 "data_types": {
37 "onap.datatypes.policies.controlloop.operational.apex.EngineService": {
38 "derived_from": "tosca.datatypes.Root",
39 "properties": {
40 "name": {
41 "type": "string",
42 "description": "Specifies the engine name",
43 "required": false,
44 "default": "ApexEngineService"
45 },
46 "version": {
47 "type": "string",
48 "description": "Specifies the engine version in double dotted format",
49 "required": false,
50 "default": "1.0.0"
51 },
52 "id": {
a.sreekumar20705742020-02-14 12:03:33 +000053 "type": "integer",
ramverma14d732f2019-09-06 16:48:26 +000054 "description": "Specifies the engine id",
55 "required": true
56 },
57 "instance_count": {
a.sreekumar20705742020-02-14 12:03:33 +000058 "type": "integer",
ramverma14d732f2019-09-06 16:48:26 +000059 "description": "Specifies the number of engine threads that should be run",
60 "required": true
61 },
62 "deployment_port": {
a.sreekumar20705742020-02-14 12:03:33 +000063 "type": "integer",
ramverma14d732f2019-09-06 16:48:26 +000064 "description": "Specifies the port to connect to for engine administration",
65 "required": false,
66 "default": 1
67 },
68 "policy_model_file_name": {
69 "type": "string",
70 "description": "The name of the file from which to read the APEX policy model",
a.sreekumar20705742020-02-14 12:03:33 +000071 "required": false
ramverma14d732f2019-09-06 16:48:26 +000072 },
73 "policy_type_impl": {
74 "type": "string",
75 "description": "The policy type implementation from which to read the APEX policy model",
a.sreekumar20705742020-02-14 12:03:33 +000076 "required": false
ramverma14d732f2019-09-06 16:48:26 +000077 },
78 "periodic_event_period": {
79 "type": "string",
80 "description": "The time interval in milliseconds for the periodic scanning event, 0 means \"don't scan\"",
81 "required": false,
82 "default": 0
83 },
84 "engine": {
85 "type": "onap.datatypes.policies.controlloop.operational.apex.engineservice.Engine",
86 "description": "The parameters for all engines in the APEX engine service",
87 "required": true
88 }
89 }
90 },
91 "onap.datatypes.policies.controlloop.operational.apex.EventHandler": {
92 "derived_from": "tosca.datatypes.Root",
93 "properties": {
94 "name": {
95 "type": "string",
96 "description": "Specifies the event handler name, if not specified this is set to the key name",
97 "required": false
98 },
99 "carrier_technology": {
100 "type": "onap.datatypes.policies.controlloop.operational.apex.CarrierTechnology",
101 "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
102 "required": true
103 },
104 "event_protocol": {
105 "type": "onap.datatypes.policies.controlloop.operational.apex.EventProtocol",
106 "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
107 "required": true
108 },
109 "event_name": {
110 "type": "string",
111 "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent",
112 "required": false
113 },
114 "event_name_filter": {
115 "type": "string",
116 "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through",
117 "required": false
118 },
119 "synchronous_mode": {
a.sreekumar20705742020-02-14 12:03:33 +0000120 "type": "boolean",
ramverma14d732f2019-09-06 16:48:26 +0000121 "description": "Specifies the event handler is syncronous (receive event and send response)",
122 "required": false,
123 "default": false
124 },
125 "synchronous_peer": {
126 "type": "string",
127 "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode",
a.sreekumar20705742020-02-14 12:03:33 +0000128 "required": false
ramverma14d732f2019-09-06 16:48:26 +0000129 },
130 "synchronous_timeout": {
a.sreekumar20705742020-02-14 12:03:33 +0000131 "type": "integer",
ramverma14d732f2019-09-06 16:48:26 +0000132 "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode",
a.sreekumar20705742020-02-14 12:03:33 +0000133 "required": false
ramverma14d732f2019-09-06 16:48:26 +0000134 },
135 "requestor_mode": {
a.sreekumar20705742020-02-14 12:03:33 +0000136 "type": "boolean",
ramverma14d732f2019-09-06 16:48:26 +0000137 "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
138 "required": false,
139 "default": false
140 },
141 "requestor_peer": {
142 "type": "string",
143 "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode",
a.sreekumar20705742020-02-14 12:03:33 +0000144 "required": false
ramverma14d732f2019-09-06 16:48:26 +0000145 },
146 "requestor_timeout": {
a.sreekumar20705742020-02-14 12:03:33 +0000147 "type": "integer",
ramverma14d732f2019-09-06 16:48:26 +0000148 "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
a.sreekumar20705742020-02-14 12:03:33 +0000149 "required": false
ramverma14d732f2019-09-06 16:48:26 +0000150 }
151 }
152 },
153 "onap.datatypes.policies.controlloop.operational.apex.CarrierTechnology": {
154 "derived_from": "tosca.datatypes.Root",
155 "properties": {
156 "label": {
157 "type": "string",
158 "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
159 "required": true
160 },
161 "plugin_parameter_class_name": {
162 "type": "string",
163 "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class",
164 "required": false
165 }
166 }
167 },
168 "onap.datatypes.policies.controlloop.operational.apex.EventProtocol": {
169 "derived_from": "tosca.datatypes.Root",
170 "properties": {
171 "label": {
172 "type": "string",
173 "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
174 "required": true
175 },
176 "event_protocol_plugin_class": {
177 "type": "string",
178 "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class",
179 "required": false
180 }
181 }
182 },
a.sreekumar20705742020-02-14 12:03:33 +0000183 "onap.datatypes.policies.controlloop.operational.apex.Environment": {
ramverma14d732f2019-09-06 16:48:26 +0000184 "derived_from": "tosca.datatypes.Root",
185 "properties": {
186 "name": {
187 "type": "string",
188 "description": "The name of the environment variable",
189 "required": true
190 },
191 "value": {
192 "type": "string",
193 "description": "The value of the environment variable",
194 "required": true
195 }
196 }
197 },
198 "onap.datatypes.policies.controlloop.operational.apex.engineservice.Engine": {
199 "derived_from": "tosca.datatypes.Root",
200 "properties": {
201 "context": {
202 "type": "onap.datatypes.policies.controlloop.operational.apex.engineservice.engine.Context",
203 "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
204 "required": false
205 },
206 "executors": {
207 "type": "map",
208 "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
209 "required": true,
210 "entry_schema": {
211 "description": "The plugin class path for this policy executor",
212 "type": "string"
a.sreekumar7d80c382019-05-07 13:36:39 +0000213 }
214 }
215 }
216 },
ramverma14d732f2019-09-06 16:48:26 +0000217 "onap.datatypes.policies.controlloop.operational.apex.engineservice.engine.Context": {
218 "derived_from": "tosca.datatypes.Root",
219 "properties": {
220 "distributor": {
221 "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin",
222 "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
223 "required": false
224 },
225 "schemas": {
226 "type": "map",
227 "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
228 "required": false,
229 "entry_schema": {
230 "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin"
a.sreekumar7d80c382019-05-07 13:36:39 +0000231 }
ramverma14d732f2019-09-06 16:48:26 +0000232 },
233 "locking": {
a.sreekumar20705742020-02-14 12:03:33 +0000234 "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin",
ramverma14d732f2019-09-06 16:48:26 +0000235 "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
236 "required": false
237 },
238 "persistence": {
239 "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin",
240 "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
241 "required": false
a.sreekumar7d80c382019-05-07 13:36:39 +0000242 }
243 }
244 },
ramverma14d732f2019-09-06 16:48:26 +0000245 "onap.datatypes.policies.controlloop.operational.apex.Plugin": {
246 "derived_from": "tosca.datatypes.Root",
247 "properties": {
248 "name": {
249 "type": "string",
250 "description": "The name of the executor such as Javascript, Jython or MVEL",
251 "required": true
252 },
253 "plugin_class_name": {
254 "type": "string",
255 "description": "The class path of the plugin class for this executor"
a.sreekumar7d80c382019-05-07 13:36:39 +0000256 }
257 }
258 }
ramverma14d732f2019-09-06 16:48:26 +0000259 }
a.sreekumar29fc8352020-03-11 16:28:57 +0000260}