aboutsummaryrefslogtreecommitdiffstats
path: root/policy/apex/json/bbs_policytypes.json
blob: ba62a1711ff52ecc3f64eddb3f8678e5e49948ae (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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
{
  "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
  "policy_types": {
    "onap.policies.controlloop.operational.Apex": {
      "version": "1.0.0",
      "description": "Operational Policy for Control Loops using the APEX PDP",
      "properties": {
        "engine_service": {
          "type": "onap.datatypes.policies.controlloop.operational.apex.EngineService",
          "description": "APEX Engine Service Parameters"
        },
        "inputs": {
          "type": "map",
          "description": "Inputs for handling events coming into the APEX engine",
          "entry_schema": {
            "type": "onap.datatypes.policies.controlloop.operational.apex.EventHandler"
          }
        },
        "outputs": {
          "type": "map",
          "description": "Outputs for handling events going out of the APEX engine",
          "entry_schema": {
            "type": "onap.datatypes.policies.controlloop.operational.apex.EventHandler"
          }
        },
        "environment": {
          "type": "list",
          "description": "Envioronmental parameters for the APEX engine",
          "entry_schema": {
            "type": "onap.datatypes.policies.controlloop.operational.apex.Environment"
          }
        }
      }
    }
  },
  "data_types": {
    "onap.datatypes.policies.controlloop.operational.apex.EngineService": {
      "derived_from": "tosca.datatypes.Root",
      "properties": {
        "name": {
          "type": "string",
          "description": "Specifies the engine name",
          "required": false,
          "default": "ApexEngineService"
        },
        "version": {
          "type": "string",
          "description": "Specifies the engine version in double dotted format",
          "required": false,
          "default": "1.0.0"
        },
        "id": {
          "type": "integer",
          "description": "Specifies the engine id",
          "required": true
        },
        "instance_count": {
          "type": "integer",
          "description": "Specifies the number of engine threads that should be run",
          "required": true
        },
        "deployment_port": {
          "type": "integer",
          "description": "Specifies the port to connect to for engine administration",
          "required": false,
          "default": 1
        },
        "policy_model_file_name": {
          "type": "string",
          "description": "The name of the file from which to read the APEX policy model",
          "required": false
        },
        "policy_type_impl": {
          "type": "string",
          "description": "The policy type implementation from which to read the APEX policy model",
          "required": false
        },
        "periodic_event_period": {
          "type": "string",
          "description": "The time interval in milliseconds for the periodic scanning event, 0 means \"don't scan\"",
          "required": false,
          "default": 0
        },
        "engine": {
          "type": "onap.datatypes.policies.controlloop.operational.apex.engineservice.Engine",
          "description": "The parameters for all engines in the APEX engine service",
          "required": true
        }
      }
    },
    "onap.datatypes.policies.controlloop.operational.apex.EventHandler": {
      "derived_from": "tosca.datatypes.Root",
      "properties": {
        "name": {
          "type": "string",
          "description": "Specifies the event handler name, if not specified this is set to the key name",
          "required": false
        },
        "carrier_technology": {
          "type": "onap.datatypes.policies.controlloop.operational.apex.CarrierTechnology",
          "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
          "required": true
        },
        "event_protocol": {
          "type": "onap.datatypes.policies.controlloop.operational.apex.EventProtocol",
          "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
          "required": true
        },
        "event_name": {
          "type": "string",
          "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",
          "required": false
        },
        "event_name_filter": {
          "type": "string",
          "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",
          "required": false
        },
        "synchronous_mode": {
          "type": "boolean",
          "description": "Specifies the event handler is syncronous (receive event and send response)",
          "required": false,
          "default": false
        },
        "synchronous_peer": {
          "type": "string",
          "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",
          "required": false
        },
        "synchronous_timeout": {
          "type": "integer",
          "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",
          "required": false
        },
        "requestor_mode": {
          "type": "boolean",
          "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
          "required": false,
          "default": false
        },
        "requestor_peer": {
          "type": "string",
          "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",
          "required": false
        },
        "requestor_timeout": {
          "type": "integer",
          "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
          "required": false
        }
      }
    },
    "onap.datatypes.policies.controlloop.operational.apex.CarrierTechnology": {
      "derived_from": "tosca.datatypes.Root",
      "properties": {
        "label": {
          "type": "string",
          "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
          "required": true
        },
        "plugin_parameter_class_name": {
          "type": "string",
          "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",
          "required": false
        }
      }
    },
    "onap.datatypes.policies.controlloop.operational.apex.EventProtocol": {
      "derived_from": "tosca.datatypes.Root",
      "properties": {
        "label": {
          "type": "string",
          "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
          "required": true
        },
        "event_protocol_plugin_class": {
          "type": "string",
          "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",
          "required": false
        }
      }
    },
    "onap.datatypes.policies.controlloop.operational.apex.Environment": {
      "derived_from": "tosca.datatypes.Root",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the environment variable",
          "required": true
        },
        "value": {
          "type": "string",
          "description": "The value of the environment variable",
          "required": true
        }
      }
    },
    "onap.datatypes.policies.controlloop.operational.apex.engineservice.Engine": {
      "derived_from": "tosca.datatypes.Root",
      "properties": {
        "context": {
          "type": "onap.datatypes.policies.controlloop.operational.apex.engineservice.engine.Context",
          "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
          "required": false
        },
        "executors": {
          "type": "map",
          "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
          "required": true,
          "entry_schema": {
            "description": "The plugin class path for this policy executor",
            "type": "string"
          }
        }
      }
    },
    "onap.datatypes.policies.controlloop.operational.apex.engineservice.engine.Context": {
      "derived_from": "tosca.datatypes.Root",
      "properties": {
        "distributor": {
          "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin",
          "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
          "required": false
        },
        "schemas": {
          "type": "map",
          "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
          "required": false,
          "entry_schema": {
            "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin"
          }
        },
        "locking": {
          "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin",
          "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
          "required": false
        },
        "persistence": {
          "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin",
          "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
          "required": false
        }
      }
    },
    "onap.datatypes.policies.controlloop.operational.apex.Plugin": {
      "derived_from": "tosca.datatypes.Root",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the executor such as Javascript, Jython or MVEL",
          "required": true
        },
        "plugin_class_name": {
          "type": "string",
          "description": "The class path of the plugin class for this executor"
        }
      }
    }
  }
}