#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Annotation {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub enabled: ::core::option::Option<bool>,
#[prost(message, optional, tag = "4")]
pub source: ::core::option::Option<annotation::Source>,
}
pub mod annotation {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Source {
#[prost(oneof = "source::Value", tags = "1, 2, 3")]
pub value: ::core::option::Option<source::Value>,
}
pub mod source {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
Metrics(super::MetricsSource),
#[prost(message, tag = "2")]
Logs(super::LogsSource),
#[prost(message, tag = "3")]
Spans(super::SpansSource),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricsSource {
#[prost(message, optional, tag = "1")]
pub promql_query: ::core::option::Option<super::super::common::PromQlQuery>,
#[prost(message, optional, tag = "2")]
pub strategy: ::core::option::Option<metrics_source::Strategy>,
#[prost(message, optional, tag = "3")]
pub message_template: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "4")]
pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
pub mod metrics_source {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Strategy {
#[prost(oneof = "strategy::Value", tags = "1")]
pub value: ::core::option::Option<strategy::Value>,
}
pub mod strategy {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
StartTimeMetric(super::StartTimeMetric),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTimeMetric {}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogsSource {
#[prost(message, optional, tag = "1")]
pub lucene_query: ::core::option::Option<super::super::common::LuceneQuery>,
#[prost(message, optional, tag = "2")]
pub strategy: ::core::option::Option<logs_source::Strategy>,
#[prost(message, optional, tag = "3")]
pub message_template: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "4")]
pub label_fields: ::prost::alloc::vec::Vec<
super::super::common::ObservationField,
>,
}
pub mod logs_source {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Strategy {
#[prost(oneof = "strategy::Value", tags = "1, 2, 3")]
pub value: ::core::option::Option<strategy::Value>,
}
pub mod strategy {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Instant {
#[prost(message, optional, tag = "1")]
pub timestamp_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Range {
#[prost(message, optional, tag = "1")]
pub start_timestamp_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
#[prost(message, optional, tag = "2")]
pub end_timestamp_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Duration {
#[prost(message, optional, tag = "1")]
pub start_timestamp_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
#[prost(message, optional, tag = "2")]
pub duration_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
Instant(Instant),
#[prost(message, tag = "2")]
Range(Range),
#[prost(message, tag = "3")]
Duration(Duration),
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpansSource {
#[prost(message, optional, tag = "1")]
pub lucene_query: ::core::option::Option<super::super::common::LuceneQuery>,
#[prost(message, optional, tag = "2")]
pub strategy: ::core::option::Option<spans_source::Strategy>,
#[prost(message, optional, tag = "3")]
pub message_template: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "4")]
pub label_fields: ::prost::alloc::vec::Vec<
super::super::common::ObservationField,
>,
}
pub mod spans_source {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Strategy {
#[prost(oneof = "strategy::Value", tags = "1, 2, 3")]
pub value: ::core::option::Option<strategy::Value>,
}
pub mod strategy {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Instant {
#[prost(message, optional, tag = "1")]
pub timestamp_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Range {
#[prost(message, optional, tag = "1")]
pub start_timestamp_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
#[prost(message, optional, tag = "2")]
pub end_timestamp_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Duration {
#[prost(message, optional, tag = "1")]
pub start_timestamp_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
#[prost(message, optional, tag = "2")]
pub duration_field: ::core::option::Option<
super::super::super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
Instant(Instant),
#[prost(message, tag = "2")]
Range(Range),
#[prost(message, tag = "3")]
Duration(Duration),
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Filter {
#[prost(message, optional, tag = "1")]
pub source: ::core::option::Option<filter::Source>,
#[prost(message, optional, tag = "2")]
pub enabled: ::core::option::Option<bool>,
#[prost(message, optional, tag = "3")]
pub collapsed: ::core::option::Option<bool>,
}
pub mod filter {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Source {
#[prost(oneof = "source::Value", tags = "1, 2, 3")]
pub value: ::core::option::Option<source::Value>,
}
pub mod source {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
Logs(super::LogsFilter),
#[prost(message, tag = "2")]
Spans(super::SpansFilter),
#[prost(message, tag = "3")]
Metrics(super::MetricsFilter),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogsFilter {
#[prost(message, optional, tag = "1")]
pub field: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub operator: ::core::option::Option<Operator>,
#[prost(message, optional, tag = "3")]
pub observation_field: ::core::option::Option<
super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpansFilter {
#[prost(message, optional, tag = "1")]
pub field: ::core::option::Option<super::super::common::SpanField>,
#[prost(message, optional, tag = "2")]
pub operator: ::core::option::Option<Operator>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricsFilter {
#[prost(message, optional, tag = "1")]
pub metric: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub label: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub operator: ::core::option::Option<Operator>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Operator {
#[prost(oneof = "operator::Value", tags = "1, 2")]
pub value: ::core::option::Option<operator::Value>,
}
pub mod operator {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
Equals(super::Equals),
#[prost(message, tag = "2")]
NotEquals(super::NotEquals),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Equals {
#[prost(message, optional, tag = "1")]
pub selection: ::core::option::Option<equals::Selection>,
}
pub mod equals {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Selection {
#[prost(oneof = "selection::Value", tags = "1, 2")]
pub value: ::core::option::Option<selection::Value>,
}
pub mod selection {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AllSelection {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSelection {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
All(AllSelection),
#[prost(message, tag = "2")]
List(ListSelection),
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NotEquals {
#[prost(message, optional, tag = "1")]
pub selection: ::core::option::Option<not_equals::Selection>,
}
pub mod not_equals {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Selection {
#[prost(oneof = "selection::Value", tags = "1")]
pub value: ::core::option::Option<selection::Value>,
}
pub mod selection {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSelection {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
List(ListSelection),
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FolderPath {
#[prost(string, repeated, tag = "1")]
pub segments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Widget {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<super::Uuid>,
#[prost(message, optional, tag = "2")]
pub title: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub definition: ::core::option::Option<widget::Definition>,
#[deprecated]
#[prost(message, optional, tag = "5")]
pub appearance: ::core::option::Option<widget::Appearance>,
#[prost(message, optional, tag = "6")]
pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub updated_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
}
pub mod widget {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Definition {
#[prost(oneof = "definition::Value", tags = "1, 2, 3, 4, 5, 6, 7, 8")]
pub value: ::core::option::Option<definition::Value>,
}
pub mod definition {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
LineChart(super::super::widgets::LineChart),
#[prost(message, tag = "2")]
DataTable(super::super::widgets::DataTable),
#[prost(message, tag = "3")]
Gauge(super::super::widgets::Gauge),
#[prost(message, tag = "4")]
PieChart(super::super::widgets::PieChart),
#[prost(message, tag = "5")]
BarChart(super::super::widgets::BarChart),
#[prost(message, tag = "6")]
HorizontalBarChart(super::super::widgets::HorizontalBarChart),
#[prost(message, tag = "7")]
Markdown(super::super::widgets::Markdown),
#[prost(message, tag = "8")]
Hexagon(super::super::widgets::Hexagon),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Appearance {
#[prost(message, optional, tag = "1")]
pub width: ::core::option::Option<i32>,
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Layout {
#[prost(message, repeated, tag = "1")]
pub sections: ::prost::alloc::vec::Vec<Section>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Section {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<super::Uuid>,
#[prost(message, repeated, tag = "2")]
pub rows: ::prost::alloc::vec::Vec<Row>,
#[prost(message, optional, tag = "3")]
pub options: ::core::option::Option<SectionOptions>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Row {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<super::Uuid>,
#[prost(message, optional, tag = "2")]
pub appearance: ::core::option::Option<row::Appearance>,
#[prost(message, repeated, tag = "3")]
pub widgets: ::prost::alloc::vec::Vec<Widget>,
}
pub mod row {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Appearance {
#[prost(message, optional, tag = "1")]
pub height: ::core::option::Option<i32>,
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SectionOptions {
#[prost(oneof = "section_options::Value", tags = "1, 2")]
pub value: ::core::option::Option<section_options::Value>,
}
pub mod section_options {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
Internal(super::InternalSectionOptions),
#[prost(message, tag = "2")]
Custom(super::CustomSectionOptions),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InternalSectionOptions {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomSectionOptions {
#[prost(message, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub collapsed: ::core::option::Option<bool>,
#[prost(message, optional, tag = "4")]
pub color: ::core::option::Option<SectionColor>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SectionColor {
#[prost(oneof = "section_color::Value", tags = "1")]
pub value: ::core::option::Option<section_color::Value>,
}
pub mod section_color {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(enumeration = "super::SectionPredefinedColor", tag = "1")]
Predefined(i32),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SectionPredefinedColor {
Unspecified = 0,
Cyan = 1,
Green = 2,
Blue = 3,
Purple = 4,
Magenta = 5,
Pink = 6,
Orange = 7,
}
impl SectionPredefinedColor {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SECTION_PREDEFINED_COLOR_UNSPECIFIED",
Self::Cyan => "SECTION_PREDEFINED_COLOR_CYAN",
Self::Green => "SECTION_PREDEFINED_COLOR_GREEN",
Self::Blue => "SECTION_PREDEFINED_COLOR_BLUE",
Self::Purple => "SECTION_PREDEFINED_COLOR_PURPLE",
Self::Magenta => "SECTION_PREDEFINED_COLOR_MAGENTA",
Self::Pink => "SECTION_PREDEFINED_COLOR_PINK",
Self::Orange => "SECTION_PREDEFINED_COLOR_ORANGE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SECTION_PREDEFINED_COLOR_UNSPECIFIED" => Some(Self::Unspecified),
"SECTION_PREDEFINED_COLOR_CYAN" => Some(Self::Cyan),
"SECTION_PREDEFINED_COLOR_GREEN" => Some(Self::Green),
"SECTION_PREDEFINED_COLOR_BLUE" => Some(Self::Blue),
"SECTION_PREDEFINED_COLOR_PURPLE" => Some(Self::Purple),
"SECTION_PREDEFINED_COLOR_MAGENTA" => Some(Self::Magenta),
"SECTION_PREDEFINED_COLOR_PINK" => Some(Self::Pink),
"SECTION_PREDEFINED_COLOR_ORANGE" => Some(Self::Orange),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Variable {
#[prost(message, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub definition: ::core::option::Option<variable::Definition>,
#[prost(message, optional, tag = "3")]
pub display_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "VariableDisplayType", tag = "5")]
pub display_type: i32,
}
pub mod variable {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Definition {
#[prost(oneof = "definition::Value", tags = "1, 2")]
pub value: ::core::option::Option<definition::Value>,
}
pub mod definition {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
Constant(super::super::Constant),
#[prost(message, tag = "2")]
MultiSelect(super::super::MultiSelect),
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Constant {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiSelect {
#[deprecated]
#[prost(message, repeated, tag = "1")]
pub selected: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub source: ::core::option::Option<multi_select::Source>,
#[prost(message, optional, tag = "3")]
pub selection: ::core::option::Option<multi_select::Selection>,
#[prost(enumeration = "super::common::OrderDirection", tag = "4")]
pub values_order_direction: i32,
#[prost(message, optional, tag = "5")]
pub selection_options: ::core::option::Option<
multi_select::VariableSelectionOptions,
>,
}
pub mod multi_select {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Source {
#[prost(oneof = "source::Value", tags = "1, 2, 3, 4, 5")]
pub value: ::core::option::Option<source::Value>,
}
pub mod source {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
LogsPath(super::LogsPathSource),
#[prost(message, tag = "2")]
MetricLabel(super::MetricLabelSource),
#[prost(message, tag = "3")]
ConstantList(super::ConstantListSource),
#[prost(message, tag = "4")]
SpanField(super::SpanFieldSource),
#[prost(message, tag = "5")]
Query(super::QuerySource),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogsPathSource {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub observation_field: ::core::option::Option<
super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricLabelSource {
#[prost(message, optional, tag = "1")]
pub metric_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub label: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpanFieldSource {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<super::super::common::SpanField>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConstantListSource {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuerySource {
#[prost(message, optional, tag = "1")]
pub query: ::core::option::Option<Query>,
#[prost(enumeration = "RefreshStrategy", tag = "2")]
pub refresh_strategy: i32,
#[prost(message, optional, tag = "3")]
pub value_display_options: ::core::option::Option<ValueDisplayOptions>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Query {
#[prost(oneof = "query::Value", tags = "1, 2, 3")]
pub value: ::core::option::Option<query::Value>,
}
pub mod query {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogsQuery {
#[prost(message, optional, tag = "1")]
pub r#type: ::core::option::Option<logs_query::Type>,
}
pub mod logs_query {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Type {
#[prost(oneof = "r#type::Value", tags = "1, 2")]
pub value: ::core::option::Option<r#type::Value>,
}
pub mod r#type {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FieldName {
#[prost(message, optional, tag = "1")]
pub log_regex: ::core::option::Option<
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FieldValue {
#[prost(message, optional, tag = "3")]
pub observation_field: ::core::option::Option<
super::super::super::super::super::common::ObservationField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
FieldName(FieldName),
#[prost(message, tag = "2")]
FieldValue(FieldValue),
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpansQuery {
#[prost(message, optional, tag = "1")]
pub r#type: ::core::option::Option<spans_query::Type>,
}
pub mod spans_query {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Type {
#[prost(oneof = "r#type::Value", tags = "1, 2")]
pub value: ::core::option::Option<r#type::Value>,
}
pub mod r#type {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FieldName {
#[prost(message, optional, tag = "1")]
pub span_regex: ::core::option::Option<
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FieldValue {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<
super::super::super::super::super::common::SpanField,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
FieldName(FieldName),
#[prost(message, tag = "2")]
FieldValue(FieldValue),
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricsQuery {
#[prost(message, optional, tag = "1")]
pub r#type: ::core::option::Option<metrics_query::Type>,
}
pub mod metrics_query {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Type {
#[prost(oneof = "r#type::Value", tags = "1, 2, 3")]
pub value: ::core::option::Option<r#type::Value>,
}
pub mod r#type {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricName {
#[prost(message, optional, tag = "1")]
pub metric_regex: ::core::option::Option<
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LabelName {
#[prost(message, optional, tag = "1")]
pub metric_regex: ::core::option::Option<
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LabelValue {
#[prost(message, optional, tag = "1")]
pub metric_name: ::core::option::Option<super::StringOrVariable>,
#[prost(message, optional, tag = "2")]
pub label_name: ::core::option::Option<super::StringOrVariable>,
#[prost(message, repeated, tag = "3")]
pub label_filters: ::prost::alloc::vec::Vec<
super::MetricsLabelFilter,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
MetricName(MetricName),
#[prost(message, tag = "2")]
LabelName(LabelName),
#[prost(message, tag = "3")]
LabelValue(LabelValue),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringOrVariable {
#[prost(oneof = "string_or_variable::Value", tags = "1, 2")]
pub value: ::core::option::Option<string_or_variable::Value>,
}
pub mod string_or_variable {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
StringValue(::prost::alloc::string::String),
#[prost(message, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricsLabelFilter {
#[prost(message, optional, tag = "1")]
pub metric: ::core::option::Option<StringOrVariable>,
#[prost(message, optional, tag = "2")]
pub label: ::core::option::Option<StringOrVariable>,
#[prost(message, optional, tag = "3")]
pub operator: ::core::option::Option<Operator>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Operator {
#[prost(oneof = "operator::Value", tags = "1, 2")]
pub value: ::core::option::Option<operator::Value>,
}
pub mod operator {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
Equals(super::Equals),
#[prost(message, tag = "2")]
NotEquals(super::NotEquals),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Equals {
#[prost(message, optional, tag = "1")]
pub selection: ::core::option::Option<Selection>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NotEquals {
#[prost(message, optional, tag = "1")]
pub selection: ::core::option::Option<Selection>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Selection {
#[prost(oneof = "selection::Value", tags = "1")]
pub value: ::core::option::Option<selection::Value>,
}
pub mod selection {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSelection {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<super::StringOrVariable>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
List(ListSelection),
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
LogsQuery(LogsQuery),
#[prost(message, tag = "2")]
MetricsQuery(MetricsQuery),
#[prost(message, tag = "3")]
SpansQuery(SpansQuery),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValueDisplayOptions {
#[prost(message, optional, tag = "1")]
pub value_regex: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub label_regex: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Selection {
#[prost(oneof = "selection::Value", tags = "1, 2")]
pub value: ::core::option::Option<selection::Value>,
}
pub mod selection {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AllSelection {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSelection {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
All(AllSelection),
#[prost(message, tag = "2")]
List(ListSelection),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VariableSelectionOptions {
#[prost(enumeration = "variable_selection_options::SelectionType", tag = "1")]
pub selection_type: i32,
}
pub mod variable_selection_options {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum SelectionType {
Unspecified = 0,
MultiAll = 1,
Multi = 2,
Single = 3,
}
impl SelectionType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SELECTION_TYPE_UNSPECIFIED",
Self::MultiAll => "SELECTION_TYPE_MULTI_ALL",
Self::Multi => "SELECTION_TYPE_MULTI",
Self::Single => "SELECTION_TYPE_SINGLE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SELECTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"SELECTION_TYPE_MULTI_ALL" => Some(Self::MultiAll),
"SELECTION_TYPE_MULTI" => Some(Self::Multi),
"SELECTION_TYPE_SINGLE" => Some(Self::Single),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum RefreshStrategy {
Unspecified = 0,
OnDashboardLoad = 1,
OnTimeFrameChange = 2,
}
impl RefreshStrategy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "REFRESH_STRATEGY_UNSPECIFIED",
Self::OnDashboardLoad => "REFRESH_STRATEGY_ON_DASHBOARD_LOAD",
Self::OnTimeFrameChange => "REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"REFRESH_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
"REFRESH_STRATEGY_ON_DASHBOARD_LOAD" => Some(Self::OnDashboardLoad),
"REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE" => Some(Self::OnTimeFrameChange),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VariableDisplayType {
Unspecified = 0,
LabelValue = 1,
Value = 2,
Nothing = 3,
}
impl VariableDisplayType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "VARIABLE_DISPLAY_TYPE_UNSPECIFIED",
Self::LabelValue => "VARIABLE_DISPLAY_TYPE_LABEL_VALUE",
Self::Value => "VARIABLE_DISPLAY_TYPE_VALUE",
Self::Nothing => "VARIABLE_DISPLAY_TYPE_NOTHING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VARIABLE_DISPLAY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"VARIABLE_DISPLAY_TYPE_LABEL_VALUE" => Some(Self::LabelValue),
"VARIABLE_DISPLAY_TYPE_VALUE" => Some(Self::Value),
"VARIABLE_DISPLAY_TYPE_NOTHING" => Some(Self::Nothing),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dashboard {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub layout: ::core::option::Option<Layout>,
#[prost(message, repeated, tag = "5")]
pub variables: ::prost::alloc::vec::Vec<Variable>,
#[prost(message, repeated, tag = "6")]
pub filters: ::prost::alloc::vec::Vec<Filter>,
#[prost(message, repeated, tag = "11")]
pub annotations: ::prost::alloc::vec::Vec<Annotation>,
#[prost(oneof = "dashboard::TimeFrame", tags = "7, 8")]
pub time_frame: ::core::option::Option<dashboard::TimeFrame>,
#[prost(oneof = "dashboard::Folder", tags = "9, 10")]
pub folder: ::core::option::Option<dashboard::Folder>,
#[prost(oneof = "dashboard::AutoRefresh", tags = "12, 13, 14")]
pub auto_refresh: ::core::option::Option<dashboard::AutoRefresh>,
}
pub mod dashboard {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AutoRefreshOff {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AutoRefreshTwoMinutes {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AutoRefreshFiveMinutes {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum TimeFrame {
#[prost(message, tag = "7")]
AbsoluteTimeFrame(super::super::common::TimeFrame),
#[prost(message, tag = "8")]
RelativeTimeFrame(::prost_wkt_types::Duration),
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Folder {
#[prost(message, tag = "9")]
FolderId(super::super::Uuid),
#[prost(message, tag = "10")]
FolderPath(super::FolderPath),
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum AutoRefresh {
#[prost(message, tag = "12")]
Off(AutoRefreshOff),
#[prost(message, tag = "13")]
TwoMinutes(AutoRefreshTwoMinutes),
#[prost(message, tag = "14")]
FiveMinutes(AutoRefreshFiveMinutes),
}
}