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