Home | History | Annotate | Download | only in site_utils
      1 syntax = "proto2";
      2 
      3 // The types of message notification sent from Moblab.
      4 enum MessageType {
      5   MSG_UNKNOWN = 0;
      6   MSG_MOBLAB_HEARTBEAT = 1;
      7   MSG_MOBLAB_REMOTE_EVENT = 2;
      8   MSG_MOBLAB_ALERT = 3;
      9 }
     10 
     11 // The common pubsub notification attribute names.
     12 enum MessageAttribute {
     13   ATTR_INVALID = 0;
     14   ATTR_MESSAGE_TYPE = 1;
     15   ATTR_MESSAGE_VERSION = 2;
     16   ATTR_MOBLAB_MAC_ADDRESS = 3;
     17   ATTR_MOBLAB_ID = 4;
     18 }
     19 
     20 // Timestamp is not defined in proto2. We need to define it by ourselves.
     21 // It represents a point in time independent of any time zone
     22 // or calendar, represented as seconds and fractions of seconds at
     23 // nanosecond resolution.
     24 // Clone from https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto.
     25 message Timestamp {
     26   optional int64 seconds = 1;
     27   // Non-negative fractions of a second at nanosecond resolution.
     28   optional int64 nanos = 2 [default = 0];
     29 }
     30 
     31 message Heartbeat {
     32   optional Timestamp timestamp = 1;
     33 }
     34 
     35 // The remote event notification message.
     36 message RemoteEventMessage {
     37   // EventType is an enumeration of event types sent to cloud console.
     38   // Any new event type should be added here.
     39   enum Type {
     40     EVENT_UNKNOWN = 0;
     41     EVENT_MOBLAB_BOOT_COMPLETE = 1;
     42   }
     43 
     44   optional Type type = 1 [default = EVENT_UNKNOWN];
     45   optional string data = 2;
     46 }
     47 
     48 // Moblab alerts
     49 message Alert {
     50   enum AlertLevel {
     51     ALERT_UNSPECIFIED = 0;
     52     ALERT_CRITICAL = 1;
     53     ALERT_MAJOR = 2;
     54     ALERT_MINOR = 3;
     55   }
     56   optional AlertLevel level = 1;
     57   optional string data = 2;
     58   optional Timestamp timestamp = 3;
     59   optional string source_application = 4;
     60   optional string source_component = 5;
     61 }
     62