aboutsummaryrefslogtreecommitdiff
path: root/mauve.proto
diff options
context:
space:
mode:
authorPatrick J Cherry <patrick@bytemark.co.uk>2011-04-13 17:03:16 +0100
committerPatrick J Cherry <patrick@bytemark.co.uk>2011-04-13 17:03:16 +0100
commit89a67770e66d11740948e90a41db6cee0482cf8e (patch)
treebe858515fb789a89d68f94975690ab019813726c /mauve.proto
new version.
Diffstat (limited to 'mauve.proto')
-rw-r--r--mauve.proto85
1 files changed, 85 insertions, 0 deletions
diff --git a/mauve.proto b/mauve.proto
new file mode 100644
index 0000000..7bd25e4
--- /dev/null
+++ b/mauve.proto
@@ -0,0 +1,85 @@
+package mauve.proto;
+
+// An alert is a notification of an event in your business, project or
+// enterprise for which someone might want to stop what they're doing and
+// attend to.
+//
+// Alerts
+//
+message Alert {
+ // Every separate alert must have a unique Id attached. When sending a
+ // repeated or altered alert, using the same alert id will overwrite
+ // the previous settings.
+ //
+ required string id = 1;
+
+ // The UNIX time at which this alert was or will be raised. If set to zero it
+ // means 'this alert is assumed to be raised already'.
+ //
+ optional uint64 raise_time = 2;
+
+ // The UNIX time at which this alert was or will be cleared. If set to zero
+ // it means 'do not clear automatically'. Messages with clear times set before
+ // alert times are not valid, and will be ignored.
+ //
+ optional uint64 clear_time = 3;
+
+ // The subject is the name of the server/device/entity that is being alerted
+ // about. If not supplied, assumed to be the same as source.
+ //
+ optional string subject = 4;
+
+ // The summary is a summary of an alert (100 characters or less) that
+ // can be fitted into a pager or SMS message, along with the source & subject.
+ //
+ optional string summary = 5;
+
+ // The detail can be an arbitrary HTML fragment for display on suitable
+ // devices giving fuller information about the alert.
+ //
+ optional string detail = 6;
+
+ // The importance of this alert (relative to others from this source). Zero
+ // is 'unspecified importance' which will use the server's default.
+ //
+ optional uint32 importance = 7;
+
+}
+
+// The AlertUpdate is the unit of communication from an alerting source;
+// it consists of one or more alerts, which can either replace, or supplement
+// the alert data for that source.
+//
+message AlertUpdate {
+ // Random number with each transmission, so that destinations can easily
+ // identify and discard duplicate transmissions that are inherent to the
+ // protocol.
+ //
+ required uint64 transmission_id = 1;
+
+ // The source of an alert represents the sender - each possible sender
+ // should set this consistently (e.g. the name of the monitoring system
+ // that is generating a particular class of alerts).
+ //
+ required string source = 2;
+
+ // When set to true, signals that this update should completely replace
+ // all current data for this source (so unlisted previous alerts are deemed
+ // to be cleared).
+ //
+ required bool replace = 3 [ default = false ];
+
+ // Alert data follows
+ //
+ repeated Alert alert = 4;
+
+ // Signature to authenticate this data - no scheme defined currently, maybe
+ // SHA1(alert.raw + password) ?
+ //
+ optional bytes signature = 5;
+
+ // The UNIX time at which the packet was sent by the server.
+ //
+ optional uint64 transmission_time = 8;
+}
+