cx_api/generated/
com.coralogixapis.dashboards.v1.ast.widgets.rs

1// This file is @generated by prost-build.
2#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct BarChart {
6    #[prost(message, optional, tag = "1")]
7    pub query: ::core::option::Option<bar_chart::Query>,
8    #[prost(message, optional, tag = "2")]
9    pub max_bars_per_chart: ::core::option::Option<i32>,
10    #[prost(message, optional, tag = "3")]
11    pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
12    #[prost(message, optional, tag = "4")]
13    pub stack_definition: ::core::option::Option<bar_chart::StackDefinition>,
14    #[prost(enumeration = "common::ScaleType", tag = "5")]
15    pub scale_type: i32,
16    #[prost(message, optional, tag = "6")]
17    pub colors_by: ::core::option::Option<common::ColorsBy>,
18    #[prost(message, optional, tag = "7")]
19    pub x_axis: ::core::option::Option<bar_chart::XAxis>,
20    #[prost(enumeration = "common::Unit", tag = "8")]
21    pub unit: i32,
22    #[prost(enumeration = "common::SortByType", tag = "9")]
23    pub sort_by: i32,
24    #[prost(message, optional, tag = "10")]
25    pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
26    #[prost(enumeration = "common::DataModeType", tag = "11")]
27    pub data_mode_type: i32,
28    #[prost(enumeration = "BarValueDisplay", tag = "12")]
29    pub bar_value_display: i32,
30    #[prost(message, optional, tag = "13")]
31    pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
32    #[prost(message, optional, tag = "14")]
33    pub decimal: ::core::option::Option<i32>,
34    #[prost(message, optional, tag = "15")]
35    pub legend: ::core::option::Option<common::Legend>,
36}
37/// Nested message and enum types in `BarChart`.
38pub mod bar_chart {
39    #[derive(serde::Serialize, serde::Deserialize)]
40    #[serde(rename_all = "snake_case")]
41    #[derive(Clone, PartialEq, ::prost::Message)]
42    pub struct Query {
43        #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
44        pub value: ::core::option::Option<query::Value>,
45    }
46    /// Nested message and enum types in `Query`.
47    pub mod query {
48        #[derive(serde::Serialize, serde::Deserialize)]
49        #[serde(rename_all = "snake_case")]
50        #[derive(Clone, PartialEq, ::prost::Oneof)]
51        pub enum Value {
52            #[prost(message, tag = "1")]
53            Logs(super::LogsQuery),
54            #[prost(message, tag = "2")]
55            Spans(super::SpansQuery),
56            #[prost(message, tag = "3")]
57            Metrics(super::MetricsQuery),
58            #[prost(message, tag = "4")]
59            Dataprime(super::DataprimeQuery),
60        }
61    }
62    #[derive(serde::Serialize, serde::Deserialize)]
63    #[serde(rename_all = "snake_case")]
64    #[derive(Clone, PartialEq, ::prost::Message)]
65    pub struct StackDefinition {
66        #[prost(message, optional, tag = "1")]
67        pub max_slices_per_bar: ::core::option::Option<i32>,
68        #[prost(message, optional, tag = "2")]
69        pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
70    }
71    #[derive(serde::Serialize, serde::Deserialize)]
72    #[serde(rename_all = "snake_case")]
73    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
74    pub struct XAxis {
75        #[prost(oneof = "x_axis::Type", tags = "1, 2")]
76        pub r#type: ::core::option::Option<x_axis::Type>,
77    }
78    /// Nested message and enum types in `XAxis`.
79    pub mod x_axis {
80        #[derive(serde::Serialize, serde::Deserialize)]
81        #[serde(rename_all = "snake_case")]
82        #[derive(Clone, Copy, PartialEq, ::prost::Message)]
83        pub struct XAxisByValue {}
84        #[derive(serde::Serialize, serde::Deserialize)]
85        #[serde(rename_all = "snake_case")]
86        #[derive(Clone, Copy, PartialEq, ::prost::Message)]
87        pub struct XAxisByTime {
88            #[prost(message, optional, tag = "1")]
89            pub interval: ::core::option::Option<::prost_wkt_types::Duration>,
90            #[prost(message, optional, tag = "2")]
91            pub buckets_presented: ::core::option::Option<i32>,
92        }
93        #[derive(serde::Serialize, serde::Deserialize)]
94        #[serde(rename_all = "snake_case")]
95        #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
96        pub enum Type {
97            #[prost(message, tag = "1")]
98            Value(XAxisByValue),
99            #[prost(message, tag = "2")]
100            Time(XAxisByTime),
101        }
102    }
103    #[derive(serde::Serialize, serde::Deserialize)]
104    #[serde(rename_all = "snake_case")]
105    #[derive(Clone, PartialEq, ::prost::Message)]
106    pub struct LogsQuery {
107        #[prost(message, optional, tag = "1")]
108        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
109        #[prost(message, optional, tag = "2")]
110        pub aggregation: ::core::option::Option<
111            super::super::super::common::LogsAggregation,
112        >,
113        #[prost(message, repeated, tag = "3")]
114        pub filters: ::prost::alloc::vec::Vec<super::super::filter::LogsFilter>,
115        #[prost(message, repeated, tag = "4")]
116        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
117        #[prost(message, optional, tag = "5")]
118        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
119        #[prost(message, repeated, tag = "6")]
120        pub group_names_fields: ::prost::alloc::vec::Vec<
121            super::super::super::common::ObservationField,
122        >,
123        #[prost(message, optional, tag = "7")]
124        pub stacked_group_name_field: ::core::option::Option<
125            super::super::super::common::ObservationField,
126        >,
127        #[prost(message, optional, tag = "8")]
128        pub time_frame: ::core::option::Option<
129            super::super::super::common::TimeFrameSelect,
130        >,
131    }
132    #[derive(serde::Serialize, serde::Deserialize)]
133    #[serde(rename_all = "snake_case")]
134    #[derive(Clone, PartialEq, ::prost::Message)]
135    pub struct SpansQuery {
136        #[prost(message, optional, tag = "1")]
137        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
138        #[prost(message, optional, tag = "2")]
139        pub aggregation: ::core::option::Option<
140            super::super::super::common::SpansAggregation,
141        >,
142        #[prost(message, repeated, tag = "3")]
143        pub filters: ::prost::alloc::vec::Vec<super::super::filter::SpansFilter>,
144        #[prost(message, repeated, tag = "4")]
145        pub group_names: ::prost::alloc::vec::Vec<
146            super::super::super::common::SpanField,
147        >,
148        #[prost(message, optional, tag = "5")]
149        pub stacked_group_name: ::core::option::Option<
150            super::super::super::common::SpanField,
151        >,
152        #[prost(message, optional, tag = "6")]
153        pub time_frame: ::core::option::Option<
154            super::super::super::common::TimeFrameSelect,
155        >,
156        #[prost(message, repeated, tag = "7")]
157        pub group_names_fields: ::prost::alloc::vec::Vec<
158            super::super::super::common::ObservationField,
159        >,
160        #[prost(message, optional, tag = "8")]
161        pub stacked_group_name_field: ::core::option::Option<
162            super::super::super::common::ObservationField,
163        >,
164    }
165    #[derive(serde::Serialize, serde::Deserialize)]
166    #[serde(rename_all = "snake_case")]
167    #[derive(Clone, PartialEq, ::prost::Message)]
168    pub struct MetricsQuery {
169        #[prost(message, optional, tag = "1")]
170        pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
171        #[prost(message, repeated, tag = "2")]
172        pub filters: ::prost::alloc::vec::Vec<super::super::filter::MetricsFilter>,
173        #[prost(message, repeated, tag = "3")]
174        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
175        #[prost(message, optional, tag = "4")]
176        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
177        #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
178        pub editor_mode: i32,
179        #[prost(message, optional, tag = "6")]
180        pub time_frame: ::core::option::Option<
181            super::super::super::common::TimeFrameSelect,
182        >,
183        #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
184        pub promql_query_type: i32,
185        #[prost(enumeration = "super::common::Aggregation", tag = "8")]
186        pub aggregation: i32,
187    }
188    #[derive(serde::Serialize, serde::Deserialize)]
189    #[serde(rename_all = "snake_case")]
190    #[derive(Clone, PartialEq, ::prost::Message)]
191    pub struct DataprimeQuery {
192        #[prost(message, optional, tag = "1")]
193        pub dataprime_query: ::core::option::Option<
194            super::super::super::common::DataprimeQuery,
195        >,
196        #[prost(message, repeated, tag = "2")]
197        pub filters: ::prost::alloc::vec::Vec<super::super::filter::Source>,
198        #[prost(message, repeated, tag = "3")]
199        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
200        #[prost(message, optional, tag = "4")]
201        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
202        #[prost(message, optional, tag = "5")]
203        pub time_frame: ::core::option::Option<
204            super::super::super::common::TimeFrameSelect,
205        >,
206    }
207}
208#[derive(serde::Serialize, serde::Deserialize)]
209#[serde(rename_all = "snake_case")]
210#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
211#[repr(i32)]
212pub enum BarValueDisplay {
213    Unspecified = 0,
214    Top = 1,
215    Inside = 2,
216    Both = 3,
217}
218impl BarValueDisplay {
219    /// String value of the enum field names used in the ProtoBuf definition.
220    ///
221    /// The values are not transformed in any way and thus are considered stable
222    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
223    pub fn as_str_name(&self) -> &'static str {
224        match self {
225            Self::Unspecified => "BAR_VALUE_DISPLAY_UNSPECIFIED",
226            Self::Top => "BAR_VALUE_DISPLAY_TOP",
227            Self::Inside => "BAR_VALUE_DISPLAY_INSIDE",
228            Self::Both => "BAR_VALUE_DISPLAY_BOTH",
229        }
230    }
231    /// Creates an enum from field names used in the ProtoBuf definition.
232    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
233        match value {
234            "BAR_VALUE_DISPLAY_UNSPECIFIED" => Some(Self::Unspecified),
235            "BAR_VALUE_DISPLAY_TOP" => Some(Self::Top),
236            "BAR_VALUE_DISPLAY_INSIDE" => Some(Self::Inside),
237            "BAR_VALUE_DISPLAY_BOTH" => Some(Self::Both),
238            _ => None,
239        }
240    }
241}
242#[derive(serde::Serialize, serde::Deserialize)]
243#[serde(rename_all = "snake_case")]
244#[derive(Clone, PartialEq, ::prost::Message)]
245pub struct DataTable {
246    #[prost(message, optional, tag = "1")]
247    pub query: ::core::option::Option<data_table::Query>,
248    #[prost(message, optional, tag = "2")]
249    pub results_per_page: ::core::option::Option<i32>,
250    #[prost(enumeration = "RowStyle", tag = "3")]
251    pub row_style: i32,
252    #[prost(message, repeated, tag = "4")]
253    pub columns: ::prost::alloc::vec::Vec<data_table::Column>,
254    #[prost(message, optional, tag = "5")]
255    pub order_by: ::core::option::Option<super::super::common::OrderingField>,
256    #[prost(enumeration = "common::DataModeType", tag = "11")]
257    pub data_mode_type: i32,
258}
259/// Nested message and enum types in `DataTable`.
260pub mod data_table {
261    #[derive(serde::Serialize, serde::Deserialize)]
262    #[serde(rename_all = "snake_case")]
263    #[derive(Clone, PartialEq, ::prost::Message)]
264    pub struct Query {
265        #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
266        pub value: ::core::option::Option<query::Value>,
267    }
268    /// Nested message and enum types in `Query`.
269    pub mod query {
270        #[derive(serde::Serialize, serde::Deserialize)]
271        #[serde(rename_all = "snake_case")]
272        #[derive(Clone, PartialEq, ::prost::Oneof)]
273        pub enum Value {
274            #[prost(message, tag = "1")]
275            Logs(super::LogsQuery),
276            #[prost(message, tag = "2")]
277            Spans(super::SpansQuery),
278            #[prost(message, tag = "3")]
279            Metrics(super::MetricsQuery),
280            #[prost(message, tag = "4")]
281            Dataprime(super::DataprimeQuery),
282        }
283    }
284    #[derive(serde::Serialize, serde::Deserialize)]
285    #[serde(rename_all = "snake_case")]
286    #[derive(Clone, PartialEq, ::prost::Message)]
287    pub struct LogsQuery {
288        #[prost(message, optional, tag = "1")]
289        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
290        #[prost(message, repeated, tag = "2")]
291        pub filters: ::prost::alloc::vec::Vec<super::super::filter::LogsFilter>,
292        #[prost(message, optional, tag = "3")]
293        pub grouping: ::core::option::Option<logs_query::Grouping>,
294        #[prost(message, optional, tag = "4")]
295        pub time_frame: ::core::option::Option<
296            super::super::super::common::TimeFrameSelect,
297        >,
298    }
299    /// Nested message and enum types in `LogsQuery`.
300    pub mod logs_query {
301        #[derive(serde::Serialize, serde::Deserialize)]
302        #[serde(rename_all = "snake_case")]
303        #[derive(Clone, PartialEq, ::prost::Message)]
304        pub struct Grouping {
305            #[prost(message, repeated, tag = "1")]
306            pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
307            #[prost(message, repeated, tag = "2")]
308            pub aggregations: ::prost::alloc::vec::Vec<Aggregation>,
309            #[prost(message, repeated, tag = "3")]
310            pub group_bys: ::prost::alloc::vec::Vec<
311                super::super::super::super::common::ObservationField,
312            >,
313        }
314        #[derive(serde::Serialize, serde::Deserialize)]
315        #[serde(rename_all = "snake_case")]
316        #[derive(Clone, PartialEq, ::prost::Message)]
317        pub struct Aggregation {
318            /// Aggregation unique identifier
319            #[prost(message, optional, tag = "1")]
320            pub id: ::core::option::Option<::prost::alloc::string::String>,
321            #[prost(message, optional, tag = "2")]
322            pub name: ::core::option::Option<::prost::alloc::string::String>,
323            #[prost(message, optional, tag = "3")]
324            pub is_visible: ::core::option::Option<bool>,
325            #[prost(message, optional, tag = "4")]
326            pub aggregation: ::core::option::Option<
327                super::super::super::super::common::LogsAggregation,
328            >,
329        }
330    }
331    #[derive(serde::Serialize, serde::Deserialize)]
332    #[serde(rename_all = "snake_case")]
333    #[derive(Clone, PartialEq, ::prost::Message)]
334    pub struct SpansQuery {
335        #[prost(message, optional, tag = "1")]
336        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
337        #[prost(message, repeated, tag = "2")]
338        pub filters: ::prost::alloc::vec::Vec<super::super::filter::SpansFilter>,
339        #[prost(message, optional, tag = "3")]
340        pub grouping: ::core::option::Option<spans_query::Grouping>,
341        #[prost(message, optional, tag = "4")]
342        pub time_frame: ::core::option::Option<
343            super::super::super::common::TimeFrameSelect,
344        >,
345    }
346    /// Nested message and enum types in `SpansQuery`.
347    pub mod spans_query {
348        #[derive(serde::Serialize, serde::Deserialize)]
349        #[serde(rename_all = "snake_case")]
350        #[derive(Clone, PartialEq, ::prost::Message)]
351        pub struct Grouping {
352            #[prost(message, repeated, tag = "1")]
353            pub group_by: ::prost::alloc::vec::Vec<
354                super::super::super::super::common::SpanField,
355            >,
356            #[prost(message, repeated, tag = "2")]
357            pub aggregations: ::prost::alloc::vec::Vec<Aggregation>,
358            #[prost(message, repeated, tag = "3")]
359            pub group_bys: ::prost::alloc::vec::Vec<
360                super::super::super::super::common::ObservationField,
361            >,
362        }
363        #[derive(serde::Serialize, serde::Deserialize)]
364        #[serde(rename_all = "snake_case")]
365        #[derive(Clone, PartialEq, ::prost::Message)]
366        pub struct Aggregation {
367            /// Aggregation unique identifier
368            #[prost(message, optional, tag = "1")]
369            pub id: ::core::option::Option<::prost::alloc::string::String>,
370            #[prost(message, optional, tag = "2")]
371            pub name: ::core::option::Option<::prost::alloc::string::String>,
372            #[prost(message, optional, tag = "3")]
373            pub is_visible: ::core::option::Option<bool>,
374            #[prost(message, optional, tag = "4")]
375            pub aggregation: ::core::option::Option<
376                super::super::super::super::common::SpansAggregation,
377            >,
378        }
379    }
380    #[derive(serde::Serialize, serde::Deserialize)]
381    #[serde(rename_all = "snake_case")]
382    #[derive(Clone, PartialEq, ::prost::Message)]
383    pub struct MetricsQuery {
384        #[prost(message, optional, tag = "1")]
385        pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
386        #[prost(message, repeated, tag = "2")]
387        pub filters: ::prost::alloc::vec::Vec<super::super::filter::MetricsFilter>,
388        #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
389        pub editor_mode: i32,
390        #[prost(message, optional, tag = "4")]
391        pub time_frame: ::core::option::Option<
392            super::super::super::common::TimeFrameSelect,
393        >,
394        #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "5")]
395        pub promql_query_type: i32,
396    }
397    #[derive(serde::Serialize, serde::Deserialize)]
398    #[serde(rename_all = "snake_case")]
399    #[derive(Clone, PartialEq, ::prost::Message)]
400    pub struct DataprimeQuery {
401        #[prost(message, optional, tag = "1")]
402        pub dataprime_query: ::core::option::Option<
403            super::super::super::common::DataprimeQuery,
404        >,
405        #[prost(message, repeated, tag = "2")]
406        pub filters: ::prost::alloc::vec::Vec<super::super::filter::Source>,
407        #[prost(message, optional, tag = "3")]
408        pub time_frame: ::core::option::Option<
409            super::super::super::common::TimeFrameSelect,
410        >,
411    }
412    #[derive(serde::Serialize, serde::Deserialize)]
413    #[serde(rename_all = "snake_case")]
414    #[derive(Clone, PartialEq, ::prost::Message)]
415    pub struct Column {
416        #[prost(message, optional, tag = "1")]
417        pub field: ::core::option::Option<::prost::alloc::string::String>,
418        #[prost(message, optional, tag = "2")]
419        pub width: ::core::option::Option<i32>,
420    }
421}
422#[derive(serde::Serialize, serde::Deserialize)]
423#[serde(rename_all = "snake_case")]
424#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
425#[repr(i32)]
426pub enum RowStyle {
427    Unspecified = 0,
428    OneLine = 1,
429    TwoLine = 2,
430    Condensed = 3,
431    Json = 4,
432    List = 5,
433}
434impl RowStyle {
435    /// String value of the enum field names used in the ProtoBuf definition.
436    ///
437    /// The values are not transformed in any way and thus are considered stable
438    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
439    pub fn as_str_name(&self) -> &'static str {
440        match self {
441            Self::Unspecified => "ROW_STYLE_UNSPECIFIED",
442            Self::OneLine => "ROW_STYLE_ONE_LINE",
443            Self::TwoLine => "ROW_STYLE_TWO_LINE",
444            Self::Condensed => "ROW_STYLE_CONDENSED",
445            Self::Json => "ROW_STYLE_JSON",
446            Self::List => "ROW_STYLE_LIST",
447        }
448    }
449    /// Creates an enum from field names used in the ProtoBuf definition.
450    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
451        match value {
452            "ROW_STYLE_UNSPECIFIED" => Some(Self::Unspecified),
453            "ROW_STYLE_ONE_LINE" => Some(Self::OneLine),
454            "ROW_STYLE_TWO_LINE" => Some(Self::TwoLine),
455            "ROW_STYLE_CONDENSED" => Some(Self::Condensed),
456            "ROW_STYLE_JSON" => Some(Self::Json),
457            "ROW_STYLE_LIST" => Some(Self::List),
458            _ => None,
459        }
460    }
461}
462#[derive(serde::Serialize, serde::Deserialize)]
463#[serde(rename_all = "snake_case")]
464#[derive(Clone, PartialEq, ::prost::Message)]
465pub struct Gauge {
466    #[prost(message, optional, tag = "1")]
467    pub query: ::core::option::Option<gauge::Query>,
468    #[prost(message, optional, tag = "2")]
469    pub min: ::core::option::Option<f64>,
470    #[prost(message, optional, tag = "3")]
471    pub max: ::core::option::Option<f64>,
472    #[prost(message, optional, tag = "4")]
473    pub show_inner_arc: ::core::option::Option<bool>,
474    #[prost(message, optional, tag = "5")]
475    pub show_outer_arc: ::core::option::Option<bool>,
476    #[prost(enumeration = "gauge::Unit", tag = "6")]
477    pub unit: i32,
478    #[prost(message, repeated, tag = "7")]
479    pub thresholds: ::prost::alloc::vec::Vec<gauge::Threshold>,
480    #[prost(enumeration = "common::DataModeType", tag = "8")]
481    pub data_mode_type: i32,
482    #[prost(enumeration = "gauge::ThresholdBy", tag = "9")]
483    pub threshold_by: i32,
484    #[prost(message, optional, tag = "10")]
485    pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
486    #[prost(message, optional, tag = "11")]
487    pub decimal: ::core::option::Option<i32>,
488    #[prost(enumeration = "common::ThresholdType", tag = "12")]
489    pub threshold_type: i32,
490    #[prost(message, optional, tag = "13")]
491    pub legend: ::core::option::Option<common::Legend>,
492    #[prost(enumeration = "common::LegendBy", tag = "14")]
493    pub legend_by: i32,
494    #[prost(message, optional, tag = "15")]
495    pub display_series_name: ::core::option::Option<bool>,
496}
497/// Nested message and enum types in `Gauge`.
498pub mod gauge {
499    #[derive(serde::Serialize, serde::Deserialize)]
500    #[serde(rename_all = "snake_case")]
501    #[derive(Clone, PartialEq, ::prost::Message)]
502    pub struct Query {
503        #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
504        pub value: ::core::option::Option<query::Value>,
505    }
506    /// Nested message and enum types in `Query`.
507    pub mod query {
508        #[derive(serde::Serialize, serde::Deserialize)]
509        #[serde(rename_all = "snake_case")]
510        #[derive(Clone, PartialEq, ::prost::Oneof)]
511        pub enum Value {
512            #[prost(message, tag = "1")]
513            Metrics(super::MetricsQuery),
514            #[prost(message, tag = "2")]
515            Logs(super::LogsQuery),
516            #[prost(message, tag = "3")]
517            Spans(super::SpansQuery),
518            #[prost(message, tag = "4")]
519            Dataprime(super::DataprimeQuery),
520        }
521    }
522    #[derive(serde::Serialize, serde::Deserialize)]
523    #[serde(rename_all = "snake_case")]
524    #[derive(Clone, PartialEq, ::prost::Message)]
525    pub struct MetricsQuery {
526        #[prost(message, optional, tag = "1")]
527        pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
528        #[prost(enumeration = "Aggregation", tag = "2")]
529        pub aggregation: i32,
530        #[prost(message, repeated, tag = "3")]
531        pub filters: ::prost::alloc::vec::Vec<super::super::filter::MetricsFilter>,
532        #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "4")]
533        pub editor_mode: i32,
534        #[prost(message, optional, tag = "5")]
535        pub time_frame: ::core::option::Option<
536            super::super::super::common::TimeFrameSelect,
537        >,
538        #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "6")]
539        pub promql_query_type: i32,
540    }
541    #[derive(serde::Serialize, serde::Deserialize)]
542    #[serde(rename_all = "snake_case")]
543    #[derive(Clone, PartialEq, ::prost::Message)]
544    pub struct LogsQuery {
545        #[prost(message, optional, tag = "1")]
546        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
547        #[prost(message, optional, tag = "2")]
548        pub logs_aggregation: ::core::option::Option<
549            super::super::super::common::LogsAggregation,
550        >,
551        #[deprecated]
552        #[prost(enumeration = "Aggregation", tag = "3")]
553        pub aggregation: i32,
554        #[prost(message, repeated, tag = "4")]
555        pub filters: ::prost::alloc::vec::Vec<super::super::filter::LogsFilter>,
556        #[prost(message, repeated, tag = "5")]
557        pub group_by: ::prost::alloc::vec::Vec<
558            super::super::super::common::ObservationField,
559        >,
560        #[prost(message, optional, tag = "6")]
561        pub time_frame: ::core::option::Option<
562            super::super::super::common::TimeFrameSelect,
563        >,
564    }
565    #[derive(serde::Serialize, serde::Deserialize)]
566    #[serde(rename_all = "snake_case")]
567    #[derive(Clone, PartialEq, ::prost::Message)]
568    pub struct SpansQuery {
569        #[prost(message, optional, tag = "1")]
570        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
571        #[prost(message, optional, tag = "2")]
572        pub spans_aggregation: ::core::option::Option<
573            super::super::super::common::SpansAggregation,
574        >,
575        #[deprecated]
576        #[prost(enumeration = "Aggregation", tag = "3")]
577        pub aggregation: i32,
578        #[prost(message, repeated, tag = "4")]
579        pub filters: ::prost::alloc::vec::Vec<super::super::filter::SpansFilter>,
580        #[prost(message, repeated, tag = "5")]
581        pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
582        #[prost(message, optional, tag = "6")]
583        pub time_frame: ::core::option::Option<
584            super::super::super::common::TimeFrameSelect,
585        >,
586        #[prost(message, repeated, tag = "7")]
587        pub group_bys: ::prost::alloc::vec::Vec<
588            super::super::super::common::ObservationField,
589        >,
590    }
591    #[derive(serde::Serialize, serde::Deserialize)]
592    #[serde(rename_all = "snake_case")]
593    #[derive(Clone, PartialEq, ::prost::Message)]
594    pub struct DataprimeQuery {
595        #[prost(message, optional, tag = "1")]
596        pub dataprime_query: ::core::option::Option<
597            super::super::super::common::DataprimeQuery,
598        >,
599        #[prost(message, repeated, tag = "2")]
600        pub filters: ::prost::alloc::vec::Vec<super::super::filter::Source>,
601        #[prost(message, optional, tag = "3")]
602        pub time_frame: ::core::option::Option<
603            super::super::super::common::TimeFrameSelect,
604        >,
605    }
606    #[derive(serde::Serialize, serde::Deserialize)]
607    #[serde(rename_all = "snake_case")]
608    #[derive(Clone, PartialEq, ::prost::Message)]
609    pub struct Threshold {
610        #[prost(message, optional, tag = "1")]
611        pub from: ::core::option::Option<f64>,
612        #[prost(message, optional, tag = "2")]
613        pub color: ::core::option::Option<::prost::alloc::string::String>,
614        #[prost(message, optional, tag = "3")]
615        pub label: ::core::option::Option<::prost::alloc::string::String>,
616    }
617    #[derive(serde::Serialize, serde::Deserialize)]
618    #[serde(rename_all = "snake_case")]
619    #[derive(
620        Clone,
621        Copy,
622        Debug,
623        PartialEq,
624        Eq,
625        Hash,
626        PartialOrd,
627        Ord,
628        ::prost::Enumeration
629    )]
630    #[repr(i32)]
631    pub enum Aggregation {
632        Unspecified = 0,
633        Last = 1,
634        Min = 2,
635        Max = 3,
636        Avg = 4,
637        Sum = 5,
638    }
639    impl Aggregation {
640        /// String value of the enum field names used in the ProtoBuf definition.
641        ///
642        /// The values are not transformed in any way and thus are considered stable
643        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
644        pub fn as_str_name(&self) -> &'static str {
645            match self {
646                Self::Unspecified => "AGGREGATION_UNSPECIFIED",
647                Self::Last => "AGGREGATION_LAST",
648                Self::Min => "AGGREGATION_MIN",
649                Self::Max => "AGGREGATION_MAX",
650                Self::Avg => "AGGREGATION_AVG",
651                Self::Sum => "AGGREGATION_SUM",
652            }
653        }
654        /// Creates an enum from field names used in the ProtoBuf definition.
655        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
656            match value {
657                "AGGREGATION_UNSPECIFIED" => Some(Self::Unspecified),
658                "AGGREGATION_LAST" => Some(Self::Last),
659                "AGGREGATION_MIN" => Some(Self::Min),
660                "AGGREGATION_MAX" => Some(Self::Max),
661                "AGGREGATION_AVG" => Some(Self::Avg),
662                "AGGREGATION_SUM" => Some(Self::Sum),
663                _ => None,
664            }
665        }
666    }
667    #[derive(serde::Serialize, serde::Deserialize)]
668    #[serde(rename_all = "snake_case")]
669    #[derive(
670        Clone,
671        Copy,
672        Debug,
673        PartialEq,
674        Eq,
675        Hash,
676        PartialOrd,
677        Ord,
678        ::prost::Enumeration
679    )]
680    #[repr(i32)]
681    pub enum Unit {
682        Unspecified = 0,
683        Number = 1,
684        Percent = 2,
685        Microseconds = 3,
686        Milliseconds = 4,
687        Seconds = 5,
688        Bytes = 6,
689        Kbytes = 7,
690        Mbytes = 8,
691        Gbytes = 9,
692        BytesIec = 10,
693        Kibytes = 11,
694        Mibytes = 12,
695        Gibytes = 13,
696        EurCents = 14,
697        Eur = 15,
698        UsdCents = 16,
699        Usd = 17,
700        Custom = 18,
701        PercentZeroOne = 19,
702        PercentZeroHundred = 20,
703        Nanoseconds = 21,
704    }
705    impl Unit {
706        /// String value of the enum field names used in the ProtoBuf definition.
707        ///
708        /// The values are not transformed in any way and thus are considered stable
709        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
710        pub fn as_str_name(&self) -> &'static str {
711            match self {
712                Self::Unspecified => "UNIT_UNSPECIFIED",
713                Self::Number => "UNIT_NUMBER",
714                Self::Percent => "UNIT_PERCENT",
715                Self::Microseconds => "UNIT_MICROSECONDS",
716                Self::Milliseconds => "UNIT_MILLISECONDS",
717                Self::Seconds => "UNIT_SECONDS",
718                Self::Bytes => "UNIT_BYTES",
719                Self::Kbytes => "UNIT_KBYTES",
720                Self::Mbytes => "UNIT_MBYTES",
721                Self::Gbytes => "UNIT_GBYTES",
722                Self::BytesIec => "UNIT_BYTES_IEC",
723                Self::Kibytes => "UNIT_KIBYTES",
724                Self::Mibytes => "UNIT_MIBYTES",
725                Self::Gibytes => "UNIT_GIBYTES",
726                Self::EurCents => "UNIT_EUR_CENTS",
727                Self::Eur => "UNIT_EUR",
728                Self::UsdCents => "UNIT_USD_CENTS",
729                Self::Usd => "UNIT_USD",
730                Self::Custom => "UNIT_CUSTOM",
731                Self::PercentZeroOne => "UNIT_PERCENT_ZERO_ONE",
732                Self::PercentZeroHundred => "UNIT_PERCENT_ZERO_HUNDRED",
733                Self::Nanoseconds => "UNIT_NANOSECONDS",
734            }
735        }
736        /// Creates an enum from field names used in the ProtoBuf definition.
737        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
738            match value {
739                "UNIT_UNSPECIFIED" => Some(Self::Unspecified),
740                "UNIT_NUMBER" => Some(Self::Number),
741                "UNIT_PERCENT" => Some(Self::Percent),
742                "UNIT_MICROSECONDS" => Some(Self::Microseconds),
743                "UNIT_MILLISECONDS" => Some(Self::Milliseconds),
744                "UNIT_SECONDS" => Some(Self::Seconds),
745                "UNIT_BYTES" => Some(Self::Bytes),
746                "UNIT_KBYTES" => Some(Self::Kbytes),
747                "UNIT_MBYTES" => Some(Self::Mbytes),
748                "UNIT_GBYTES" => Some(Self::Gbytes),
749                "UNIT_BYTES_IEC" => Some(Self::BytesIec),
750                "UNIT_KIBYTES" => Some(Self::Kibytes),
751                "UNIT_MIBYTES" => Some(Self::Mibytes),
752                "UNIT_GIBYTES" => Some(Self::Gibytes),
753                "UNIT_EUR_CENTS" => Some(Self::EurCents),
754                "UNIT_EUR" => Some(Self::Eur),
755                "UNIT_USD_CENTS" => Some(Self::UsdCents),
756                "UNIT_USD" => Some(Self::Usd),
757                "UNIT_CUSTOM" => Some(Self::Custom),
758                "UNIT_PERCENT_ZERO_ONE" => Some(Self::PercentZeroOne),
759                "UNIT_PERCENT_ZERO_HUNDRED" => Some(Self::PercentZeroHundred),
760                "UNIT_NANOSECONDS" => Some(Self::Nanoseconds),
761                _ => None,
762            }
763        }
764    }
765    #[derive(serde::Serialize, serde::Deserialize)]
766    #[serde(rename_all = "snake_case")]
767    #[derive(
768        Clone,
769        Copy,
770        Debug,
771        PartialEq,
772        Eq,
773        Hash,
774        PartialOrd,
775        Ord,
776        ::prost::Enumeration
777    )]
778    #[repr(i32)]
779    pub enum ThresholdBy {
780        Unspecified = 0,
781        Value = 1,
782        Background = 2,
783    }
784    impl ThresholdBy {
785        /// String value of the enum field names used in the ProtoBuf definition.
786        ///
787        /// The values are not transformed in any way and thus are considered stable
788        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
789        pub fn as_str_name(&self) -> &'static str {
790            match self {
791                Self::Unspecified => "THRESHOLD_BY_UNSPECIFIED",
792                Self::Value => "THRESHOLD_BY_VALUE",
793                Self::Background => "THRESHOLD_BY_BACKGROUND",
794            }
795        }
796        /// Creates an enum from field names used in the ProtoBuf definition.
797        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
798            match value {
799                "THRESHOLD_BY_UNSPECIFIED" => Some(Self::Unspecified),
800                "THRESHOLD_BY_VALUE" => Some(Self::Value),
801                "THRESHOLD_BY_BACKGROUND" => Some(Self::Background),
802                _ => None,
803            }
804        }
805    }
806}
807#[derive(serde::Serialize, serde::Deserialize)]
808#[serde(rename_all = "snake_case")]
809#[derive(Clone, PartialEq, ::prost::Message)]
810pub struct Hexagon {
811    #[prost(message, optional, tag = "1")]
812    pub query: ::core::option::Option<hexagon::Query>,
813    #[prost(message, optional, tag = "2")]
814    pub min: ::core::option::Option<f64>,
815    #[prost(message, optional, tag = "3")]
816    pub max: ::core::option::Option<f64>,
817    #[prost(enumeration = "common::Unit", tag = "6")]
818    pub unit: i32,
819    #[prost(message, repeated, tag = "7")]
820    pub thresholds: ::prost::alloc::vec::Vec<common::Threshold>,
821    #[prost(enumeration = "common::DataModeType", tag = "8")]
822    pub data_mode_type: i32,
823    #[prost(message, optional, tag = "10")]
824    pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
825    #[prost(message, optional, tag = "11")]
826    pub decimal: ::core::option::Option<i32>,
827    #[prost(enumeration = "common::ThresholdType", tag = "12")]
828    pub threshold_type: i32,
829    #[prost(message, optional, tag = "13")]
830    pub legend: ::core::option::Option<common::Legend>,
831    #[prost(enumeration = "common::LegendBy", tag = "14")]
832    pub legend_by: i32,
833}
834/// Nested message and enum types in `Hexagon`.
835pub mod hexagon {
836    #[derive(serde::Serialize, serde::Deserialize)]
837    #[serde(rename_all = "snake_case")]
838    #[derive(Clone, PartialEq, ::prost::Message)]
839    pub struct Query {
840        #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
841        pub value: ::core::option::Option<query::Value>,
842    }
843    /// Nested message and enum types in `Query`.
844    pub mod query {
845        #[derive(serde::Serialize, serde::Deserialize)]
846        #[serde(rename_all = "snake_case")]
847        #[derive(Clone, PartialEq, ::prost::Oneof)]
848        pub enum Value {
849            #[prost(message, tag = "1")]
850            Metrics(super::MetricsQuery),
851            #[prost(message, tag = "2")]
852            Logs(super::LogsQuery),
853            #[prost(message, tag = "3")]
854            Spans(super::SpansQuery),
855            #[prost(message, tag = "4")]
856            Dataprime(super::DataprimeQuery),
857        }
858    }
859    #[derive(serde::Serialize, serde::Deserialize)]
860    #[serde(rename_all = "snake_case")]
861    #[derive(Clone, PartialEq, ::prost::Message)]
862    pub struct MetricsQuery {
863        #[prost(message, optional, tag = "1")]
864        pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
865        #[prost(message, repeated, tag = "2")]
866        pub filters: ::prost::alloc::vec::Vec<super::super::filter::MetricsFilter>,
867        #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
868        pub editor_mode: i32,
869        #[prost(message, optional, tag = "4")]
870        pub time_frame: ::core::option::Option<
871            super::super::super::common::TimeFrameSelect,
872        >,
873        #[prost(enumeration = "super::common::Aggregation", tag = "5")]
874        pub aggregation: i32,
875        #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "6")]
876        pub promql_query_type: i32,
877    }
878    #[derive(serde::Serialize, serde::Deserialize)]
879    #[serde(rename_all = "snake_case")]
880    #[derive(Clone, PartialEq, ::prost::Message)]
881    pub struct LogsQuery {
882        #[prost(message, optional, tag = "1")]
883        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
884        #[prost(message, optional, tag = "2")]
885        pub logs_aggregation: ::core::option::Option<
886            super::super::super::common::LogsAggregation,
887        >,
888        #[prost(message, repeated, tag = "3")]
889        pub filters: ::prost::alloc::vec::Vec<super::super::filter::LogsFilter>,
890        #[prost(message, repeated, tag = "4")]
891        pub group_by: ::prost::alloc::vec::Vec<
892            super::super::super::common::ObservationField,
893        >,
894        #[prost(message, optional, tag = "5")]
895        pub time_frame: ::core::option::Option<
896            super::super::super::common::TimeFrameSelect,
897        >,
898    }
899    #[derive(serde::Serialize, serde::Deserialize)]
900    #[serde(rename_all = "snake_case")]
901    #[derive(Clone, PartialEq, ::prost::Message)]
902    pub struct SpansQuery {
903        #[prost(message, optional, tag = "1")]
904        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
905        #[prost(message, optional, tag = "2")]
906        pub spans_aggregation: ::core::option::Option<
907            super::super::super::common::SpansAggregation,
908        >,
909        #[prost(message, repeated, tag = "3")]
910        pub filters: ::prost::alloc::vec::Vec<super::super::filter::SpansFilter>,
911        #[prost(message, repeated, tag = "4")]
912        pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
913        #[prost(message, optional, tag = "5")]
914        pub time_frame: ::core::option::Option<
915            super::super::super::common::TimeFrameSelect,
916        >,
917        #[prost(message, repeated, tag = "6")]
918        pub group_bys: ::prost::alloc::vec::Vec<
919            super::super::super::common::ObservationField,
920        >,
921    }
922    #[derive(serde::Serialize, serde::Deserialize)]
923    #[serde(rename_all = "snake_case")]
924    #[derive(Clone, PartialEq, ::prost::Message)]
925    pub struct DataprimeQuery {
926        #[prost(message, optional, tag = "1")]
927        pub dataprime_query: ::core::option::Option<
928            super::super::super::common::DataprimeQuery,
929        >,
930        #[prost(message, repeated, tag = "2")]
931        pub filters: ::prost::alloc::vec::Vec<super::super::filter::Source>,
932        #[prost(message, optional, tag = "3")]
933        pub time_frame: ::core::option::Option<
934            super::super::super::common::TimeFrameSelect,
935        >,
936    }
937}
938#[derive(serde::Serialize, serde::Deserialize)]
939#[serde(rename_all = "snake_case")]
940#[derive(Clone, PartialEq, ::prost::Message)]
941pub struct HorizontalBarChart {
942    #[prost(message, optional, tag = "1")]
943    pub query: ::core::option::Option<horizontal_bar_chart::Query>,
944    #[prost(message, optional, tag = "2")]
945    pub max_bars_per_chart: ::core::option::Option<i32>,
946    #[prost(message, optional, tag = "3")]
947    pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
948    #[prost(message, optional, tag = "4")]
949    pub stack_definition: ::core::option::Option<horizontal_bar_chart::StackDefinition>,
950    #[prost(enumeration = "common::ScaleType", tag = "5")]
951    pub scale_type: i32,
952    #[prost(message, optional, tag = "6")]
953    pub colors_by: ::core::option::Option<common::ColorsBy>,
954    #[prost(enumeration = "common::Unit", tag = "8")]
955    pub unit: i32,
956    #[prost(message, optional, tag = "9")]
957    pub display_on_bar: ::core::option::Option<bool>,
958    #[prost(message, optional, tag = "10")]
959    pub y_axis_view_by: ::core::option::Option<horizontal_bar_chart::YAxisViewBy>,
960    #[prost(enumeration = "common::SortByType", tag = "11")]
961    pub sort_by: i32,
962    #[prost(message, optional, tag = "12")]
963    pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
964    #[prost(enumeration = "common::DataModeType", tag = "13")]
965    pub data_mode_type: i32,
966    #[prost(message, optional, tag = "14")]
967    pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
968    #[prost(message, optional, tag = "15")]
969    pub decimal: ::core::option::Option<i32>,
970    #[prost(message, optional, tag = "16")]
971    pub legend: ::core::option::Option<common::Legend>,
972}
973/// Nested message and enum types in `HorizontalBarChart`.
974pub mod horizontal_bar_chart {
975    #[derive(serde::Serialize, serde::Deserialize)]
976    #[serde(rename_all = "snake_case")]
977    #[derive(Clone, PartialEq, ::prost::Message)]
978    pub struct Query {
979        #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
980        pub value: ::core::option::Option<query::Value>,
981    }
982    /// Nested message and enum types in `Query`.
983    pub mod query {
984        #[derive(serde::Serialize, serde::Deserialize)]
985        #[serde(rename_all = "snake_case")]
986        #[derive(Clone, PartialEq, ::prost::Oneof)]
987        pub enum Value {
988            #[prost(message, tag = "1")]
989            Logs(super::LogsQuery),
990            #[prost(message, tag = "2")]
991            Spans(super::SpansQuery),
992            #[prost(message, tag = "3")]
993            Metrics(super::MetricsQuery),
994            #[prost(message, tag = "4")]
995            Dataprime(super::DataprimeQuery),
996        }
997    }
998    #[derive(serde::Serialize, serde::Deserialize)]
999    #[serde(rename_all = "snake_case")]
1000    #[derive(Clone, PartialEq, ::prost::Message)]
1001    pub struct StackDefinition {
1002        #[prost(message, optional, tag = "1")]
1003        pub max_slices_per_bar: ::core::option::Option<i32>,
1004        #[prost(message, optional, tag = "2")]
1005        pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
1006    }
1007    #[derive(serde::Serialize, serde::Deserialize)]
1008    #[serde(rename_all = "snake_case")]
1009    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1010    pub struct YAxisViewBy {
1011        #[prost(oneof = "y_axis_view_by::YAxisView", tags = "1, 2")]
1012        pub y_axis_view: ::core::option::Option<y_axis_view_by::YAxisView>,
1013    }
1014    /// Nested message and enum types in `YAxisViewBy`.
1015    pub mod y_axis_view_by {
1016        #[derive(serde::Serialize, serde::Deserialize)]
1017        #[serde(rename_all = "snake_case")]
1018        #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1019        pub struct YAxisViewByCategory {}
1020        #[derive(serde::Serialize, serde::Deserialize)]
1021        #[serde(rename_all = "snake_case")]
1022        #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1023        pub struct YAxisViewByValue {}
1024        #[derive(serde::Serialize, serde::Deserialize)]
1025        #[serde(rename_all = "snake_case")]
1026        #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1027        pub enum YAxisView {
1028            #[prost(message, tag = "1")]
1029            Category(YAxisViewByCategory),
1030            #[prost(message, tag = "2")]
1031            Value(YAxisViewByValue),
1032        }
1033    }
1034    #[derive(serde::Serialize, serde::Deserialize)]
1035    #[serde(rename_all = "snake_case")]
1036    #[derive(Clone, PartialEq, ::prost::Message)]
1037    pub struct LogsQuery {
1038        #[prost(message, optional, tag = "1")]
1039        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1040        #[prost(message, optional, tag = "2")]
1041        pub aggregation: ::core::option::Option<
1042            super::super::super::common::LogsAggregation,
1043        >,
1044        #[prost(message, repeated, tag = "3")]
1045        pub filters: ::prost::alloc::vec::Vec<super::super::filter::LogsFilter>,
1046        #[prost(message, repeated, tag = "4")]
1047        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1048        #[prost(message, optional, tag = "5")]
1049        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1050        #[prost(message, repeated, tag = "6")]
1051        pub group_names_fields: ::prost::alloc::vec::Vec<
1052            super::super::super::common::ObservationField,
1053        >,
1054        #[prost(message, optional, tag = "7")]
1055        pub stacked_group_name_field: ::core::option::Option<
1056            super::super::super::common::ObservationField,
1057        >,
1058        #[prost(message, optional, tag = "8")]
1059        pub time_frame: ::core::option::Option<
1060            super::super::super::common::TimeFrameSelect,
1061        >,
1062    }
1063    #[derive(serde::Serialize, serde::Deserialize)]
1064    #[serde(rename_all = "snake_case")]
1065    #[derive(Clone, PartialEq, ::prost::Message)]
1066    pub struct SpansQuery {
1067        #[prost(message, optional, tag = "1")]
1068        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1069        #[prost(message, optional, tag = "2")]
1070        pub aggregation: ::core::option::Option<
1071            super::super::super::common::SpansAggregation,
1072        >,
1073        #[prost(message, repeated, tag = "3")]
1074        pub filters: ::prost::alloc::vec::Vec<super::super::filter::SpansFilter>,
1075        #[prost(message, repeated, tag = "4")]
1076        pub group_names: ::prost::alloc::vec::Vec<
1077            super::super::super::common::SpanField,
1078        >,
1079        #[prost(message, optional, tag = "5")]
1080        pub stacked_group_name: ::core::option::Option<
1081            super::super::super::common::SpanField,
1082        >,
1083        #[prost(message, optional, tag = "6")]
1084        pub time_frame: ::core::option::Option<
1085            super::super::super::common::TimeFrameSelect,
1086        >,
1087        #[prost(message, repeated, tag = "7")]
1088        pub group_names_fields: ::prost::alloc::vec::Vec<
1089            super::super::super::common::ObservationField,
1090        >,
1091        #[prost(message, optional, tag = "8")]
1092        pub stacked_group_name_field: ::core::option::Option<
1093            super::super::super::common::ObservationField,
1094        >,
1095    }
1096    #[derive(serde::Serialize, serde::Deserialize)]
1097    #[serde(rename_all = "snake_case")]
1098    #[derive(Clone, PartialEq, ::prost::Message)]
1099    pub struct MetricsQuery {
1100        #[prost(message, optional, tag = "1")]
1101        pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
1102        #[prost(message, repeated, tag = "2")]
1103        pub filters: ::prost::alloc::vec::Vec<super::super::filter::MetricsFilter>,
1104        #[prost(message, repeated, tag = "3")]
1105        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1106        #[prost(message, optional, tag = "4")]
1107        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1108        #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
1109        pub editor_mode: i32,
1110        #[prost(message, optional, tag = "6")]
1111        pub time_frame: ::core::option::Option<
1112            super::super::super::common::TimeFrameSelect,
1113        >,
1114        #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
1115        pub promql_query_type: i32,
1116        #[prost(enumeration = "super::common::Aggregation", tag = "8")]
1117        pub aggregation: i32,
1118    }
1119    #[derive(serde::Serialize, serde::Deserialize)]
1120    #[serde(rename_all = "snake_case")]
1121    #[derive(Clone, PartialEq, ::prost::Message)]
1122    pub struct DataprimeQuery {
1123        #[prost(message, optional, tag = "1")]
1124        pub dataprime_query: ::core::option::Option<
1125            super::super::super::common::DataprimeQuery,
1126        >,
1127        #[prost(message, repeated, tag = "2")]
1128        pub filters: ::prost::alloc::vec::Vec<super::super::filter::Source>,
1129        #[prost(message, repeated, tag = "3")]
1130        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1131        #[prost(message, optional, tag = "4")]
1132        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1133        #[prost(message, optional, tag = "5")]
1134        pub time_frame: ::core::option::Option<
1135            super::super::super::common::TimeFrameSelect,
1136        >,
1137    }
1138}
1139#[derive(serde::Serialize, serde::Deserialize)]
1140#[serde(rename_all = "snake_case")]
1141#[derive(Clone, PartialEq, ::prost::Message)]
1142pub struct LineChart {
1143    #[prost(message, optional, tag = "2")]
1144    pub legend: ::core::option::Option<common::Legend>,
1145    #[prost(message, optional, tag = "6")]
1146    pub tooltip: ::core::option::Option<line_chart::Tooltip>,
1147    #[prost(message, repeated, tag = "7")]
1148    pub query_definitions: ::prost::alloc::vec::Vec<line_chart::QueryDefinition>,
1149    #[prost(enumeration = "line_chart::StackedLine", tag = "9")]
1150    pub stacked_line: i32,
1151}
1152/// Nested message and enum types in `LineChart`.
1153pub mod line_chart {
1154    #[derive(serde::Serialize, serde::Deserialize)]
1155    #[serde(rename_all = "snake_case")]
1156    #[derive(Clone, PartialEq, ::prost::Message)]
1157    pub struct QueryDefinition {
1158        /// QueryDefinition unique identifier
1159        #[prost(message, optional, tag = "1")]
1160        pub id: ::core::option::Option<::prost::alloc::string::String>,
1161        #[prost(message, optional, tag = "2")]
1162        pub query: ::core::option::Option<Query>,
1163        #[prost(message, optional, tag = "3")]
1164        pub series_name_template: ::core::option::Option<::prost::alloc::string::String>,
1165        #[prost(message, optional, tag = "4")]
1166        pub series_count_limit: ::core::option::Option<i64>,
1167        #[prost(enumeration = "super::common::Unit", tag = "5")]
1168        pub unit: i32,
1169        #[prost(enumeration = "super::common::ScaleType", tag = "6")]
1170        pub scale_type: i32,
1171        #[prost(message, optional, tag = "7")]
1172        pub name: ::core::option::Option<::prost::alloc::string::String>,
1173        #[prost(message, optional, tag = "8")]
1174        pub is_visible: ::core::option::Option<bool>,
1175        #[prost(message, optional, tag = "9")]
1176        pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1177        #[prost(message, optional, tag = "10")]
1178        pub resolution: ::core::option::Option<Resolution>,
1179        #[prost(enumeration = "super::common::DataModeType", tag = "11")]
1180        pub data_mode_type: i32,
1181        #[prost(message, optional, tag = "12")]
1182        pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1183        #[prost(message, optional, tag = "13")]
1184        pub decimal: ::core::option::Option<i32>,
1185    }
1186    #[derive(serde::Serialize, serde::Deserialize)]
1187    #[serde(rename_all = "snake_case")]
1188    #[derive(Clone, PartialEq, ::prost::Message)]
1189    pub struct Query {
1190        #[prost(oneof = "query::Value", tags = "1, 2, 3, 5")]
1191        pub value: ::core::option::Option<query::Value>,
1192    }
1193    /// Nested message and enum types in `Query`.
1194    pub mod query {
1195        #[derive(serde::Serialize, serde::Deserialize)]
1196        #[serde(rename_all = "snake_case")]
1197        #[derive(Clone, PartialEq, ::prost::Oneof)]
1198        pub enum Value {
1199            #[prost(message, tag = "1")]
1200            Logs(super::LogsQuery),
1201            #[prost(message, tag = "2")]
1202            Metrics(super::MetricsQuery),
1203            #[prost(message, tag = "3")]
1204            Spans(super::SpansQuery),
1205            #[prost(message, tag = "5")]
1206            Dataprime(super::DataprimeQuery),
1207        }
1208    }
1209    #[derive(serde::Serialize, serde::Deserialize)]
1210    #[serde(rename_all = "snake_case")]
1211    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1212    pub struct Tooltip {
1213        #[prost(message, optional, tag = "1")]
1214        pub show_labels: ::core::option::Option<bool>,
1215        #[prost(enumeration = "TooltipType", tag = "2")]
1216        pub r#type: i32,
1217    }
1218    #[derive(serde::Serialize, serde::Deserialize)]
1219    #[serde(rename_all = "snake_case")]
1220    #[derive(Clone, PartialEq, ::prost::Message)]
1221    pub struct LogsQuery {
1222        #[prost(message, optional, tag = "1")]
1223        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1224        #[prost(message, repeated, tag = "2")]
1225        pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1226        #[prost(message, repeated, tag = "3")]
1227        pub aggregations: ::prost::alloc::vec::Vec<
1228            super::super::super::common::LogsAggregation,
1229        >,
1230        #[prost(message, repeated, tag = "4")]
1231        pub filters: ::prost::alloc::vec::Vec<super::super::filter::LogsFilter>,
1232        #[prost(message, repeated, tag = "5")]
1233        pub group_bys: ::prost::alloc::vec::Vec<
1234            super::super::super::common::ObservationField,
1235        >,
1236        #[prost(message, optional, tag = "6")]
1237        pub time_frame: ::core::option::Option<
1238            super::super::super::common::TimeFrameSelect,
1239        >,
1240    }
1241    #[derive(serde::Serialize, serde::Deserialize)]
1242    #[serde(rename_all = "snake_case")]
1243    #[derive(Clone, PartialEq, ::prost::Message)]
1244    pub struct MetricsQuery {
1245        #[prost(message, optional, tag = "1")]
1246        pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
1247        #[prost(message, repeated, tag = "2")]
1248        pub filters: ::prost::alloc::vec::Vec<super::super::filter::MetricsFilter>,
1249        #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
1250        pub editor_mode: i32,
1251        #[prost(message, optional, tag = "4")]
1252        pub time_frame: ::core::option::Option<
1253            super::super::super::common::TimeFrameSelect,
1254        >,
1255    }
1256    #[derive(serde::Serialize, serde::Deserialize)]
1257    #[serde(rename_all = "snake_case")]
1258    #[derive(Clone, PartialEq, ::prost::Message)]
1259    pub struct SpansQuery {
1260        #[prost(message, optional, tag = "1")]
1261        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1262        #[prost(message, repeated, tag = "2")]
1263        pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
1264        #[prost(message, repeated, tag = "3")]
1265        pub aggregations: ::prost::alloc::vec::Vec<
1266            super::super::super::common::SpansAggregation,
1267        >,
1268        #[prost(message, repeated, tag = "4")]
1269        pub filters: ::prost::alloc::vec::Vec<super::super::filter::SpansFilter>,
1270        #[prost(message, optional, tag = "5")]
1271        pub time_frame: ::core::option::Option<
1272            super::super::super::common::TimeFrameSelect,
1273        >,
1274        #[prost(message, repeated, tag = "6")]
1275        pub group_bys: ::prost::alloc::vec::Vec<
1276            super::super::super::common::ObservationField,
1277        >,
1278    }
1279    #[derive(serde::Serialize, serde::Deserialize)]
1280    #[serde(rename_all = "snake_case")]
1281    #[derive(Clone, PartialEq, ::prost::Message)]
1282    pub struct DataprimeQuery {
1283        #[prost(message, optional, tag = "1")]
1284        pub dataprime_query: ::core::option::Option<
1285            super::super::super::common::DataprimeQuery,
1286        >,
1287        #[prost(message, repeated, tag = "2")]
1288        pub filters: ::prost::alloc::vec::Vec<super::super::filter::Source>,
1289        #[prost(message, optional, tag = "3")]
1290        pub time_frame: ::core::option::Option<
1291            super::super::super::common::TimeFrameSelect,
1292        >,
1293    }
1294    #[derive(serde::Serialize, serde::Deserialize)]
1295    #[serde(rename_all = "snake_case")]
1296    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1297    pub struct Resolution {
1298        #[prost(message, optional, tag = "1")]
1299        pub interval: ::core::option::Option<::prost_wkt_types::Duration>,
1300        #[prost(message, optional, tag = "2")]
1301        pub buckets_presented: ::core::option::Option<i32>,
1302    }
1303    #[derive(serde::Serialize, serde::Deserialize)]
1304    #[serde(rename_all = "snake_case")]
1305    #[derive(
1306        Clone,
1307        Copy,
1308        Debug,
1309        PartialEq,
1310        Eq,
1311        Hash,
1312        PartialOrd,
1313        Ord,
1314        ::prost::Enumeration
1315    )]
1316    #[repr(i32)]
1317    pub enum TooltipType {
1318        Unspecified = 0,
1319        All = 1,
1320        Single = 2,
1321    }
1322    impl TooltipType {
1323        /// String value of the enum field names used in the ProtoBuf definition.
1324        ///
1325        /// The values are not transformed in any way and thus are considered stable
1326        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1327        pub fn as_str_name(&self) -> &'static str {
1328            match self {
1329                Self::Unspecified => "TOOLTIP_TYPE_UNSPECIFIED",
1330                Self::All => "TOOLTIP_TYPE_ALL",
1331                Self::Single => "TOOLTIP_TYPE_SINGLE",
1332            }
1333        }
1334        /// Creates an enum from field names used in the ProtoBuf definition.
1335        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1336            match value {
1337                "TOOLTIP_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1338                "TOOLTIP_TYPE_ALL" => Some(Self::All),
1339                "TOOLTIP_TYPE_SINGLE" => Some(Self::Single),
1340                _ => None,
1341            }
1342        }
1343    }
1344    #[derive(serde::Serialize, serde::Deserialize)]
1345    #[serde(rename_all = "snake_case")]
1346    #[derive(
1347        Clone,
1348        Copy,
1349        Debug,
1350        PartialEq,
1351        Eq,
1352        Hash,
1353        PartialOrd,
1354        Ord,
1355        ::prost::Enumeration
1356    )]
1357    #[repr(i32)]
1358    pub enum StackedLine {
1359        Unspecified = 0,
1360        Absolute = 1,
1361        Relative = 2,
1362    }
1363    impl StackedLine {
1364        /// String value of the enum field names used in the ProtoBuf definition.
1365        ///
1366        /// The values are not transformed in any way and thus are considered stable
1367        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1368        pub fn as_str_name(&self) -> &'static str {
1369            match self {
1370                Self::Unspecified => "STACKED_LINE_UNSPECIFIED",
1371                Self::Absolute => "STACKED_LINE_ABSOLUTE",
1372                Self::Relative => "STACKED_LINE_RELATIVE",
1373            }
1374        }
1375        /// Creates an enum from field names used in the ProtoBuf definition.
1376        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1377            match value {
1378                "STACKED_LINE_UNSPECIFIED" => Some(Self::Unspecified),
1379                "STACKED_LINE_ABSOLUTE" => Some(Self::Absolute),
1380                "STACKED_LINE_RELATIVE" => Some(Self::Relative),
1381                _ => None,
1382            }
1383        }
1384    }
1385}
1386#[derive(serde::Serialize, serde::Deserialize)]
1387#[serde(rename_all = "snake_case")]
1388#[derive(Clone, PartialEq, ::prost::Message)]
1389pub struct Markdown {
1390    #[prost(message, optional, tag = "1")]
1391    pub markdown_text: ::core::option::Option<::prost::alloc::string::String>,
1392    #[prost(message, optional, tag = "2")]
1393    pub tooltip_text: ::core::option::Option<::prost::alloc::string::String>,
1394}
1395#[derive(serde::Serialize, serde::Deserialize)]
1396#[serde(rename_all = "snake_case")]
1397#[derive(Clone, PartialEq, ::prost::Message)]
1398pub struct PieChart {
1399    #[prost(message, optional, tag = "1")]
1400    pub query: ::core::option::Option<pie_chart::Query>,
1401    #[prost(message, optional, tag = "2")]
1402    pub max_slices_per_chart: ::core::option::Option<i32>,
1403    #[prost(message, optional, tag = "3")]
1404    pub min_slice_percentage: ::core::option::Option<i32>,
1405    #[prost(message, optional, tag = "4")]
1406    pub stack_definition: ::core::option::Option<pie_chart::StackDefinition>,
1407    #[prost(message, optional, tag = "5")]
1408    pub label_definition: ::core::option::Option<pie_chart::LabelDefinition>,
1409    #[prost(message, optional, tag = "6")]
1410    pub show_legend: ::core::option::Option<bool>,
1411    #[prost(message, optional, tag = "7")]
1412    pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
1413    #[prost(enumeration = "common::Unit", tag = "8")]
1414    pub unit: i32,
1415    #[prost(message, optional, tag = "9")]
1416    pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1417    #[prost(enumeration = "common::DataModeType", tag = "10")]
1418    pub data_mode_type: i32,
1419    #[prost(message, optional, tag = "11")]
1420    pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1421    #[prost(message, optional, tag = "12")]
1422    pub decimal: ::core::option::Option<i32>,
1423    #[prost(message, optional, tag = "13")]
1424    pub legend: ::core::option::Option<common::Legend>,
1425}
1426/// Nested message and enum types in `PieChart`.
1427pub mod pie_chart {
1428    #[derive(serde::Serialize, serde::Deserialize)]
1429    #[serde(rename_all = "snake_case")]
1430    #[derive(Clone, PartialEq, ::prost::Message)]
1431    pub struct Query {
1432        #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
1433        pub value: ::core::option::Option<query::Value>,
1434    }
1435    /// Nested message and enum types in `Query`.
1436    pub mod query {
1437        #[derive(serde::Serialize, serde::Deserialize)]
1438        #[serde(rename_all = "snake_case")]
1439        #[derive(Clone, PartialEq, ::prost::Oneof)]
1440        pub enum Value {
1441            #[prost(message, tag = "1")]
1442            Logs(super::LogsQuery),
1443            #[prost(message, tag = "2")]
1444            Spans(super::SpansQuery),
1445            #[prost(message, tag = "3")]
1446            Metrics(super::MetricsQuery),
1447            #[prost(message, tag = "4")]
1448            Dataprime(super::DataprimeQuery),
1449        }
1450    }
1451    #[derive(serde::Serialize, serde::Deserialize)]
1452    #[serde(rename_all = "snake_case")]
1453    #[derive(Clone, PartialEq, ::prost::Message)]
1454    pub struct StackDefinition {
1455        #[prost(message, optional, tag = "1")]
1456        pub max_slices_per_stack: ::core::option::Option<i32>,
1457        #[prost(message, optional, tag = "2")]
1458        pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
1459    }
1460    #[derive(serde::Serialize, serde::Deserialize)]
1461    #[serde(rename_all = "snake_case")]
1462    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1463    pub struct LabelDefinition {
1464        #[prost(enumeration = "LabelSource", tag = "1")]
1465        pub label_source: i32,
1466        #[prost(message, optional, tag = "2")]
1467        pub is_visible: ::core::option::Option<bool>,
1468        #[prost(message, optional, tag = "3")]
1469        pub show_name: ::core::option::Option<bool>,
1470        #[prost(message, optional, tag = "4")]
1471        pub show_value: ::core::option::Option<bool>,
1472        #[prost(message, optional, tag = "5")]
1473        pub show_percentage: ::core::option::Option<bool>,
1474    }
1475    #[derive(serde::Serialize, serde::Deserialize)]
1476    #[serde(rename_all = "snake_case")]
1477    #[derive(Clone, PartialEq, ::prost::Message)]
1478    pub struct LogsQuery {
1479        #[prost(message, optional, tag = "1")]
1480        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1481        #[prost(message, optional, tag = "2")]
1482        pub aggregation: ::core::option::Option<
1483            super::super::super::common::LogsAggregation,
1484        >,
1485        #[prost(message, repeated, tag = "3")]
1486        pub filters: ::prost::alloc::vec::Vec<super::super::filter::LogsFilter>,
1487        #[prost(message, repeated, tag = "4")]
1488        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1489        #[prost(message, optional, tag = "5")]
1490        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1491        #[prost(message, repeated, tag = "6")]
1492        pub group_names_fields: ::prost::alloc::vec::Vec<
1493            super::super::super::common::ObservationField,
1494        >,
1495        #[prost(message, optional, tag = "7")]
1496        pub stacked_group_name_field: ::core::option::Option<
1497            super::super::super::common::ObservationField,
1498        >,
1499        #[prost(message, optional, tag = "8")]
1500        pub time_frame: ::core::option::Option<
1501            super::super::super::common::TimeFrameSelect,
1502        >,
1503    }
1504    #[derive(serde::Serialize, serde::Deserialize)]
1505    #[serde(rename_all = "snake_case")]
1506    #[derive(Clone, PartialEq, ::prost::Message)]
1507    pub struct SpansQuery {
1508        #[prost(message, optional, tag = "1")]
1509        pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1510        #[prost(message, optional, tag = "2")]
1511        pub aggregation: ::core::option::Option<
1512            super::super::super::common::SpansAggregation,
1513        >,
1514        #[prost(message, repeated, tag = "3")]
1515        pub filters: ::prost::alloc::vec::Vec<super::super::filter::SpansFilter>,
1516        #[prost(message, repeated, tag = "4")]
1517        pub group_names: ::prost::alloc::vec::Vec<
1518            super::super::super::common::SpanField,
1519        >,
1520        #[prost(message, optional, tag = "5")]
1521        pub stacked_group_name: ::core::option::Option<
1522            super::super::super::common::SpanField,
1523        >,
1524        #[prost(message, optional, tag = "6")]
1525        pub time_frame: ::core::option::Option<
1526            super::super::super::common::TimeFrameSelect,
1527        >,
1528        #[prost(message, repeated, tag = "7")]
1529        pub group_names_fields: ::prost::alloc::vec::Vec<
1530            super::super::super::common::ObservationField,
1531        >,
1532        #[prost(message, optional, tag = "8")]
1533        pub stacked_group_name_field: ::core::option::Option<
1534            super::super::super::common::ObservationField,
1535        >,
1536    }
1537    #[derive(serde::Serialize, serde::Deserialize)]
1538    #[serde(rename_all = "snake_case")]
1539    #[derive(Clone, PartialEq, ::prost::Message)]
1540    pub struct MetricsQuery {
1541        #[prost(message, optional, tag = "1")]
1542        pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
1543        #[prost(message, repeated, tag = "2")]
1544        pub filters: ::prost::alloc::vec::Vec<super::super::filter::MetricsFilter>,
1545        #[prost(message, repeated, tag = "3")]
1546        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1547        #[prost(message, optional, tag = "4")]
1548        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1549        #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
1550        pub editor_mode: i32,
1551        #[prost(message, optional, tag = "6")]
1552        pub time_frame: ::core::option::Option<
1553            super::super::super::common::TimeFrameSelect,
1554        >,
1555        #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
1556        pub promql_query_type: i32,
1557        #[prost(enumeration = "super::common::Aggregation", tag = "8")]
1558        pub aggregation: i32,
1559    }
1560    #[derive(serde::Serialize, serde::Deserialize)]
1561    #[serde(rename_all = "snake_case")]
1562    #[derive(Clone, PartialEq, ::prost::Message)]
1563    pub struct DataprimeQuery {
1564        #[prost(message, optional, tag = "1")]
1565        pub dataprime_query: ::core::option::Option<
1566            super::super::super::common::DataprimeQuery,
1567        >,
1568        #[prost(message, repeated, tag = "2")]
1569        pub filters: ::prost::alloc::vec::Vec<super::super::filter::Source>,
1570        #[prost(message, repeated, tag = "3")]
1571        pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1572        #[prost(message, optional, tag = "4")]
1573        pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1574        #[prost(message, optional, tag = "5")]
1575        pub time_frame: ::core::option::Option<
1576            super::super::super::common::TimeFrameSelect,
1577        >,
1578    }
1579    #[derive(serde::Serialize, serde::Deserialize)]
1580    #[serde(rename_all = "snake_case")]
1581    #[derive(
1582        Clone,
1583        Copy,
1584        Debug,
1585        PartialEq,
1586        Eq,
1587        Hash,
1588        PartialOrd,
1589        Ord,
1590        ::prost::Enumeration
1591    )]
1592    #[repr(i32)]
1593    pub enum LabelSource {
1594        Unspecified = 0,
1595        Inner = 1,
1596        Stack = 2,
1597    }
1598    impl LabelSource {
1599        /// String value of the enum field names used in the ProtoBuf definition.
1600        ///
1601        /// The values are not transformed in any way and thus are considered stable
1602        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1603        pub fn as_str_name(&self) -> &'static str {
1604            match self {
1605                Self::Unspecified => "LABEL_SOURCE_UNSPECIFIED",
1606                Self::Inner => "LABEL_SOURCE_INNER",
1607                Self::Stack => "LABEL_SOURCE_STACK",
1608            }
1609        }
1610        /// Creates an enum from field names used in the ProtoBuf definition.
1611        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1612            match value {
1613                "LABEL_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
1614                "LABEL_SOURCE_INNER" => Some(Self::Inner),
1615                "LABEL_SOURCE_STACK" => Some(Self::Stack),
1616                _ => None,
1617            }
1618        }
1619    }
1620}