Moved all structs exposed by API into apiv1 package
[src/xds/xds-agent.git] / lib / apiv1 / events.go
diff --git a/lib/apiv1/events.go b/lib/apiv1/events.go
new file mode 100644 (file)
index 0000000..8bad394
--- /dev/null
@@ -0,0 +1,33 @@
+package apiv1
+
+// EventRegisterArgs is the parameters (json format) of /events/register command
+type EventRegisterArgs struct {
+       Name      string `json:"name"`
+       ProjectID string `json:"filterProjectID"`
+}
+
+// EventUnRegisterArgs is the parameters (json format) of /events/unregister command
+type EventUnRegisterArgs struct {
+       Name string `json:"name"`
+       ID   int    `json:"id"`
+}
+
+// Events definitions
+const (
+       // EventTypePrefix Used as event prefix
+       EventTypePrefix = "event:" // following by event type
+
+       // Supported Events type
+       EVTAll           = "all"
+       EVTServerConfig  = "server-config"        // data type apiv1.ServerCfg
+       EVTProjectAdd    = "project-add"          // data type apiv1.ProjectConfig
+       EVTProjectDelete = "project-delete"       // data type apiv1.ProjectConfig
+       EVTProjectChange = "project-state-change" // data type apiv1.ProjectConfig
+)
+
+// EventMsg Message send
+type EventMsg struct {
+       Time string      `json:"time"`
+       Type string      `json:"type"`
+       Data interface{} `json:"data"`
+}