syntax = "proto3"; package internal; message Source { int64 ID = 1; // ID is the unique ID of the source string Name = 2; // Name is the user-defined name for the source string Type = 3; // Type specifies which kinds of source (enterprise vs oss) string Username = 4; // Username is the username to connect to the source string Password = 5; string URL = 6; // URL are the connections to the source bool Default = 7; // Flags an source as the default. string Telegraf = 8; // Telegraf is the db telegraf is written to. By default it is "telegraf" bool InsecureSkipVerify = 9; // InsecureSkipVerify accepts any certificate from the influx server string MetaURL = 10; // MetaURL is the connection URL for the meta node. } message Dashboard { int64 ID = 1; // ID is the unique ID of the dashboard string Name = 2; // Name is the user-defined name of the dashboard repeated DashboardCell cells = 3; // a representation of all visual data required for rendering the dashboard } message DashboardCell { int32 x = 1; // X-coordinate of Cell in the Dashboard int32 y = 2; // Y-coordinate of Cell in the Dashboard int32 w = 3; // Width of Cell in the Dashboard int32 h = 4; // Height of Cell in the Dashboard repeated Query queries = 5; // Time-series data queries for Dashboard string name = 6; // User-facing name for this Dashboard string type = 7; // Dashboard visualization type string ID = 8; // id is the unique id of the dashboard. MIGRATED FIELD added in 1.2.0-beta6 } message Server { int64 ID = 1; // ID is the unique ID of the server string Name = 2; // Name is the user-defined name for the server string Username = 3; // Username is the username to connect to the server string Password = 4; string URL = 5; // URL is the path to the server int64 SrcID = 6; // SrcID is the ID of the data source } message Layout { string ID = 1; // ID is the unique ID of the layout. string Application = 2; // Application is the user facing name of this Layout. string Measurement = 3; // Measurement is the descriptive name of the time series data. repeated Cell Cells = 4; // Cells are the individual visualization elements. bool Autoflow = 5; // Autoflow indicates whether the frontend should layout the cells automatically. } message Cell { int32 x = 1; // X-coordinate of Cell in the Layout int32 y = 2; // Y-coordinate of Cell in the Layout int32 w = 3; // Width of Cell in the Layout int32 h = 4; // Height of Cell in the Layout repeated Query queries = 5; // Time-series data queries for Cell. string i = 6; // Unique identifier for the cell string name = 7; // User-facing name for this cell repeated int64 yranges = 8; // Limits of the y-axes repeated string ylabels = 9; // Labels of the y-axes string type = 10; // Cell visualization type } message Query { string Command = 1; // Command is the query itself string DB = 2; // DB the database for the query (optional) string RP = 3; // RP is a retention policy and optional; repeated string GroupBys= 4; // GroupBys define the groups to combine in the query repeated string Wheres = 5; // Wheres define the restrictions on the query string Label = 6; // Label is the name of the Y-Axis Range Range = 7; // Range is the upper and lower bound of the Y-Axis } message Range { int64 Upper = 1; // Upper is the upper-bound of the range int64 Lower = 2; // Lower is the lower-bound of the range } message AlertRule { string ID = 1; // ID is the unique ID of this alert rule string JSON = 2; // JSON byte representation of the alert int64 SrcID = 3; // SrcID is the id of the source this alert is associated with int64 KapaID = 4; // KapaID is the id of the kapacitor this alert is associated with } message User { uint64 ID = 1; // ID is the unique ID of this user string Name = 2; // Name is the user's login name }