1#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5#[repr(i32)]
6pub enum Unit {
7 Unspecified = 0,
8 Microseconds = 1,
9 Milliseconds = 2,
10 Seconds = 3,
11 Bytes = 4,
12 Kbytes = 5,
13 Mbytes = 6,
14 Gbytes = 7,
15 BytesIec = 8,
16 Kibytes = 9,
17 Mibytes = 10,
18 Gibytes = 11,
19 EurCents = 12,
20 Eur = 13,
21 UsdCents = 14,
22 Usd = 15,
23 Nanoseconds = 16,
24 Custom = 17,
25 PercentZeroOne = 18,
26 PercentZeroHundred = 19,
27 Percent = 20,
28}
29impl Unit {
30 pub fn as_str_name(&self) -> &'static str {
35 match self {
36 Self::Unspecified => "UNIT_UNSPECIFIED",
37 Self::Microseconds => "UNIT_MICROSECONDS",
38 Self::Milliseconds => "UNIT_MILLISECONDS",
39 Self::Seconds => "UNIT_SECONDS",
40 Self::Bytes => "UNIT_BYTES",
41 Self::Kbytes => "UNIT_KBYTES",
42 Self::Mbytes => "UNIT_MBYTES",
43 Self::Gbytes => "UNIT_GBYTES",
44 Self::BytesIec => "UNIT_BYTES_IEC",
45 Self::Kibytes => "UNIT_KIBYTES",
46 Self::Mibytes => "UNIT_MIBYTES",
47 Self::Gibytes => "UNIT_GIBYTES",
48 Self::EurCents => "UNIT_EUR_CENTS",
49 Self::Eur => "UNIT_EUR",
50 Self::UsdCents => "UNIT_USD_CENTS",
51 Self::Usd => "UNIT_USD",
52 Self::Nanoseconds => "UNIT_NANOSECONDS",
53 Self::Custom => "UNIT_CUSTOM",
54 Self::PercentZeroOne => "UNIT_PERCENT_ZERO_ONE",
55 Self::PercentZeroHundred => "UNIT_PERCENT_ZERO_HUNDRED",
56 Self::Percent => "UNIT_PERCENT",
57 }
58 }
59 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
61 match value {
62 "UNIT_UNSPECIFIED" => Some(Self::Unspecified),
63 "UNIT_MICROSECONDS" => Some(Self::Microseconds),
64 "UNIT_MILLISECONDS" => Some(Self::Milliseconds),
65 "UNIT_SECONDS" => Some(Self::Seconds),
66 "UNIT_BYTES" => Some(Self::Bytes),
67 "UNIT_KBYTES" => Some(Self::Kbytes),
68 "UNIT_MBYTES" => Some(Self::Mbytes),
69 "UNIT_GBYTES" => Some(Self::Gbytes),
70 "UNIT_BYTES_IEC" => Some(Self::BytesIec),
71 "UNIT_KIBYTES" => Some(Self::Kibytes),
72 "UNIT_MIBYTES" => Some(Self::Mibytes),
73 "UNIT_GIBYTES" => Some(Self::Gibytes),
74 "UNIT_EUR_CENTS" => Some(Self::EurCents),
75 "UNIT_EUR" => Some(Self::Eur),
76 "UNIT_USD_CENTS" => Some(Self::UsdCents),
77 "UNIT_USD" => Some(Self::Usd),
78 "UNIT_NANOSECONDS" => Some(Self::Nanoseconds),
79 "UNIT_CUSTOM" => Some(Self::Custom),
80 "UNIT_PERCENT_ZERO_ONE" => Some(Self::PercentZeroOne),
81 "UNIT_PERCENT_ZERO_HUNDRED" => Some(Self::PercentZeroHundred),
82 "UNIT_PERCENT" => Some(Self::Percent),
83 _ => None,
84 }
85 }
86}
87#[derive(serde::Serialize, serde::Deserialize)]
88#[serde(rename_all = "snake_case")]
89#[derive(Clone, Copy, PartialEq, ::prost::Message)]
90pub struct ColorsBy {
91 #[prost(oneof = "colors_by::Value", tags = "1, 2, 3, 4, 5")]
92 pub value: ::core::option::Option<colors_by::Value>,
93}
94pub mod colors_by {
96 #[derive(serde::Serialize, serde::Deserialize)]
97 #[serde(rename_all = "snake_case")]
98 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
99 pub struct ColorsByStack {}
100 #[derive(serde::Serialize, serde::Deserialize)]
101 #[serde(rename_all = "snake_case")]
102 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
103 pub struct ColorsByGroupBy {}
104 #[derive(serde::Serialize, serde::Deserialize)]
105 #[serde(rename_all = "snake_case")]
106 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
107 pub struct ColorsByAggregation {}
108 #[derive(serde::Serialize, serde::Deserialize)]
109 #[serde(rename_all = "snake_case")]
110 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
111 pub struct ColorsByQuery {}
112 #[derive(serde::Serialize, serde::Deserialize)]
113 #[serde(rename_all = "snake_case")]
114 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
115 pub struct ColorsByCategory {}
116 #[derive(serde::Serialize, serde::Deserialize)]
117 #[serde(rename_all = "snake_case")]
118 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
119 pub enum Value {
120 #[prost(message, tag = "1")]
121 Stack(ColorsByStack),
122 #[prost(message, tag = "2")]
123 GroupBy(ColorsByGroupBy),
124 #[prost(message, tag = "3")]
125 Aggregation(ColorsByAggregation),
126 #[prost(message, tag = "4")]
127 Query(ColorsByQuery),
128 #[prost(message, tag = "5")]
129 Category(ColorsByCategory),
130 }
131}
132#[derive(serde::Serialize, serde::Deserialize)]
133#[serde(rename_all = "snake_case")]
134#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
135#[repr(i32)]
136pub enum DataModeType {
137 HighUnspecified = 0,
138 Archive = 1,
139}
140impl DataModeType {
141 pub fn as_str_name(&self) -> &'static str {
146 match self {
147 Self::HighUnspecified => "DATA_MODE_TYPE_HIGH_UNSPECIFIED",
148 Self::Archive => "DATA_MODE_TYPE_ARCHIVE",
149 }
150 }
151 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
153 match value {
154 "DATA_MODE_TYPE_HIGH_UNSPECIFIED" => Some(Self::HighUnspecified),
155 "DATA_MODE_TYPE_ARCHIVE" => Some(Self::Archive),
156 _ => None,
157 }
158 }
159}
160#[derive(serde::Serialize, serde::Deserialize)]
161#[serde(rename_all = "snake_case")]
162#[derive(Clone, Copy, PartialEq, ::prost::Message)]
163pub struct IntervalResolution {
164 #[prost(message, optional, tag = "3")]
165 pub use_advanced_limit: ::core::option::Option<bool>,
166 #[prost(oneof = "interval_resolution::Value", tags = "1, 2")]
167 pub value: ::core::option::Option<interval_resolution::Value>,
168}
169pub mod interval_resolution {
171 #[derive(serde::Serialize, serde::Deserialize)]
172 #[serde(rename_all = "snake_case")]
173 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
174 pub enum Value {
175 #[prost(message, tag = "1")]
176 Auto(super::AutoIntervalResolution),
177 #[prost(message, tag = "2")]
178 Manual(super::ManualIntervalResolution),
179 }
180}
181#[derive(serde::Serialize, serde::Deserialize)]
182#[serde(rename_all = "snake_case")]
183#[derive(Clone, Copy, PartialEq, ::prost::Message)]
184pub struct AutoIntervalResolution {
185 #[prost(message, optional, tag = "1")]
186 pub minimum_interval: ::core::option::Option<::prost_wkt_types::Duration>,
187 #[prost(message, optional, tag = "2")]
188 pub maximum_data_points: ::core::option::Option<i32>,
189}
190#[derive(serde::Serialize, serde::Deserialize)]
191#[serde(rename_all = "snake_case")]
192#[derive(Clone, Copy, PartialEq, ::prost::Message)]
193pub struct ManualIntervalResolution {
194 #[prost(message, optional, tag = "1")]
195 pub interval: ::core::option::Option<::prost_wkt_types::Duration>,
196 #[prost(message, optional, tag = "2")]
197 pub minimum_interval: ::core::option::Option<::prost_wkt_types::Duration>,
198 #[prost(message, optional, tag = "3")]
199 pub maximum_data_points: ::core::option::Option<i32>,
200}
201#[derive(serde::Serialize, serde::Deserialize)]
202#[serde(rename_all = "snake_case")]
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct SeriesVisibilityQueryMatcher {
205 #[prost(message, optional, tag = "1")]
206 pub query_id: ::core::option::Option<::prost::alloc::string::String>,
207}
208#[derive(serde::Serialize, serde::Deserialize)]
209#[serde(rename_all = "snake_case")]
210#[derive(Clone, PartialEq, ::prost::Message)]
211pub struct SeriesVisibilityThresholdMatcher {
212 #[prost(message, optional, tag = "1")]
213 pub threshold_label: ::core::option::Option<::prost::alloc::string::String>,
214}
215#[derive(serde::Serialize, serde::Deserialize)]
216#[serde(rename_all = "snake_case")]
217#[derive(Clone, PartialEq, ::prost::Message)]
218pub struct QuerySeriesVisibility {
219 #[prost(message, optional, tag = "1")]
220 pub query: ::core::option::Option<SeriesVisibilityQueryMatcher>,
221 #[prost(message, optional, tag = "2")]
222 pub threshold: ::core::option::Option<SeriesVisibilityThresholdMatcher>,
223 #[prost(enumeration = "SeriesVisibilityMode", tag = "3")]
224 pub visibility: i32,
225 #[prost(message, repeated, tag = "4")]
226 pub series_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
227}
228#[derive(serde::Serialize, serde::Deserialize)]
229#[serde(rename_all = "snake_case")]
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct AnnotationSeriesVisibility {
232 #[prost(message, optional, tag = "1")]
233 pub annotation_id: ::core::option::Option<::prost::alloc::string::String>,
234 #[prost(enumeration = "SeriesVisibilityMode", tag = "2")]
235 pub visibility: i32,
236 #[prost(message, repeated, tag = "3")]
237 pub series_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
238}
239#[derive(serde::Serialize, serde::Deserialize)]
240#[serde(rename_all = "snake_case")]
241#[derive(Clone, PartialEq, ::prost::Message)]
242pub struct SeriesVisibility {
243 #[prost(message, repeated, tag = "1")]
244 pub query_series: ::prost::alloc::vec::Vec<QuerySeriesVisibility>,
245 #[prost(message, repeated, tag = "2")]
246 pub annotation_series: ::prost::alloc::vec::Vec<AnnotationSeriesVisibility>,
247}
248#[derive(serde::Serialize, serde::Deserialize)]
249#[serde(rename_all = "snake_case")]
250#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
251#[repr(i32)]
252pub enum SeriesVisibilityMode {
253 Unspecified = 0,
254 HideAll = 1,
255 ShowOnly = 2,
256}
257impl SeriesVisibilityMode {
258 pub fn as_str_name(&self) -> &'static str {
263 match self {
264 Self::Unspecified => "SERIES_VISIBILITY_MODE_UNSPECIFIED",
265 Self::HideAll => "SERIES_VISIBILITY_MODE_HIDE_ALL",
266 Self::ShowOnly => "SERIES_VISIBILITY_MODE_SHOW_ONLY",
267 }
268 }
269 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
271 match value {
272 "SERIES_VISIBILITY_MODE_UNSPECIFIED" => Some(Self::Unspecified),
273 "SERIES_VISIBILITY_MODE_HIDE_ALL" => Some(Self::HideAll),
274 "SERIES_VISIBILITY_MODE_SHOW_ONLY" => Some(Self::ShowOnly),
275 _ => None,
276 }
277 }
278}
279#[derive(serde::Serialize, serde::Deserialize)]
280#[serde(rename_all = "snake_case")]
281#[derive(Clone, PartialEq, ::prost::Message)]
282pub struct Legend {
283 #[prost(message, optional, tag = "1")]
284 pub is_visible: ::core::option::Option<bool>,
285 #[prost(enumeration = "legend::LegendColumn", repeated, packed = "false", tag = "2")]
286 pub columns: ::prost::alloc::vec::Vec<i32>,
287 #[prost(message, optional, tag = "3")]
288 pub group_by_query: ::core::option::Option<bool>,
289 #[prost(enumeration = "legend::LegendPlacement", tag = "4")]
290 pub placement: i32,
291 #[prost(message, optional, tag = "5")]
292 pub series_visibility: ::core::option::Option<SeriesVisibility>,
293}
294pub mod legend {
296 #[derive(serde::Serialize, serde::Deserialize)]
297 #[serde(rename_all = "snake_case")]
298 #[derive(
299 Clone,
300 Copy,
301 Debug,
302 PartialEq,
303 Eq,
304 Hash,
305 PartialOrd,
306 Ord,
307 ::prost::Enumeration
308 )]
309 #[repr(i32)]
310 pub enum LegendColumn {
311 Unspecified = 0,
312 Min = 1,
313 Max = 2,
314 Sum = 3,
315 Avg = 4,
316 Last = 5,
317 Name = 6,
318 SimpleValue = 7,
319 }
320 impl LegendColumn {
321 pub fn as_str_name(&self) -> &'static str {
326 match self {
327 Self::Unspecified => "LEGEND_COLUMN_UNSPECIFIED",
328 Self::Min => "LEGEND_COLUMN_MIN",
329 Self::Max => "LEGEND_COLUMN_MAX",
330 Self::Sum => "LEGEND_COLUMN_SUM",
331 Self::Avg => "LEGEND_COLUMN_AVG",
332 Self::Last => "LEGEND_COLUMN_LAST",
333 Self::Name => "LEGEND_COLUMN_NAME",
334 Self::SimpleValue => "LEGEND_COLUMN_SIMPLE_VALUE",
335 }
336 }
337 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
339 match value {
340 "LEGEND_COLUMN_UNSPECIFIED" => Some(Self::Unspecified),
341 "LEGEND_COLUMN_MIN" => Some(Self::Min),
342 "LEGEND_COLUMN_MAX" => Some(Self::Max),
343 "LEGEND_COLUMN_SUM" => Some(Self::Sum),
344 "LEGEND_COLUMN_AVG" => Some(Self::Avg),
345 "LEGEND_COLUMN_LAST" => Some(Self::Last),
346 "LEGEND_COLUMN_NAME" => Some(Self::Name),
347 "LEGEND_COLUMN_SIMPLE_VALUE" => Some(Self::SimpleValue),
348 _ => None,
349 }
350 }
351 }
352 #[derive(serde::Serialize, serde::Deserialize)]
353 #[serde(rename_all = "snake_case")]
354 #[derive(
355 Clone,
356 Copy,
357 Debug,
358 PartialEq,
359 Eq,
360 Hash,
361 PartialOrd,
362 Ord,
363 ::prost::Enumeration
364 )]
365 #[repr(i32)]
366 pub enum LegendPlacement {
367 Unspecified = 0,
368 Auto = 1,
369 Bottom = 2,
370 Side = 3,
371 Hidden = 4,
372 }
373 impl LegendPlacement {
374 pub fn as_str_name(&self) -> &'static str {
379 match self {
380 Self::Unspecified => "LEGEND_PLACEMENT_UNSPECIFIED",
381 Self::Auto => "LEGEND_PLACEMENT_AUTO",
382 Self::Bottom => "LEGEND_PLACEMENT_BOTTOM",
383 Self::Side => "LEGEND_PLACEMENT_SIDE",
384 Self::Hidden => "LEGEND_PLACEMENT_HIDDEN",
385 }
386 }
387 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
389 match value {
390 "LEGEND_PLACEMENT_UNSPECIFIED" => Some(Self::Unspecified),
391 "LEGEND_PLACEMENT_AUTO" => Some(Self::Auto),
392 "LEGEND_PLACEMENT_BOTTOM" => Some(Self::Bottom),
393 "LEGEND_PLACEMENT_SIDE" => Some(Self::Side),
394 "LEGEND_PLACEMENT_HIDDEN" => Some(Self::Hidden),
395 _ => None,
396 }
397 }
398 }
399}
400#[derive(serde::Serialize, serde::Deserialize)]
401#[serde(rename_all = "snake_case")]
402#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
403#[repr(i32)]
404pub enum LegendBy {
405 Unspecified = 0,
406 Thresholds = 1,
407 Groups = 2,
408}
409impl LegendBy {
410 pub fn as_str_name(&self) -> &'static str {
415 match self {
416 Self::Unspecified => "LEGEND_BY_UNSPECIFIED",
417 Self::Thresholds => "LEGEND_BY_THRESHOLDS",
418 Self::Groups => "LEGEND_BY_GROUPS",
419 }
420 }
421 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
423 match value {
424 "LEGEND_BY_UNSPECIFIED" => Some(Self::Unspecified),
425 "LEGEND_BY_THRESHOLDS" => Some(Self::Thresholds),
426 "LEGEND_BY_GROUPS" => Some(Self::Groups),
427 _ => None,
428 }
429 }
430}
431#[derive(serde::Serialize, serde::Deserialize)]
432#[serde(rename_all = "snake_case")]
433#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
434#[repr(i32)]
435pub enum Aggregation {
436 Unspecified = 0,
437 Last = 1,
438 Min = 2,
439 Max = 3,
440 Avg = 4,
441 Sum = 5,
442}
443impl Aggregation {
444 pub fn as_str_name(&self) -> &'static str {
449 match self {
450 Self::Unspecified => "AGGREGATION_UNSPECIFIED",
451 Self::Last => "AGGREGATION_LAST",
452 Self::Min => "AGGREGATION_MIN",
453 Self::Max => "AGGREGATION_MAX",
454 Self::Avg => "AGGREGATION_AVG",
455 Self::Sum => "AGGREGATION_SUM",
456 }
457 }
458 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
460 match value {
461 "AGGREGATION_UNSPECIFIED" => Some(Self::Unspecified),
462 "AGGREGATION_LAST" => Some(Self::Last),
463 "AGGREGATION_MIN" => Some(Self::Min),
464 "AGGREGATION_MAX" => Some(Self::Max),
465 "AGGREGATION_AVG" => Some(Self::Avg),
466 "AGGREGATION_SUM" => Some(Self::Sum),
467 _ => None,
468 }
469 }
470}
471#[derive(serde::Serialize, serde::Deserialize)]
472#[serde(rename_all = "snake_case")]
473#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
474#[repr(i32)]
475pub enum MetricsQueryEditorMode {
476 Unspecified = 0,
477 Text = 1,
478 Builder = 2,
479}
480impl MetricsQueryEditorMode {
481 pub fn as_str_name(&self) -> &'static str {
486 match self {
487 Self::Unspecified => "METRICS_QUERY_EDITOR_MODE_UNSPECIFIED",
488 Self::Text => "METRICS_QUERY_EDITOR_MODE_TEXT",
489 Self::Builder => "METRICS_QUERY_EDITOR_MODE_BUILDER",
490 }
491 }
492 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
494 match value {
495 "METRICS_QUERY_EDITOR_MODE_UNSPECIFIED" => Some(Self::Unspecified),
496 "METRICS_QUERY_EDITOR_MODE_TEXT" => Some(Self::Text),
497 "METRICS_QUERY_EDITOR_MODE_BUILDER" => Some(Self::Builder),
498 _ => None,
499 }
500 }
501}
502#[derive(serde::Serialize, serde::Deserialize)]
503#[serde(rename_all = "snake_case")]
504#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
505#[repr(i32)]
506pub enum ScaleType {
507 Unspecified = 0,
508 Linear = 1,
509 Logarithmic = 2,
510}
511impl ScaleType {
512 pub fn as_str_name(&self) -> &'static str {
517 match self {
518 Self::Unspecified => "SCALE_TYPE_UNSPECIFIED",
519 Self::Linear => "SCALE_TYPE_LINEAR",
520 Self::Logarithmic => "SCALE_TYPE_LOGARITHMIC",
521 }
522 }
523 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
525 match value {
526 "SCALE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
527 "SCALE_TYPE_LINEAR" => Some(Self::Linear),
528 "SCALE_TYPE_LOGARITHMIC" => Some(Self::Logarithmic),
529 _ => None,
530 }
531 }
532}
533#[derive(serde::Serialize, serde::Deserialize)]
534#[serde(rename_all = "snake_case")]
535#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
536#[repr(i32)]
537pub enum SortByType {
538 Unspecified = 0,
539 Value = 1,
540 Name = 2,
541}
542impl SortByType {
543 pub fn as_str_name(&self) -> &'static str {
548 match self {
549 Self::Unspecified => "SORT_BY_TYPE_UNSPECIFIED",
550 Self::Value => "SORT_BY_TYPE_VALUE",
551 Self::Name => "SORT_BY_TYPE_NAME",
552 }
553 }
554 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
556 match value {
557 "SORT_BY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
558 "SORT_BY_TYPE_VALUE" => Some(Self::Value),
559 "SORT_BY_TYPE_NAME" => Some(Self::Name),
560 _ => None,
561 }
562 }
563}
564#[derive(serde::Serialize, serde::Deserialize)]
565#[serde(rename_all = "snake_case")]
566#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
567#[repr(i32)]
568pub enum ColorGradientType {
569 Unspecified = 0,
570 Blue = 1,
571 Green = 2,
572 Red = 3,
573 Threshold = 4,
574 BlueReversed = 5,
575 GreenReversed = 6,
576 RedReversed = 7,
577 ThresholdReversed = 8,
578}
579impl ColorGradientType {
580 pub fn as_str_name(&self) -> &'static str {
585 match self {
586 Self::Unspecified => "COLOR_GRADIENT_TYPE_UNSPECIFIED",
587 Self::Blue => "COLOR_GRADIENT_TYPE_BLUE",
588 Self::Green => "COLOR_GRADIENT_TYPE_GREEN",
589 Self::Red => "COLOR_GRADIENT_TYPE_RED",
590 Self::Threshold => "COLOR_GRADIENT_TYPE_THRESHOLD",
591 Self::BlueReversed => "COLOR_GRADIENT_TYPE_BLUE_REVERSED",
592 Self::GreenReversed => "COLOR_GRADIENT_TYPE_GREEN_REVERSED",
593 Self::RedReversed => "COLOR_GRADIENT_TYPE_RED_REVERSED",
594 Self::ThresholdReversed => "COLOR_GRADIENT_TYPE_THRESHOLD_REVERSED",
595 }
596 }
597 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
599 match value {
600 "COLOR_GRADIENT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
601 "COLOR_GRADIENT_TYPE_BLUE" => Some(Self::Blue),
602 "COLOR_GRADIENT_TYPE_GREEN" => Some(Self::Green),
603 "COLOR_GRADIENT_TYPE_RED" => Some(Self::Red),
604 "COLOR_GRADIENT_TYPE_THRESHOLD" => Some(Self::Threshold),
605 "COLOR_GRADIENT_TYPE_BLUE_REVERSED" => Some(Self::BlueReversed),
606 "COLOR_GRADIENT_TYPE_GREEN_REVERSED" => Some(Self::GreenReversed),
607 "COLOR_GRADIENT_TYPE_RED_REVERSED" => Some(Self::RedReversed),
608 "COLOR_GRADIENT_TYPE_THRESHOLD_REVERSED" => Some(Self::ThresholdReversed),
609 _ => None,
610 }
611 }
612}
613#[derive(serde::Serialize, serde::Deserialize)]
614#[serde(rename_all = "snake_case")]
615#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
616#[repr(i32)]
617pub enum ColorSolidType {
618 Unspecified = 0,
619 Blue = 1,
620 Green = 2,
621 Red = 3,
622 Purple = 4,
623}
624impl ColorSolidType {
625 pub fn as_str_name(&self) -> &'static str {
630 match self {
631 Self::Unspecified => "COLOR_SOLID_TYPE_UNSPECIFIED",
632 Self::Blue => "COLOR_SOLID_TYPE_BLUE",
633 Self::Green => "COLOR_SOLID_TYPE_GREEN",
634 Self::Red => "COLOR_SOLID_TYPE_RED",
635 Self::Purple => "COLOR_SOLID_TYPE_PURPLE",
636 }
637 }
638 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
640 match value {
641 "COLOR_SOLID_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
642 "COLOR_SOLID_TYPE_BLUE" => Some(Self::Blue),
643 "COLOR_SOLID_TYPE_GREEN" => Some(Self::Green),
644 "COLOR_SOLID_TYPE_RED" => Some(Self::Red),
645 "COLOR_SOLID_TYPE_PURPLE" => Some(Self::Purple),
646 _ => None,
647 }
648 }
649}
650#[derive(serde::Serialize, serde::Deserialize)]
651#[serde(rename_all = "snake_case")]
652#[derive(Clone, Copy, PartialEq, ::prost::Message)]
653pub struct MinMax {
654 #[prost(oneof = "min_max::Value", tags = "1, 2")]
655 pub value: ::core::option::Option<min_max::Value>,
656}
657pub mod min_max {
659 #[derive(serde::Serialize, serde::Deserialize)]
660 #[serde(rename_all = "snake_case")]
661 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
662 pub struct MinMaxAuto {}
663 #[derive(serde::Serialize, serde::Deserialize)]
664 #[serde(rename_all = "snake_case")]
665 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
666 pub struct MinMaxCustom {
667 #[prost(message, optional, tag = "1")]
668 pub min: ::core::option::Option<f64>,
669 #[prost(message, optional, tag = "2")]
670 pub max: ::core::option::Option<f64>,
671 }
672 #[derive(serde::Serialize, serde::Deserialize)]
673 #[serde(rename_all = "snake_case")]
674 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
675 pub enum Value {
676 #[prost(message, tag = "1")]
677 Auto(MinMaxAuto),
678 #[prost(message, tag = "2")]
679 Custom(MinMaxCustom),
680 }
681}
682#[derive(serde::Serialize, serde::Deserialize)]
683#[serde(rename_all = "snake_case")]
684#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
685#[repr(i32)]
686pub enum TextAlignment {
687 Unspecified = 0,
688 Left = 1,
689 Center = 2,
690 Right = 3,
691}
692impl TextAlignment {
693 pub fn as_str_name(&self) -> &'static str {
698 match self {
699 Self::Unspecified => "TEXT_ALIGNMENT_UNSPECIFIED",
700 Self::Left => "TEXT_ALIGNMENT_LEFT",
701 Self::Center => "TEXT_ALIGNMENT_CENTER",
702 Self::Right => "TEXT_ALIGNMENT_RIGHT",
703 }
704 }
705 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
707 match value {
708 "TEXT_ALIGNMENT_UNSPECIFIED" => Some(Self::Unspecified),
709 "TEXT_ALIGNMENT_LEFT" => Some(Self::Left),
710 "TEXT_ALIGNMENT_CENTER" => Some(Self::Center),
711 "TEXT_ALIGNMENT_RIGHT" => Some(Self::Right),
712 _ => None,
713 }
714 }
715}
716#[derive(serde::Serialize, serde::Deserialize)]
717#[serde(rename_all = "snake_case")]
718#[derive(Clone, PartialEq, ::prost::Message)]
719pub struct Threshold {
720 #[prost(message, optional, tag = "1")]
721 pub from: ::core::option::Option<f64>,
722 #[prost(message, optional, tag = "2")]
723 pub color: ::core::option::Option<::prost::alloc::string::String>,
724 #[prost(message, optional, tag = "3")]
725 pub label: ::core::option::Option<::prost::alloc::string::String>,
726}
727#[derive(serde::Serialize, serde::Deserialize)]
728#[serde(rename_all = "snake_case")]
729#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
730#[repr(i32)]
731pub enum ThresholdType {
732 Unspecified = 0,
733 Relative = 1,
734 Absolute = 2,
735}
736impl ThresholdType {
737 pub fn as_str_name(&self) -> &'static str {
742 match self {
743 Self::Unspecified => "THRESHOLD_TYPE_UNSPECIFIED",
744 Self::Relative => "THRESHOLD_TYPE_RELATIVE",
745 Self::Absolute => "THRESHOLD_TYPE_ABSOLUTE",
746 }
747 }
748 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
750 match value {
751 "THRESHOLD_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
752 "THRESHOLD_TYPE_RELATIVE" => Some(Self::Relative),
753 "THRESHOLD_TYPE_ABSOLUTE" => Some(Self::Absolute),
754 _ => None,
755 }
756 }
757}
758#[derive(serde::Serialize, serde::Deserialize)]
759#[serde(rename_all = "snake_case")]
760#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
761#[repr(i32)]
762pub enum ThresholdBy {
763 Unspecified = 0,
764 Value = 1,
765 Background = 2,
766}
767impl ThresholdBy {
768 pub fn as_str_name(&self) -> &'static str {
773 match self {
774 Self::Unspecified => "THRESHOLD_BY_UNSPECIFIED",
775 Self::Value => "THRESHOLD_BY_VALUE",
776 Self::Background => "THRESHOLD_BY_BACKGROUND",
777 }
778 }
779 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
781 match value {
782 "THRESHOLD_BY_UNSPECIFIED" => Some(Self::Unspecified),
783 "THRESHOLD_BY_VALUE" => Some(Self::Value),
784 "THRESHOLD_BY_BACKGROUND" => Some(Self::Background),
785 _ => None,
786 }
787 }
788}