Raritan PX2/PX3 JSON-RPC API
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
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 {
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 
172 
173  /* Rule Definition and query */
174  /* ------------------------- */
175 
186  structure Condition {
187 
189  enumeration Op {
190  AND,
191  OR,
192  XOR
193  };
194 
196  enumeration MatchType {
199  BOTH
200  };
201 
202  boolean negate;
205  vector<string> eventId;
206  vector<Condition> conditions;
207  };
208 
222  structure Rule {
223  string id;
224  string name;
225  boolean isSystem;
226  boolean isEnabled;
227  boolean isAutoRearm;
228  boolean hasMatched;
230  vector<string> actionIds;
231  vector<KeyValue> arguments;
232  };
233 
248  int addRule(in Rule rule, out string ruleId);
249 
261  int modifyRule(in Rule rule);
262 
271  int enableRule(in string ruleId);
272 
281  int disableRule(in string ruleId);
282 
290  int deleteRule(in string ruleId);
291 
300  vector<Rule> listRules();
301 
302 
303  /* Deliver and confirm events. */
304  /* --------------------------- */
305 
312  int deliverEvent(in Event event);
313 
327  int rearmRule(in string ruleId);
328 
329  };
330 
331 }
vector< KeyValue > arguments
Argument map.
Definition: EventEngine.idl:231
vector< string > id
Event id vector.
Definition: EventEngine.idl:39
An event descriptor.
Definition: EventEngine.idl:64
string id
Action ID.
Definition: EventEngine.idl:111
Condition condition
Trigger condition.
Definition: EventEngine.idl:229
An action is a tuple of 'id' (unique within the scope of this event engine), 'name' which is unique a...
Definition: EventEngine.idl:110
Logical And.
Definition: EventEngine.idl:190
Dynamic node.
Definition: EventEngine.idl:69
Op operation
Logical operation to be applied.
Definition: EventEngine.idl:203
boolean isSystem
true for system-defined actions
Definition: EventEngine.idl:113
Match if the event is asserted.
Definition: EventEngine.idl:197
string dynNodeContext
Dynamic node context.
Definition: EventEngine.idl:75
boolean isEnabled
true if the rule is enabled
Definition: EventEngine.idl:226
Type type
Event type.
Definition: EventEngine.idl:38
Intermediate node.
Definition: EventEngine.idl:68
string value
Value.
Definition: EventEngine.idl:16
Type
Event type.
Definition: EventEngine.idl:33
Type eventDescType
Event descriptor type.
Definition: EventEngine.idl:73
time timeStamp
Timestamp.
Definition: EventEngine.idl:41
vector< KeyValue > arguments
Action argument map.
Definition: EventEngine.idl:115
State event.
Definition: EventEngine.idl:34
Event has a type: a STATE event indicates that a boolean state has been changed, i.e.
Definition: EventEngine.idl:30
string type
Action type.
Definition: EventEngine.idl:114
Op
logical operation to be applied over all conditions and event
Definition: EventEngine.idl:189
Logical Or.
Definition: EventEngine.idl:191
boolean negate
Negate the result.
Definition: EventEngine.idl:202
MatchType matchType
Match type.
Definition: EventEngine.idl:204
Match if the event is deasserted.
Definition: EventEngine.idl:198
A Rule binds an action to a condition.
Definition: EventEngine.idl:222
vector< string > eventId
Event ID.
Definition: EventEngine.idl:205
There is a single event engine instance reachable by a well known reference.
Definition: EventEngine.idl:49
Condition is a logical combination of multiple events.
Definition: EventEngine.idl:186
vector< KeyValue > context
Context map.
Definition: EventEngine.idl:42
vector< string > actionIds
List of action IDs.
Definition: EventEngine.idl:230
string name
User-defined name.
Definition: EventEngine.idl:112
vector< EventDesc > entries
Child nodes.
Definition: EventEngine.idl:78
Type
Event descriptor type.
Definition: EventEngine.idl:67
boolean hasMatched
true if the rule has matched since being armed
Definition: EventEngine.idl:228
Event Type eventType
Event type.
Definition: EventEngine.idl:74
boolean isAutoRearm
true for auto-rearming rules
Definition: EventEngine.idl:227
Helper that is used wherever key/value pairs are required.
Definition: EventEngine.idl:14
MatchType
the match type how to match the event assertion state
Definition: EventEngine.idl:196
boolean isSystem
true for system-defined rules
Definition: EventEngine.idl:225
boolean asserted
Assertion value.
Definition: EventEngine.idl:40
string key
Key.
Definition: EventEngine.idl:15
string idComp
Event ID component.
Definition: EventEngine.idl:76
vector< Condition > conditions
List of subordinate conditions.
Definition: EventEngine.idl:206
string id
Rule ID.
Definition: EventEngine.idl:223
string name
User-defined name.
Definition: EventEngine.idl:224
string name
User-defined name.
Definition: EventEngine.idl:77