* or implied, of GRNET S.A.
*/
-@namespace("gr.grnet.aquarium.message.avro")
+@namespace("gr.grnet.aquarium.message.avro.gen")
protocol AquariumEvents {
- enum EventVersion {
- VERSION_1_0
- }
-
- record AnyValue {
- union {
- null,
- int,
- long,
- boolean,
- double,
- bytes,
- string
- } anyValue;
- }
+ import idl "aquarium-anyvalue.avdl";
- record ResourceEvent {
- string @aliases(["ID"]) originalID;
- string @aliased(["_id, idInStore"]) inStoreID;
+ record ResourceEventMsg {
+ string @aliases(["originalID", "ID"]) id;
+ string @aliased(["_id", "inStoreID"]) idInStore;
long occurredMillis;
- long receivedMillis;
+ long receivedMillis = 0;
string userID;
string clientID;
- EventVersion eventVersion;
- string @aliases(["resource"]) resourceType;
+ string eventVersion = "1.0";
+ string @aliases(["resourceType"]) resource;
string instanceID;
string value;
- map<AnyValue> details;
+ map<AnyValueMsg> details;
}
- record IMEvent {
- string @aliases(["ID"]) originalID;
- string @aliased(["_id, idInStore"]) inStoreID;
+ record IMEventMsg {
+ string @aliases(["originalID", "ID"]) id;
+ string @aliased(["_id", "inStoreID"]) idInStore;
long occurredMillis;
- long receivedMillis;
+ long receivedMillis = 0;
string userID;
string clientID;
- EventVersion eventVersion;
+ string eventVersion = "1.0";
boolean isActive;
string role;
- map<AnyValue> details;
+ map<AnyValueMsg> details;
}
}
\ No newline at end of file