dde2710fc6ef595f293e078ded647f63f32cbce9
[src/xds/xds-agent.git] / lib / apiv1 / events.go
1 package apiv1
2
3 // EventRegisterArgs is the parameters (json format) of /events/register command
4 type EventRegisterArgs struct {
5         Name      string `json:"name"`
6         ProjectID string `json:"filterProjectID"`
7 }
8
9 // EventUnRegisterArgs is the parameters (json format) of /events/unregister command
10 type EventUnRegisterArgs struct {
11         Name string `json:"name"`
12         ID   int    `json:"id"`
13 }
14
15 // Events definitions
16 const (
17         // EventTypePrefix Used as event prefix
18         EventTypePrefix = "event:" // following by event type
19
20         // Supported Events type
21         EVTAll           = EventTypePrefix + "all"
22         EVTServerConfig  = EventTypePrefix + "server-config"        // data type apiv1.ServerCfg
23         EVTProjectAdd    = EventTypePrefix + "project-add"          // data type apiv1.ProjectConfig
24         EVTProjectDelete = EventTypePrefix + "project-delete"       // data type apiv1.ProjectConfig
25         EVTProjectChange = EventTypePrefix + "project-state-change" // data type apiv1.ProjectConfig
26 )
27
28 // EVTAllList List of all supported events
29 var EVTAllList = []string{
30         EVTServerConfig,
31         EVTProjectAdd,
32         EVTProjectDelete,
33         EVTProjectChange,
34 }
35
36 // EventMsg Message send
37 type EventMsg struct {
38         Time string      `json:"time"`
39         Type string      `json:"type"`
40         Data interface{} `json:"data"`
41 }