Raritan PX2/PX3 JSON-RPC API
EventEngine.idl
1 
7 module event {
8 
14  structure KeyValue {
15  string key;
16  string value;
17  };
18 
30  structure Event {
31 
33  enumeration Type {
35  TRIGGER
36  };
37 
39  vector<string> id;
40  boolean asserted;
41  time timeStamp;
42  vector<KeyValue> context;
43  };
44 
49  interface Engine_1_0_1 {
50 
51  /* Event registration and query */
52  /* ---------------------------- */
53 
64  structure EventDesc {
65 
67  enumeration Type {
68  NODE,
70  LEAF
71  };
72 
75  string dynNodeContext;
76  string idComp;
77  string name;
78  vector<EventDesc> entries;
79  };
80 
87  int listEventDescs(in vector<string> eventIdPrefix,
88  out vector<EventDesc> eventDescs);
89 
90 
91  /* Action definition and query */
92  /* --------------------------- */
93 
99  vector<string> listActionTypes();
100 
110  structure Action {
111  string id;
112  string name;
113  boolean isSystem;
114  string type;
115  vector<KeyValue> arguments;
116  };
117 
129  int addAction(in Action action, out string actionId);
130 
138  int modifyAction(in Action action);
139 
147  int deleteAction(in string actionId);
148 
152  vector<Action> listActions();
153 
169  int triggerAction(in string actionId, out string errMsg,
170  in vector<KeyValue> context);
171 
189  int testAction(in Action action, out string errMsg,
190  in vector<KeyValue> context);
191 
192 
193  /* Rule Definition and query */
194  /* ------------------------- */
195 
206  structure Condition {
207 
209  enumeration Op {
210  AND,
211  OR,
212  XOR
213  };
214 
216  enumeration MatchType {
219  BOTH
220  };
221 
222  boolean negate;
225  vector<string> eventId;
226  vector<Condition> conditions;
227  };
228 
242  structure Rule {
243  string id;
244  string name;
245  boolean isSystem;
246  boolean isEnabled;
247  boolean isAutoRearm;
248  boolean hasMatched;
250  vector<string> actionIds;
251  vector<KeyValue> arguments;
252  };
253 
268  int addRule(in Rule rule, out string ruleId);
269 
281  int modifyRule(in Rule rule);
282 
291  int enableRule(in string ruleId);
292 
301  int disableRule(in string ruleId);
302 
310  int deleteRule(in string ruleId);
311 
320  vector<Rule> listRules();
321 
322 
323  /* Deliver and confirm events. */
324  /* --------------------------- */
325 
332  int deliverEvent(in Event event);
333 
347  int rearmRule(in string ruleId);
348 
349  };
350 
351 }
vector< string > actionIds
List of action IDs.
Definition: EventEngine.idl:250
string idComp
Event ID component.
Definition: EventEngine.idl:76
vector< string > id
Event id vector.
Definition: EventEngine.idl:39
Op operation
Logical operation to be applied.
Definition: EventEngine.idl:223
vector< KeyValue > arguments
Action argument map.
Definition: EventEngine.idl:115
Match if the event is asserted.
Definition: EventEngine.idl:217
boolean isAutoRearm
true for auto-rearming rules
Definition: EventEngine.idl:247
Dynamic node.
Definition: EventEngine.idl:69
Type
Event descriptor type.
Definition: EventEngine.idl:67
string name
User-defined name.
Definition: EventEngine.idl:112
Type type
Event type.
Definition: EventEngine.idl:38
string id
Action ID.
Definition: EventEngine.idl:111
string value
Value.
Definition: EventEngine.idl:16
vector< Condition > conditions
List of subordinate conditions.
Definition: EventEngine.idl:226
Type
Event type.
Definition: EventEngine.idl:33
Logical And.
Definition: EventEngine.idl:210
time timeStamp
Timestamp.
Definition: EventEngine.idl:41
State event.
Definition: EventEngine.idl:34
string name
User-defined name.
Definition: EventEngine.idl:244
string id
Rule ID.
Definition: EventEngine.idl:243
Event has a type: a STATE event indicates that a boolean state has been changed, i.e.
Definition: EventEngine.idl:30
Logical Or.
Definition: EventEngine.idl:211
MatchType matchType
Match type.
Definition: EventEngine.idl:224
boolean hasMatched
true if the rule has matched since being armed
Definition: EventEngine.idl:248
boolean isSystem
true for system-defined rules
Definition: EventEngine.idl:245
string dynNodeContext
Dynamic node context.
Definition: EventEngine.idl:75
boolean negate
Negate the result.
Definition: EventEngine.idl:222
Condition is a logical combination of multiple events.
Definition: EventEngine.idl:206
Condition condition
Trigger condition.
Definition: EventEngine.idl:249
Type eventDescType
Event descriptor type.
Definition: EventEngine.idl:73
vector< EventDesc > entries
Child nodes.
Definition: EventEngine.idl:78
MatchType
the match type how to match the event assertion state
Definition: EventEngine.idl:216
vector< KeyValue > arguments
Argument map.
Definition: EventEngine.idl:251
vector< KeyValue > context
Context map.
Definition: EventEngine.idl:42
Op
logical operation to be applied over all conditions and event
Definition: EventEngine.idl:209
string name
User-defined name.
Definition: EventEngine.idl:77
Match if the event is deasserted.
Definition: EventEngine.idl:218
vector< string > eventId
Event ID.
Definition: EventEngine.idl:225
boolean isEnabled
true if the rule is enabled
Definition: EventEngine.idl:246
Helper that is used wherever key/value pairs are required.
Definition: EventEngine.idl:14
string type
Action type.
Definition: EventEngine.idl:114
Intermediate node.
Definition: EventEngine.idl:68
An event descriptor.
Definition: EventEngine.idl:64
An action is a tuple of &#39;id&#39; (unique within the scope of this event engine), &#39;name&#39; which is unique a...
Definition: EventEngine.idl:110
A Rule binds an action to a condition.
Definition: EventEngine.idl:242
There is a single event engine instance reachable by a well known reference.
Definition: EventEngine.idl:49
Event::Type eventType
Event type.
Definition: EventEngine.idl:74
boolean asserted
Assertion value.
Definition: EventEngine.idl:40
string key
Key.
Definition: EventEngine.idl:15
boolean isSystem
true for system-defined actions
Definition: EventEngine.idl:113
Event interface.
Definition: AlarmManager.idl:7