summaryrefslogtreecommitdiff
path: root/events.proto
blob: 69e6d4607ed4538c243191c98143c6b2f296f316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
syntax = "proto3";
package virtbuf;

import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
import "google/protobuf/any.proto"; // Import the well-known type for Timestamp

message Events {
	string  uuid	        = 1;    // I guess why not just have this on each file
	string  version         = 2;    // maybe can be used for protobuf schema change violations
	int64   event_size      = 3;    // max events to store in a single
	repeated Event events   = 4;    // all the events
}


message Event {
	int32	        id     	        = 1;
	EventType       etype           = 2;
	string	        droplet         = 3;	// name of the droplet
	string	        droplet_uuid    = 4;	// uuid of the droplet
	string	        hypervisor	= 5;	// name of the hypervisor
	string	        hypervisor_uuid	= 6;	// uuid of the hypervisor
        google.protobuf.Timestamp start = 7;    // start time
        google.protobuf.Timestamp end   = 8;    // end time
        google.protobuf.Any orig_val    = 9;    // original value
        google.protobuf.Any new_val     = 10;   // new value
}

enum EventType {
	ADD	= 0;
	DELETE = 1;
	POWERON = 2;
	POWEROFF = 3;   // should indicate a "normal" shutdown
	HIBERNATE = 4;
	MIGRATE = 5;
	DEMO	= 6;
	GET	= 7;	// request something
	LOGIN	= 8;	// attempt to login
	OK	= 9;	// everything is ok
	FAIL	= 10;	// everything failed
	CRASH   = 11;   // droplet hard crashed
	CHANGE  = 12;   // droplet or hypervisor config change
}