1#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct Annotation {
6 #[prost(message, optional, tag = "1")]
8 pub id: ::core::option::Option<::prost::alloc::string::String>,
9 #[prost(message, optional, tag = "2")]
10 pub name: ::core::option::Option<::prost::alloc::string::String>,
11 #[prost(message, optional, tag = "3")]
12 pub enabled: ::core::option::Option<bool>,
13 #[prost(message, optional, tag = "4")]
14 pub source: ::core::option::Option<annotation::Source>,
15}
16pub mod annotation {
18 #[derive(serde::Serialize, serde::Deserialize)]
19 #[serde(rename_all = "snake_case")]
20 #[derive(Clone, PartialEq, ::prost::Message)]
21 pub struct Source {
22 #[prost(oneof = "source::Value", tags = "1, 2, 3")]
23 pub value: ::core::option::Option<source::Value>,
24 }
25 pub mod source {
27 #[derive(serde::Serialize, serde::Deserialize)]
28 #[serde(rename_all = "snake_case")]
29 #[derive(Clone, PartialEq, ::prost::Oneof)]
30 pub enum Value {
31 #[prost(message, tag = "1")]
32 Metrics(super::MetricsSource),
33 #[prost(message, tag = "2")]
34 Logs(super::LogsSource),
35 #[prost(message, tag = "3")]
36 Spans(super::SpansSource),
37 }
38 }
39 #[derive(serde::Serialize, serde::Deserialize)]
40 #[serde(rename_all = "snake_case")]
41 #[derive(Clone, PartialEq, ::prost::Message)]
42 pub struct MetricsSource {
43 #[prost(message, optional, tag = "1")]
44 pub promql_query: ::core::option::Option<super::super::common::PromQlQuery>,
45 #[prost(message, optional, tag = "2")]
46 pub strategy: ::core::option::Option<metrics_source::Strategy>,
47 #[prost(message, optional, tag = "3")]
48 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
49 #[prost(message, repeated, tag = "4")]
50 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
51 }
52 pub mod metrics_source {
54 #[derive(serde::Serialize, serde::Deserialize)]
56 #[serde(rename_all = "snake_case")]
57 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
58 pub struct Strategy {
59 #[prost(oneof = "strategy::Value", tags = "1")]
60 pub value: ::core::option::Option<strategy::Value>,
61 }
62 pub mod strategy {
64 #[derive(serde::Serialize, serde::Deserialize)]
65 #[serde(rename_all = "snake_case")]
66 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
67 pub enum Value {
68 #[prost(message, tag = "1")]
70 StartTimeMetric(super::StartTimeMetric),
71 }
72 }
73 #[derive(serde::Serialize, serde::Deserialize)]
74 #[serde(rename_all = "snake_case")]
75 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
76 pub struct StartTimeMetric {}
77 }
78 #[derive(serde::Serialize, serde::Deserialize)]
79 #[serde(rename_all = "snake_case")]
80 #[derive(Clone, PartialEq, ::prost::Message)]
81 pub struct LogsSource {
82 #[prost(message, optional, tag = "1")]
83 pub lucene_query: ::core::option::Option<super::super::common::LuceneQuery>,
84 #[prost(message, optional, tag = "2")]
85 pub strategy: ::core::option::Option<logs_source::Strategy>,
86 #[prost(message, optional, tag = "3")]
87 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
88 #[prost(message, repeated, tag = "4")]
89 pub label_fields: ::prost::alloc::vec::Vec<
90 super::super::common::ObservationField,
91 >,
92 }
93 pub mod logs_source {
95 #[derive(serde::Serialize, serde::Deserialize)]
96 #[serde(rename_all = "snake_case")]
97 #[derive(Clone, PartialEq, ::prost::Message)]
98 pub struct Strategy {
99 #[prost(oneof = "strategy::Value", tags = "1, 2, 3")]
100 pub value: ::core::option::Option<strategy::Value>,
101 }
102 pub mod strategy {
104 #[derive(serde::Serialize, serde::Deserialize)]
105 #[serde(rename_all = "snake_case")]
106 #[derive(Clone, PartialEq, ::prost::Message)]
107 pub struct Instant {
108 #[prost(message, optional, tag = "1")]
109 pub timestamp_field: ::core::option::Option<
110 super::super::super::super::common::ObservationField,
111 >,
112 }
113 #[derive(serde::Serialize, serde::Deserialize)]
114 #[serde(rename_all = "snake_case")]
115 #[derive(Clone, PartialEq, ::prost::Message)]
116 pub struct Range {
117 #[prost(message, optional, tag = "1")]
118 pub start_timestamp_field: ::core::option::Option<
119 super::super::super::super::common::ObservationField,
120 >,
121 #[prost(message, optional, tag = "2")]
122 pub end_timestamp_field: ::core::option::Option<
123 super::super::super::super::common::ObservationField,
124 >,
125 }
126 #[derive(serde::Serialize, serde::Deserialize)]
127 #[serde(rename_all = "snake_case")]
128 #[derive(Clone, PartialEq, ::prost::Message)]
129 pub struct Duration {
130 #[prost(message, optional, tag = "1")]
131 pub start_timestamp_field: ::core::option::Option<
132 super::super::super::super::common::ObservationField,
133 >,
134 #[prost(message, optional, tag = "2")]
135 pub duration_field: ::core::option::Option<
136 super::super::super::super::common::ObservationField,
137 >,
138 }
139 #[derive(serde::Serialize, serde::Deserialize)]
140 #[serde(rename_all = "snake_case")]
141 #[derive(Clone, PartialEq, ::prost::Oneof)]
142 pub enum Value {
143 #[prost(message, tag = "1")]
144 Instant(Instant),
145 #[prost(message, tag = "2")]
146 Range(Range),
147 #[prost(message, tag = "3")]
148 Duration(Duration),
149 }
150 }
151 }
152 #[derive(serde::Serialize, serde::Deserialize)]
153 #[serde(rename_all = "snake_case")]
154 #[derive(Clone, PartialEq, ::prost::Message)]
155 pub struct SpansSource {
156 #[prost(message, optional, tag = "1")]
157 pub lucene_query: ::core::option::Option<super::super::common::LuceneQuery>,
158 #[prost(message, optional, tag = "2")]
159 pub strategy: ::core::option::Option<spans_source::Strategy>,
160 #[prost(message, optional, tag = "3")]
161 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
162 #[prost(message, repeated, tag = "4")]
163 pub label_fields: ::prost::alloc::vec::Vec<
164 super::super::common::ObservationField,
165 >,
166 }
167 pub mod spans_source {
169 #[derive(serde::Serialize, serde::Deserialize)]
170 #[serde(rename_all = "snake_case")]
171 #[derive(Clone, PartialEq, ::prost::Message)]
172 pub struct Strategy {
173 #[prost(oneof = "strategy::Value", tags = "1, 2, 3")]
174 pub value: ::core::option::Option<strategy::Value>,
175 }
176 pub mod strategy {
178 #[derive(serde::Serialize, serde::Deserialize)]
179 #[serde(rename_all = "snake_case")]
180 #[derive(Clone, PartialEq, ::prost::Message)]
181 pub struct Instant {
182 #[prost(message, optional, tag = "1")]
183 pub timestamp_field: ::core::option::Option<
184 super::super::super::super::common::ObservationField,
185 >,
186 }
187 #[derive(serde::Serialize, serde::Deserialize)]
188 #[serde(rename_all = "snake_case")]
189 #[derive(Clone, PartialEq, ::prost::Message)]
190 pub struct Range {
191 #[prost(message, optional, tag = "1")]
192 pub start_timestamp_field: ::core::option::Option<
193 super::super::super::super::common::ObservationField,
194 >,
195 #[prost(message, optional, tag = "2")]
196 pub end_timestamp_field: ::core::option::Option<
197 super::super::super::super::common::ObservationField,
198 >,
199 }
200 #[derive(serde::Serialize, serde::Deserialize)]
201 #[serde(rename_all = "snake_case")]
202 #[derive(Clone, PartialEq, ::prost::Message)]
203 pub struct Duration {
204 #[prost(message, optional, tag = "1")]
205 pub start_timestamp_field: ::core::option::Option<
206 super::super::super::super::common::ObservationField,
207 >,
208 #[prost(message, optional, tag = "2")]
209 pub duration_field: ::core::option::Option<
210 super::super::super::super::common::ObservationField,
211 >,
212 }
213 #[derive(serde::Serialize, serde::Deserialize)]
214 #[serde(rename_all = "snake_case")]
215 #[derive(Clone, PartialEq, ::prost::Oneof)]
216 pub enum Value {
217 #[prost(message, tag = "1")]
218 Instant(Instant),
219 #[prost(message, tag = "2")]
220 Range(Range),
221 #[prost(message, tag = "3")]
222 Duration(Duration),
223 }
224 }
225 }
226}
227#[derive(serde::Serialize, serde::Deserialize)]
228#[serde(rename_all = "snake_case")]
229#[derive(Clone, PartialEq, ::prost::Message)]
230pub struct Filter {
231 #[prost(message, optional, tag = "1")]
232 pub source: ::core::option::Option<filter::Source>,
233 #[prost(message, optional, tag = "2")]
234 pub enabled: ::core::option::Option<bool>,
235 #[prost(message, optional, tag = "3")]
236 pub collapsed: ::core::option::Option<bool>,
237}
238pub mod filter {
240 #[derive(serde::Serialize, serde::Deserialize)]
241 #[serde(rename_all = "snake_case")]
242 #[derive(Clone, PartialEq, ::prost::Message)]
243 pub struct Source {
244 #[prost(oneof = "source::Value", tags = "1, 2, 3")]
245 pub value: ::core::option::Option<source::Value>,
246 }
247 pub mod source {
249 #[derive(serde::Serialize, serde::Deserialize)]
250 #[serde(rename_all = "snake_case")]
251 #[derive(Clone, PartialEq, ::prost::Oneof)]
252 pub enum Value {
253 #[prost(message, tag = "1")]
254 Logs(super::LogsFilter),
255 #[prost(message, tag = "2")]
256 Spans(super::SpansFilter),
257 #[prost(message, tag = "3")]
258 Metrics(super::MetricsFilter),
259 }
260 }
261 #[derive(serde::Serialize, serde::Deserialize)]
262 #[serde(rename_all = "snake_case")]
263 #[derive(Clone, PartialEq, ::prost::Message)]
264 pub struct LogsFilter {
265 #[prost(message, optional, tag = "1")]
266 pub field: ::core::option::Option<::prost::alloc::string::String>,
267 #[prost(message, optional, tag = "2")]
268 pub operator: ::core::option::Option<Operator>,
269 #[prost(message, optional, tag = "3")]
270 pub observation_field: ::core::option::Option<
271 super::super::common::ObservationField,
272 >,
273 }
274 #[derive(serde::Serialize, serde::Deserialize)]
275 #[serde(rename_all = "snake_case")]
276 #[derive(Clone, PartialEq, ::prost::Message)]
277 pub struct SpansFilter {
278 #[prost(message, optional, tag = "1")]
279 pub field: ::core::option::Option<super::super::common::SpanField>,
280 #[prost(message, optional, tag = "2")]
281 pub operator: ::core::option::Option<Operator>,
282 #[prost(message, optional, tag = "3")]
283 pub observation_field: ::core::option::Option<
284 super::super::common::SpanObservationField,
285 >,
286 }
287 #[derive(serde::Serialize, serde::Deserialize)]
288 #[serde(rename_all = "snake_case")]
289 #[derive(Clone, PartialEq, ::prost::Message)]
290 pub struct MetricsFilter {
291 #[prost(message, optional, tag = "1")]
292 pub metric: ::core::option::Option<::prost::alloc::string::String>,
293 #[prost(message, optional, tag = "2")]
294 pub label: ::core::option::Option<::prost::alloc::string::String>,
295 #[prost(message, optional, tag = "3")]
296 pub operator: ::core::option::Option<Operator>,
297 }
298 #[derive(serde::Serialize, serde::Deserialize)]
299 #[serde(rename_all = "snake_case")]
300 #[derive(Clone, PartialEq, ::prost::Message)]
301 pub struct Operator {
302 #[prost(oneof = "operator::Value", tags = "1, 2")]
304 pub value: ::core::option::Option<operator::Value>,
305 }
306 pub mod operator {
308 #[derive(serde::Serialize, serde::Deserialize)]
310 #[serde(rename_all = "snake_case")]
311 #[derive(Clone, PartialEq, ::prost::Oneof)]
312 pub enum Value {
313 #[prost(message, tag = "1")]
314 Equals(super::Equals),
315 #[prost(message, tag = "2")]
316 NotEquals(super::NotEquals),
317 }
318 }
319 #[derive(serde::Serialize, serde::Deserialize)]
320 #[serde(rename_all = "snake_case")]
321 #[derive(Clone, PartialEq, ::prost::Message)]
322 pub struct Equals {
323 #[prost(message, optional, tag = "1")]
324 pub selection: ::core::option::Option<equals::Selection>,
325 }
326 pub mod equals {
328 #[derive(serde::Serialize, serde::Deserialize)]
329 #[serde(rename_all = "snake_case")]
330 #[derive(Clone, PartialEq, ::prost::Message)]
331 pub struct Selection {
332 #[prost(oneof = "selection::Value", tags = "1, 2")]
334 pub value: ::core::option::Option<selection::Value>,
335 }
336 pub mod selection {
338 #[derive(serde::Serialize, serde::Deserialize)]
339 #[serde(rename_all = "snake_case")]
340 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
341 pub struct AllSelection {}
342 #[derive(serde::Serialize, serde::Deserialize)]
343 #[serde(rename_all = "snake_case")]
344 #[derive(Clone, PartialEq, ::prost::Message)]
345 pub struct ListSelection {
346 #[prost(message, repeated, tag = "1")]
347 pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
348 }
349 #[derive(serde::Serialize, serde::Deserialize)]
351 #[serde(rename_all = "snake_case")]
352 #[derive(Clone, PartialEq, ::prost::Oneof)]
353 pub enum Value {
354 #[prost(message, tag = "1")]
355 All(AllSelection),
356 #[prost(message, tag = "2")]
357 List(ListSelection),
358 }
359 }
360 }
361 #[derive(serde::Serialize, serde::Deserialize)]
362 #[serde(rename_all = "snake_case")]
363 #[derive(Clone, PartialEq, ::prost::Message)]
364 pub struct NotEquals {
365 #[prost(message, optional, tag = "1")]
366 pub selection: ::core::option::Option<not_equals::Selection>,
367 }
368 pub mod not_equals {
370 #[derive(serde::Serialize, serde::Deserialize)]
371 #[serde(rename_all = "snake_case")]
372 #[derive(Clone, PartialEq, ::prost::Message)]
373 pub struct Selection {
374 #[prost(oneof = "selection::Value", tags = "1")]
376 pub value: ::core::option::Option<selection::Value>,
377 }
378 pub mod selection {
380 #[derive(serde::Serialize, serde::Deserialize)]
381 #[serde(rename_all = "snake_case")]
382 #[derive(Clone, PartialEq, ::prost::Message)]
383 pub struct ListSelection {
384 #[prost(message, repeated, tag = "1")]
385 pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
386 }
387 #[derive(serde::Serialize, serde::Deserialize)]
389 #[serde(rename_all = "snake_case")]
390 #[derive(Clone, PartialEq, ::prost::Oneof)]
391 pub enum Value {
392 #[prost(message, tag = "1")]
393 List(ListSelection),
394 }
395 }
396 }
397}
398#[derive(serde::Serialize, serde::Deserialize)]
399#[serde(rename_all = "snake_case")]
400#[derive(Clone, PartialEq, ::prost::Message)]
401pub struct FolderPath {
402 #[prost(string, repeated, tag = "1")]
403 pub segments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
404}
405#[derive(serde::Serialize, serde::Deserialize)]
406#[serde(rename_all = "snake_case")]
407#[derive(Clone, PartialEq, ::prost::Message)]
408pub struct Widget {
409 #[prost(message, optional, tag = "1")]
411 pub id: ::core::option::Option<super::Uuid>,
412 #[prost(message, optional, tag = "2")]
413 pub title: ::core::option::Option<::prost::alloc::string::String>,
414 #[prost(message, optional, tag = "3")]
415 pub description: ::core::option::Option<::prost::alloc::string::String>,
416 #[prost(message, optional, tag = "4")]
417 pub definition: ::core::option::Option<widget::Definition>,
418 #[deprecated]
420 #[prost(message, optional, tag = "5")]
421 pub appearance: ::core::option::Option<widget::Appearance>,
422 #[prost(message, optional, tag = "6")]
424 pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
425 #[prost(message, optional, tag = "7")]
426 pub updated_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
427}
428pub mod widget {
430 #[derive(serde::Serialize, serde::Deserialize)]
431 #[serde(rename_all = "snake_case")]
432 #[derive(Clone, PartialEq, ::prost::Message)]
433 pub struct Definition {
434 #[prost(oneof = "definition::Value", tags = "1, 2, 3, 4, 5, 6, 7, 8")]
435 pub value: ::core::option::Option<definition::Value>,
436 }
437 pub mod definition {
439 #[derive(serde::Serialize, serde::Deserialize)]
440 #[serde(rename_all = "snake_case")]
441 #[derive(Clone, PartialEq, ::prost::Oneof)]
442 pub enum Value {
443 #[prost(message, tag = "1")]
444 LineChart(super::super::widgets::LineChart),
445 #[prost(message, tag = "2")]
446 DataTable(super::super::widgets::DataTable),
447 #[prost(message, tag = "3")]
448 Gauge(super::super::widgets::Gauge),
449 #[prost(message, tag = "4")]
450 PieChart(super::super::widgets::PieChart),
451 #[prost(message, tag = "5")]
452 BarChart(super::super::widgets::BarChart),
453 #[prost(message, tag = "6")]
454 HorizontalBarChart(super::super::widgets::HorizontalBarChart),
455 #[prost(message, tag = "7")]
456 Markdown(super::super::widgets::Markdown),
457 #[prost(message, tag = "8")]
458 Hexagon(super::super::widgets::Hexagon),
459 }
460 }
461 #[derive(serde::Serialize, serde::Deserialize)]
462 #[serde(rename_all = "snake_case")]
463 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
464 pub struct Appearance {
465 #[prost(message, optional, tag = "1")]
466 pub width: ::core::option::Option<i32>,
467 }
468}
469#[derive(serde::Serialize, serde::Deserialize)]
470#[serde(rename_all = "snake_case")]
471#[derive(Clone, PartialEq, ::prost::Message)]
472pub struct Layout {
473 #[prost(message, repeated, tag = "1")]
474 pub sections: ::prost::alloc::vec::Vec<Section>,
475}
476#[derive(serde::Serialize, serde::Deserialize)]
477#[serde(rename_all = "snake_case")]
478#[derive(Clone, PartialEq, ::prost::Message)]
479pub struct Section {
480 #[prost(message, optional, tag = "1")]
482 pub id: ::core::option::Option<super::Uuid>,
483 #[prost(message, repeated, tag = "2")]
484 pub rows: ::prost::alloc::vec::Vec<Row>,
485 #[prost(message, optional, tag = "3")]
486 pub options: ::core::option::Option<SectionOptions>,
487}
488#[derive(serde::Serialize, serde::Deserialize)]
489#[serde(rename_all = "snake_case")]
490#[derive(Clone, PartialEq, ::prost::Message)]
491pub struct Row {
492 #[prost(message, optional, tag = "1")]
494 pub id: ::core::option::Option<super::Uuid>,
495 #[prost(message, optional, tag = "2")]
496 pub appearance: ::core::option::Option<row::Appearance>,
497 #[prost(message, repeated, tag = "3")]
498 pub widgets: ::prost::alloc::vec::Vec<Widget>,
499}
500pub mod row {
502 #[derive(serde::Serialize, serde::Deserialize)]
503 #[serde(rename_all = "snake_case")]
504 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
505 pub struct Appearance {
506 #[prost(message, optional, tag = "1")]
507 pub height: ::core::option::Option<i32>,
508 }
509}
510#[derive(serde::Serialize, serde::Deserialize)]
511#[serde(rename_all = "snake_case")]
512#[derive(Clone, PartialEq, ::prost::Message)]
513pub struct SectionOptions {
514 #[prost(oneof = "section_options::Value", tags = "1, 2")]
515 pub value: ::core::option::Option<section_options::Value>,
516}
517pub mod section_options {
519 #[derive(serde::Serialize, serde::Deserialize)]
520 #[serde(rename_all = "snake_case")]
521 #[derive(Clone, PartialEq, ::prost::Oneof)]
522 pub enum Value {
523 #[prost(message, tag = "1")]
524 Internal(super::InternalSectionOptions),
525 #[prost(message, tag = "2")]
526 Custom(super::CustomSectionOptions),
527 }
528}
529#[derive(serde::Serialize, serde::Deserialize)]
530#[serde(rename_all = "snake_case")]
531#[derive(Clone, Copy, PartialEq, ::prost::Message)]
532pub struct InternalSectionOptions {}
533#[derive(serde::Serialize, serde::Deserialize)]
534#[serde(rename_all = "snake_case")]
535#[derive(Clone, PartialEq, ::prost::Message)]
536pub struct CustomSectionOptions {
537 #[prost(message, optional, tag = "1")]
538 pub name: ::core::option::Option<::prost::alloc::string::String>,
539 #[prost(message, optional, tag = "2")]
540 pub description: ::core::option::Option<::prost::alloc::string::String>,
541 #[prost(message, optional, tag = "3")]
542 pub collapsed: ::core::option::Option<bool>,
543 #[prost(message, optional, tag = "4")]
544 pub color: ::core::option::Option<SectionColor>,
545}
546#[derive(serde::Serialize, serde::Deserialize)]
547#[serde(rename_all = "snake_case")]
548#[derive(Clone, Copy, PartialEq, ::prost::Message)]
549pub struct SectionColor {
550 #[prost(oneof = "section_color::Value", tags = "1")]
551 pub value: ::core::option::Option<section_color::Value>,
552}
553pub mod section_color {
555 #[derive(serde::Serialize, serde::Deserialize)]
556 #[serde(rename_all = "snake_case")]
557 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
558 pub enum Value {
559 #[prost(enumeration = "super::SectionPredefinedColor", tag = "1")]
560 Predefined(i32),
561 }
562}
563#[derive(serde::Serialize, serde::Deserialize)]
564#[serde(rename_all = "snake_case")]
565#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
566#[repr(i32)]
567pub enum SectionPredefinedColor {
568 Unspecified = 0,
569 Cyan = 1,
570 Green = 2,
571 Blue = 3,
572 Purple = 4,
573 Magenta = 5,
574 Pink = 6,
575 Orange = 7,
576}
577impl SectionPredefinedColor {
578 pub fn as_str_name(&self) -> &'static str {
583 match self {
584 Self::Unspecified => "SECTION_PREDEFINED_COLOR_UNSPECIFIED",
585 Self::Cyan => "SECTION_PREDEFINED_COLOR_CYAN",
586 Self::Green => "SECTION_PREDEFINED_COLOR_GREEN",
587 Self::Blue => "SECTION_PREDEFINED_COLOR_BLUE",
588 Self::Purple => "SECTION_PREDEFINED_COLOR_PURPLE",
589 Self::Magenta => "SECTION_PREDEFINED_COLOR_MAGENTA",
590 Self::Pink => "SECTION_PREDEFINED_COLOR_PINK",
591 Self::Orange => "SECTION_PREDEFINED_COLOR_ORANGE",
592 }
593 }
594 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
596 match value {
597 "SECTION_PREDEFINED_COLOR_UNSPECIFIED" => Some(Self::Unspecified),
598 "SECTION_PREDEFINED_COLOR_CYAN" => Some(Self::Cyan),
599 "SECTION_PREDEFINED_COLOR_GREEN" => Some(Self::Green),
600 "SECTION_PREDEFINED_COLOR_BLUE" => Some(Self::Blue),
601 "SECTION_PREDEFINED_COLOR_PURPLE" => Some(Self::Purple),
602 "SECTION_PREDEFINED_COLOR_MAGENTA" => Some(Self::Magenta),
603 "SECTION_PREDEFINED_COLOR_PINK" => Some(Self::Pink),
604 "SECTION_PREDEFINED_COLOR_ORANGE" => Some(Self::Orange),
605 _ => None,
606 }
607 }
608}
609#[derive(serde::Serialize, serde::Deserialize)]
610#[serde(rename_all = "snake_case")]
611#[derive(Clone, PartialEq, ::prost::Message)]
612pub struct Variable {
613 #[prost(message, optional, tag = "1")]
614 pub name: ::core::option::Option<::prost::alloc::string::String>,
615 #[prost(message, optional, tag = "2")]
616 pub definition: ::core::option::Option<variable::Definition>,
617 #[prost(message, optional, tag = "3")]
618 pub display_name: ::core::option::Option<::prost::alloc::string::String>,
619 #[prost(message, optional, tag = "4")]
620 pub description: ::core::option::Option<::prost::alloc::string::String>,
621 #[prost(enumeration = "VariableDisplayType", tag = "5")]
622 pub display_type: i32,
623}
624pub mod variable {
626 #[derive(serde::Serialize, serde::Deserialize)]
627 #[serde(rename_all = "snake_case")]
628 #[derive(Clone, PartialEq, ::prost::Message)]
629 pub struct Definition {
630 #[prost(oneof = "definition::Value", tags = "1, 2")]
631 pub value: ::core::option::Option<definition::Value>,
632 }
633 pub mod definition {
635 #[derive(serde::Serialize, serde::Deserialize)]
636 #[serde(rename_all = "snake_case")]
637 #[derive(Clone, PartialEq, ::prost::Oneof)]
638 pub enum Value {
639 #[prost(message, tag = "1")]
640 Constant(super::super::Constant),
641 #[prost(message, tag = "2")]
642 MultiSelect(super::super::MultiSelect),
643 }
644 }
645}
646#[derive(serde::Serialize, serde::Deserialize)]
647#[serde(rename_all = "snake_case")]
648#[derive(Clone, PartialEq, ::prost::Message)]
649pub struct Constant {
650 #[prost(message, optional, tag = "1")]
651 pub value: ::core::option::Option<::prost::alloc::string::String>,
652}
653#[derive(serde::Serialize, serde::Deserialize)]
654#[serde(rename_all = "snake_case")]
655#[derive(Clone, PartialEq, ::prost::Message)]
656pub struct MultiSelect {
657 #[deprecated]
658 #[prost(message, repeated, tag = "1")]
659 pub selected: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
660 #[prost(message, optional, tag = "2")]
661 pub source: ::core::option::Option<multi_select::Source>,
662 #[prost(message, optional, tag = "3")]
663 pub selection: ::core::option::Option<multi_select::Selection>,
664 #[prost(enumeration = "super::common::OrderDirection", tag = "4")]
665 pub values_order_direction: i32,
666 #[prost(message, optional, tag = "5")]
667 pub selection_options: ::core::option::Option<
668 multi_select::VariableSelectionOptions,
669 >,
670}
671pub mod multi_select {
673 #[derive(serde::Serialize, serde::Deserialize)]
674 #[serde(rename_all = "snake_case")]
675 #[derive(Clone, PartialEq, ::prost::Message)]
676 pub struct Source {
677 #[prost(oneof = "source::Value", tags = "1, 2, 3, 4, 5")]
678 pub value: ::core::option::Option<source::Value>,
679 }
680 pub mod source {
682 #[derive(serde::Serialize, serde::Deserialize)]
683 #[serde(rename_all = "snake_case")]
684 #[derive(Clone, PartialEq, ::prost::Oneof)]
685 pub enum Value {
686 #[prost(message, tag = "1")]
687 LogsPath(super::LogsPathSource),
688 #[prost(message, tag = "2")]
689 MetricLabel(super::MetricLabelSource),
690 #[prost(message, tag = "3")]
691 ConstantList(super::ConstantListSource),
692 #[prost(message, tag = "4")]
693 SpanField(super::SpanFieldSource),
694 #[prost(message, tag = "5")]
695 Query(super::QuerySource),
696 }
697 }
698 #[derive(serde::Serialize, serde::Deserialize)]
699 #[serde(rename_all = "snake_case")]
700 #[derive(Clone, PartialEq, ::prost::Message)]
701 pub struct LogsPathSource {
702 #[prost(message, optional, tag = "1")]
703 pub value: ::core::option::Option<::prost::alloc::string::String>,
704 #[prost(message, optional, tag = "3")]
705 pub observation_field: ::core::option::Option<
706 super::super::common::ObservationField,
707 >,
708 }
709 #[derive(serde::Serialize, serde::Deserialize)]
710 #[serde(rename_all = "snake_case")]
711 #[derive(Clone, PartialEq, ::prost::Message)]
712 pub struct MetricLabelSource {
713 #[prost(message, optional, tag = "1")]
714 pub metric_name: ::core::option::Option<::prost::alloc::string::String>,
715 #[prost(message, optional, tag = "2")]
716 pub label: ::core::option::Option<::prost::alloc::string::String>,
717 }
718 #[derive(serde::Serialize, serde::Deserialize)]
719 #[serde(rename_all = "snake_case")]
720 #[derive(Clone, PartialEq, ::prost::Message)]
721 pub struct SpanFieldSource {
722 #[prost(message, optional, tag = "1")]
723 pub value: ::core::option::Option<super::super::common::SpanField>,
724 }
725 #[derive(serde::Serialize, serde::Deserialize)]
726 #[serde(rename_all = "snake_case")]
727 #[derive(Clone, PartialEq, ::prost::Message)]
728 pub struct ConstantListSource {
729 #[prost(message, repeated, tag = "1")]
730 pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
731 }
732 #[derive(serde::Serialize, serde::Deserialize)]
733 #[serde(rename_all = "snake_case")]
734 #[derive(Clone, PartialEq, ::prost::Message)]
735 pub struct QuerySource {
736 #[prost(message, optional, tag = "1")]
737 pub query: ::core::option::Option<Query>,
738 #[prost(enumeration = "RefreshStrategy", tag = "2")]
739 pub refresh_strategy: i32,
740 #[prost(message, optional, tag = "3")]
741 pub value_display_options: ::core::option::Option<ValueDisplayOptions>,
742 }
743 #[derive(serde::Serialize, serde::Deserialize)]
744 #[serde(rename_all = "snake_case")]
745 #[derive(Clone, PartialEq, ::prost::Message)]
746 pub struct Query {
747 #[prost(oneof = "query::Value", tags = "1, 2, 3")]
748 pub value: ::core::option::Option<query::Value>,
749 }
750 pub mod query {
752 #[derive(serde::Serialize, serde::Deserialize)]
753 #[serde(rename_all = "snake_case")]
754 #[derive(Clone, PartialEq, ::prost::Message)]
755 pub struct LogsQuery {
756 #[prost(message, optional, tag = "1")]
757 pub r#type: ::core::option::Option<logs_query::Type>,
758 }
759 pub mod logs_query {
761 #[derive(serde::Serialize, serde::Deserialize)]
762 #[serde(rename_all = "snake_case")]
763 #[derive(Clone, PartialEq, ::prost::Message)]
764 pub struct Type {
765 #[prost(oneof = "r#type::Value", tags = "1, 2")]
766 pub value: ::core::option::Option<r#type::Value>,
767 }
768 pub mod r#type {
770 #[derive(serde::Serialize, serde::Deserialize)]
771 #[serde(rename_all = "snake_case")]
772 #[derive(Clone, PartialEq, ::prost::Message)]
773 pub struct FieldName {
774 #[prost(message, optional, tag = "1")]
775 pub log_regex: ::core::option::Option<
776 ::prost::alloc::string::String,
777 >,
778 }
779 #[derive(serde::Serialize, serde::Deserialize)]
780 #[serde(rename_all = "snake_case")]
781 #[derive(Clone, PartialEq, ::prost::Message)]
782 pub struct FieldValue {
783 #[prost(message, optional, tag = "3")]
784 pub observation_field: ::core::option::Option<
785 super::super::super::super::super::common::ObservationField,
786 >,
787 }
788 #[derive(serde::Serialize, serde::Deserialize)]
789 #[serde(rename_all = "snake_case")]
790 #[derive(Clone, PartialEq, ::prost::Oneof)]
791 pub enum Value {
792 #[prost(message, tag = "1")]
793 FieldName(FieldName),
794 #[prost(message, tag = "2")]
795 FieldValue(FieldValue),
796 }
797 }
798 }
799 #[derive(serde::Serialize, serde::Deserialize)]
800 #[serde(rename_all = "snake_case")]
801 #[derive(Clone, PartialEq, ::prost::Message)]
802 pub struct SpansQuery {
803 #[prost(message, optional, tag = "1")]
804 pub r#type: ::core::option::Option<spans_query::Type>,
805 }
806 pub mod spans_query {
808 #[derive(serde::Serialize, serde::Deserialize)]
809 #[serde(rename_all = "snake_case")]
810 #[derive(Clone, PartialEq, ::prost::Message)]
811 pub struct Type {
812 #[prost(oneof = "r#type::Value", tags = "1, 2")]
813 pub value: ::core::option::Option<r#type::Value>,
814 }
815 pub mod r#type {
817 #[derive(serde::Serialize, serde::Deserialize)]
818 #[serde(rename_all = "snake_case")]
819 #[derive(Clone, PartialEq, ::prost::Message)]
820 pub struct FieldName {
821 #[prost(message, optional, tag = "1")]
822 pub span_regex: ::core::option::Option<
823 ::prost::alloc::string::String,
824 >,
825 }
826 #[derive(serde::Serialize, serde::Deserialize)]
827 #[serde(rename_all = "snake_case")]
828 #[derive(Clone, PartialEq, ::prost::Message)]
829 pub struct FieldValue {
830 #[prost(message, optional, tag = "1")]
831 pub value: ::core::option::Option<
832 super::super::super::super::super::common::SpanField,
833 >,
834 #[prost(message, optional, tag = "2")]
835 pub observation_field: ::core::option::Option<
836 super::super::super::super::super::common::ObservationField,
837 >,
838 }
839 #[derive(serde::Serialize, serde::Deserialize)]
840 #[serde(rename_all = "snake_case")]
841 #[derive(Clone, PartialEq, ::prost::Oneof)]
842 pub enum Value {
843 #[prost(message, tag = "1")]
844 FieldName(FieldName),
845 #[prost(message, tag = "2")]
846 FieldValue(FieldValue),
847 }
848 }
849 }
850 #[derive(serde::Serialize, serde::Deserialize)]
851 #[serde(rename_all = "snake_case")]
852 #[derive(Clone, PartialEq, ::prost::Message)]
853 pub struct MetricsQuery {
854 #[prost(message, optional, tag = "1")]
855 pub r#type: ::core::option::Option<metrics_query::Type>,
856 }
857 pub mod metrics_query {
859 #[derive(serde::Serialize, serde::Deserialize)]
860 #[serde(rename_all = "snake_case")]
861 #[derive(Clone, PartialEq, ::prost::Message)]
862 pub struct Type {
863 #[prost(oneof = "r#type::Value", tags = "1, 2, 3")]
864 pub value: ::core::option::Option<r#type::Value>,
865 }
866 pub mod r#type {
868 #[derive(serde::Serialize, serde::Deserialize)]
869 #[serde(rename_all = "snake_case")]
870 #[derive(Clone, PartialEq, ::prost::Message)]
871 pub struct MetricName {
872 #[prost(message, optional, tag = "1")]
873 pub metric_regex: ::core::option::Option<
874 ::prost::alloc::string::String,
875 >,
876 }
877 #[derive(serde::Serialize, serde::Deserialize)]
878 #[serde(rename_all = "snake_case")]
879 #[derive(Clone, PartialEq, ::prost::Message)]
880 pub struct LabelName {
881 #[prost(message, optional, tag = "1")]
882 pub metric_regex: ::core::option::Option<
883 ::prost::alloc::string::String,
884 >,
885 }
886 #[derive(serde::Serialize, serde::Deserialize)]
887 #[serde(rename_all = "snake_case")]
888 #[derive(Clone, PartialEq, ::prost::Message)]
889 pub struct LabelValue {
890 #[prost(message, optional, tag = "1")]
891 pub metric_name: ::core::option::Option<super::StringOrVariable>,
892 #[prost(message, optional, tag = "2")]
893 pub label_name: ::core::option::Option<super::StringOrVariable>,
894 #[prost(message, repeated, tag = "3")]
895 pub label_filters: ::prost::alloc::vec::Vec<
896 super::MetricsLabelFilter,
897 >,
898 }
899 #[derive(serde::Serialize, serde::Deserialize)]
900 #[serde(rename_all = "snake_case")]
901 #[derive(Clone, PartialEq, ::prost::Oneof)]
902 pub enum Value {
903 #[prost(message, tag = "1")]
904 MetricName(MetricName),
905 #[prost(message, tag = "2")]
906 LabelName(LabelName),
907 #[prost(message, tag = "3")]
908 LabelValue(LabelValue),
909 }
910 }
911 #[derive(serde::Serialize, serde::Deserialize)]
912 #[serde(rename_all = "snake_case")]
913 #[derive(Clone, PartialEq, ::prost::Message)]
914 pub struct StringOrVariable {
915 #[prost(oneof = "string_or_variable::Value", tags = "1, 2")]
916 pub value: ::core::option::Option<string_or_variable::Value>,
917 }
918 pub mod string_or_variable {
920 #[derive(serde::Serialize, serde::Deserialize)]
921 #[serde(rename_all = "snake_case")]
922 #[derive(Clone, PartialEq, ::prost::Oneof)]
923 pub enum Value {
924 #[prost(message, tag = "1")]
925 StringValue(::prost::alloc::string::String),
926 #[prost(message, tag = "2")]
927 VariableName(::prost::alloc::string::String),
928 }
929 }
930 #[derive(serde::Serialize, serde::Deserialize)]
931 #[serde(rename_all = "snake_case")]
932 #[derive(Clone, PartialEq, ::prost::Message)]
933 pub struct MetricsLabelFilter {
934 #[prost(message, optional, tag = "1")]
935 pub metric: ::core::option::Option<StringOrVariable>,
936 #[prost(message, optional, tag = "2")]
937 pub label: ::core::option::Option<StringOrVariable>,
938 #[prost(message, optional, tag = "3")]
939 pub operator: ::core::option::Option<Operator>,
940 }
941 #[derive(serde::Serialize, serde::Deserialize)]
942 #[serde(rename_all = "snake_case")]
943 #[derive(Clone, PartialEq, ::prost::Message)]
944 pub struct Operator {
945 #[prost(oneof = "operator::Value", tags = "1, 2")]
946 pub value: ::core::option::Option<operator::Value>,
947 }
948 pub mod operator {
950 #[derive(serde::Serialize, serde::Deserialize)]
951 #[serde(rename_all = "snake_case")]
952 #[derive(Clone, PartialEq, ::prost::Oneof)]
953 pub enum Value {
954 #[prost(message, tag = "1")]
955 Equals(super::Equals),
956 #[prost(message, tag = "2")]
957 NotEquals(super::NotEquals),
958 }
959 }
960 #[derive(serde::Serialize, serde::Deserialize)]
961 #[serde(rename_all = "snake_case")]
962 #[derive(Clone, PartialEq, ::prost::Message)]
963 pub struct Equals {
964 #[prost(message, optional, tag = "1")]
965 pub selection: ::core::option::Option<Selection>,
966 }
967 #[derive(serde::Serialize, serde::Deserialize)]
968 #[serde(rename_all = "snake_case")]
969 #[derive(Clone, PartialEq, ::prost::Message)]
970 pub struct NotEquals {
971 #[prost(message, optional, tag = "1")]
972 pub selection: ::core::option::Option<Selection>,
973 }
974 #[derive(serde::Serialize, serde::Deserialize)]
975 #[serde(rename_all = "snake_case")]
976 #[derive(Clone, PartialEq, ::prost::Message)]
977 pub struct Selection {
978 #[prost(oneof = "selection::Value", tags = "1")]
979 pub value: ::core::option::Option<selection::Value>,
980 }
981 pub mod selection {
983 #[derive(serde::Serialize, serde::Deserialize)]
984 #[serde(rename_all = "snake_case")]
985 #[derive(Clone, PartialEq, ::prost::Message)]
986 pub struct ListSelection {
987 #[prost(message, repeated, tag = "1")]
988 pub values: ::prost::alloc::vec::Vec<super::StringOrVariable>,
989 }
990 #[derive(serde::Serialize, serde::Deserialize)]
991 #[serde(rename_all = "snake_case")]
992 #[derive(Clone, PartialEq, ::prost::Oneof)]
993 pub enum Value {
994 #[prost(message, tag = "1")]
995 List(ListSelection),
996 }
997 }
998 }
999 #[derive(serde::Serialize, serde::Deserialize)]
1000 #[serde(rename_all = "snake_case")]
1001 #[derive(Clone, PartialEq, ::prost::Oneof)]
1002 pub enum Value {
1003 #[prost(message, tag = "1")]
1004 LogsQuery(LogsQuery),
1005 #[prost(message, tag = "2")]
1006 MetricsQuery(MetricsQuery),
1007 #[prost(message, tag = "3")]
1008 SpansQuery(SpansQuery),
1009 }
1010 }
1011 #[derive(serde::Serialize, serde::Deserialize)]
1012 #[serde(rename_all = "snake_case")]
1013 #[derive(Clone, PartialEq, ::prost::Message)]
1014 pub struct ValueDisplayOptions {
1015 #[prost(message, optional, tag = "1")]
1016 pub value_regex: ::core::option::Option<::prost::alloc::string::String>,
1017 #[prost(message, optional, tag = "2")]
1018 pub label_regex: ::core::option::Option<::prost::alloc::string::String>,
1019 }
1020 #[derive(serde::Serialize, serde::Deserialize)]
1021 #[serde(rename_all = "snake_case")]
1022 #[derive(Clone, PartialEq, ::prost::Message)]
1023 pub struct Selection {
1024 #[prost(oneof = "selection::Value", tags = "1, 2")]
1025 pub value: ::core::option::Option<selection::Value>,
1026 }
1027 pub mod selection {
1029 #[derive(serde::Serialize, serde::Deserialize)]
1030 #[serde(rename_all = "snake_case")]
1031 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1032 pub struct AllSelection {}
1033 #[derive(serde::Serialize, serde::Deserialize)]
1034 #[serde(rename_all = "snake_case")]
1035 #[derive(Clone, PartialEq, ::prost::Message)]
1036 pub struct ListSelection {
1037 #[prost(message, repeated, tag = "1")]
1038 pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1039 #[prost(message, repeated, tag = "2")]
1040 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1041 }
1042 #[derive(serde::Serialize, serde::Deserialize)]
1043 #[serde(rename_all = "snake_case")]
1044 #[derive(Clone, PartialEq, ::prost::Oneof)]
1045 pub enum Value {
1046 #[prost(message, tag = "1")]
1047 All(AllSelection),
1048 #[prost(message, tag = "2")]
1049 List(ListSelection),
1050 }
1051 }
1052 #[derive(serde::Serialize, serde::Deserialize)]
1053 #[serde(rename_all = "snake_case")]
1054 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1055 pub struct VariableSelectionOptions {
1056 #[prost(enumeration = "variable_selection_options::SelectionType", tag = "1")]
1057 pub selection_type: i32,
1058 }
1059 pub mod variable_selection_options {
1061 #[derive(serde::Serialize, serde::Deserialize)]
1062 #[serde(rename_all = "snake_case")]
1063 #[derive(
1064 Clone,
1065 Copy,
1066 Debug,
1067 PartialEq,
1068 Eq,
1069 Hash,
1070 PartialOrd,
1071 Ord,
1072 ::prost::Enumeration
1073 )]
1074 #[repr(i32)]
1075 pub enum SelectionType {
1076 Unspecified = 0,
1077 MultiAll = 1,
1078 Multi = 2,
1079 Single = 3,
1080 }
1081 impl SelectionType {
1082 pub fn as_str_name(&self) -> &'static str {
1087 match self {
1088 Self::Unspecified => "SELECTION_TYPE_UNSPECIFIED",
1089 Self::MultiAll => "SELECTION_TYPE_MULTI_ALL",
1090 Self::Multi => "SELECTION_TYPE_MULTI",
1091 Self::Single => "SELECTION_TYPE_SINGLE",
1092 }
1093 }
1094 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1096 match value {
1097 "SELECTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1098 "SELECTION_TYPE_MULTI_ALL" => Some(Self::MultiAll),
1099 "SELECTION_TYPE_MULTI" => Some(Self::Multi),
1100 "SELECTION_TYPE_SINGLE" => Some(Self::Single),
1101 _ => None,
1102 }
1103 }
1104 }
1105 }
1106 #[derive(serde::Serialize, serde::Deserialize)]
1107 #[serde(rename_all = "snake_case")]
1108 #[derive(
1109 Clone,
1110 Copy,
1111 Debug,
1112 PartialEq,
1113 Eq,
1114 Hash,
1115 PartialOrd,
1116 Ord,
1117 ::prost::Enumeration
1118 )]
1119 #[repr(i32)]
1120 pub enum RefreshStrategy {
1121 Unspecified = 0,
1122 OnDashboardLoad = 1,
1123 OnTimeFrameChange = 2,
1124 }
1125 impl RefreshStrategy {
1126 pub fn as_str_name(&self) -> &'static str {
1131 match self {
1132 Self::Unspecified => "REFRESH_STRATEGY_UNSPECIFIED",
1133 Self::OnDashboardLoad => "REFRESH_STRATEGY_ON_DASHBOARD_LOAD",
1134 Self::OnTimeFrameChange => "REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE",
1135 }
1136 }
1137 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1139 match value {
1140 "REFRESH_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
1141 "REFRESH_STRATEGY_ON_DASHBOARD_LOAD" => Some(Self::OnDashboardLoad),
1142 "REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE" => Some(Self::OnTimeFrameChange),
1143 _ => None,
1144 }
1145 }
1146 }
1147}
1148#[derive(serde::Serialize, serde::Deserialize)]
1149#[serde(rename_all = "snake_case")]
1150#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1151#[repr(i32)]
1152pub enum VariableDisplayType {
1153 Unspecified = 0,
1154 LabelValue = 1,
1155 Value = 2,
1156 Nothing = 3,
1157}
1158impl VariableDisplayType {
1159 pub fn as_str_name(&self) -> &'static str {
1164 match self {
1165 Self::Unspecified => "VARIABLE_DISPLAY_TYPE_UNSPECIFIED",
1166 Self::LabelValue => "VARIABLE_DISPLAY_TYPE_LABEL_VALUE",
1167 Self::Value => "VARIABLE_DISPLAY_TYPE_VALUE",
1168 Self::Nothing => "VARIABLE_DISPLAY_TYPE_NOTHING",
1169 }
1170 }
1171 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1173 match value {
1174 "VARIABLE_DISPLAY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1175 "VARIABLE_DISPLAY_TYPE_LABEL_VALUE" => Some(Self::LabelValue),
1176 "VARIABLE_DISPLAY_TYPE_VALUE" => Some(Self::Value),
1177 "VARIABLE_DISPLAY_TYPE_NOTHING" => Some(Self::Nothing),
1178 _ => None,
1179 }
1180 }
1181}
1182#[derive(serde::Serialize, serde::Deserialize)]
1183#[serde(rename_all = "snake_case")]
1184#[derive(Clone, PartialEq, ::prost::Message)]
1185pub struct Dashboard {
1186 #[prost(message, optional, tag = "1")]
1188 pub id: ::core::option::Option<::prost::alloc::string::String>,
1189 #[prost(message, optional, tag = "2")]
1191 pub name: ::core::option::Option<::prost::alloc::string::String>,
1192 #[prost(message, optional, tag = "3")]
1194 pub description: ::core::option::Option<::prost::alloc::string::String>,
1195 #[prost(message, optional, tag = "4")]
1197 pub layout: ::core::option::Option<Layout>,
1198 #[prost(message, repeated, tag = "5")]
1200 pub variables: ::prost::alloc::vec::Vec<Variable>,
1201 #[prost(message, repeated, tag = "6")]
1203 pub filters: ::prost::alloc::vec::Vec<Filter>,
1204 #[prost(message, repeated, tag = "11")]
1205 pub annotations: ::prost::alloc::vec::Vec<Annotation>,
1206 #[prost(oneof = "dashboard::TimeFrame", tags = "7, 8")]
1208 pub time_frame: ::core::option::Option<dashboard::TimeFrame>,
1209 #[prost(oneof = "dashboard::Folder", tags = "9, 10")]
1211 pub folder: ::core::option::Option<dashboard::Folder>,
1212 #[prost(oneof = "dashboard::AutoRefresh", tags = "12, 13, 14")]
1214 pub auto_refresh: ::core::option::Option<dashboard::AutoRefresh>,
1215}
1216pub mod dashboard {
1218 #[derive(serde::Serialize, serde::Deserialize)]
1219 #[serde(rename_all = "snake_case")]
1220 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1221 pub struct AutoRefreshOff {}
1222 #[derive(serde::Serialize, serde::Deserialize)]
1223 #[serde(rename_all = "snake_case")]
1224 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1225 pub struct AutoRefreshTwoMinutes {}
1226 #[derive(serde::Serialize, serde::Deserialize)]
1227 #[serde(rename_all = "snake_case")]
1228 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1229 pub struct AutoRefreshFiveMinutes {}
1230 #[derive(serde::Serialize, serde::Deserialize)]
1232 #[serde(rename_all = "snake_case")]
1233 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1234 pub enum TimeFrame {
1235 #[prost(message, tag = "7")]
1237 AbsoluteTimeFrame(super::super::common::TimeFrame),
1238 #[prost(message, tag = "8")]
1240 RelativeTimeFrame(::prost_wkt_types::Duration),
1241 }
1242 #[derive(serde::Serialize, serde::Deserialize)]
1244 #[serde(rename_all = "snake_case")]
1245 #[derive(Clone, PartialEq, ::prost::Oneof)]
1246 pub enum Folder {
1247 #[prost(message, tag = "9")]
1248 FolderId(super::super::Uuid),
1249 #[prost(message, tag = "10")]
1250 FolderPath(super::FolderPath),
1251 }
1252 #[derive(serde::Serialize, serde::Deserialize)]
1254 #[serde(rename_all = "snake_case")]
1255 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1256 pub enum AutoRefresh {
1257 #[prost(message, tag = "12")]
1258 Off(AutoRefreshOff),
1259 #[prost(message, tag = "13")]
1260 TwoMinutes(AutoRefreshTwoMinutes),
1261 #[prost(message, tag = "14")]
1262 FiveMinutes(AutoRefreshFiveMinutes),
1263 }
1264}