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. string SharedSecret = 11; // SharedSecret signs the optional InfluxDB JWT Authorization string Organization = 12; // Organization is the organization ID that resource belongs to string Role = 13; // Role is the name of the miniumum role that a user must possess to access the resource } 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 repeated Template templates = 4; // Templates replace template variables within InfluxQL string Organization = 5; // Organization is the organization ID that resource belongs to } 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 map axes = 9; // Axes represent the graphical viewport for a cell's visualizations } message Axis { repeated int64 legacyBounds = 1; // legacyBounds are an ordered 2-tuple consisting of lower and upper axis extents, respectively repeated string bounds = 2; // bounds are an arbitrary list of client-defined bounds. string label = 3; // label is a description of this axis string prefix = 4; // specifies the prefix for axis values string suffix = 5; // specifies the suffix for axis values string base = 6; // defines the base for axis values string scale = 7; // represents the magnitude of the numbers on this axis } message Template { string ID = 1; // ID is the unique ID associated with this template string temp_var = 2; repeated TemplateValue values = 3; string type = 4; // Type can be fieldKeys, tagKeys, tagValues, CSV, constant, query, measurements, databases string label = 5; // Label is a user-facing description of the Template TemplateQuery query = 6; // Query is used to generate the choices for a template } message TemplateValue { string type = 1; // Type can be tagKey, tagValue, fieldKey, csv, measurement, database, constant string value = 2; // Value is the specific value used to replace a template in an InfluxQL query bool selected = 3; // Selected states that this variable has been picked to use for replacement } message TemplateQuery { 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; string measurement = 4; // Measurement is the optinally selected measurement for the query string tag_key = 5; // TagKey is the optionally selected tag key for the query string field_key = 6; // FieldKey is the optionally selected field key for the query } 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 bool Active = 7; // is this the currently active server for the source string Organization = 8; // Organization is the organization ID that resource belongs to } 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. string Organization = 6; // Organization is the organization ID that resource belongs to } 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 map axes = 11; // Axes represent the graphical viewport for a cell's visualizations } 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 string Source = 8; // Source is the optional URI to the data source } 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 string Provider = 3; // Provider is the provider that certifies and issues this user's authentication, e.g. GitHub string Scheme = 4; // Scheme is the scheme used to perform this user's authentication, e.g. OAuth2 or LDAP repeated Role Roles = 5; // Roles is set of roles a user has bool SuperAdmin = 6; // SuperAdmin is bool that specifies whether a user is a super admin } message Role { string Organization = 1; // Organization is the ID of the organization that this user has a role in string Name = 2; // Name is the name of the role of this user in the respective organization } message Organization { uint64 ID = 1; // ID is the unique ID of the organization string Name = 2; // Name is the organization's name string DefaultRole = 3; // DefaultRole is the name of the role that is the default for any users added to the organization bool Public = 4; // Public specifies that users must be explicitly added to the organization } // The following is a vim modeline, it autoconfigures vim to have the // appropriate tabbing and whitespace management to edit this file // // vim: ai:ts=4:noet:sts=4