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")]
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::Oneof)]
111 pub enum Value {
112 #[prost(message, tag = "1")]
113 Stack(ColorsByStack),
114 #[prost(message, tag = "2")]
115 GroupBy(ColorsByGroupBy),
116 #[prost(message, tag = "3")]
117 Aggregation(ColorsByAggregation),
118 }
119}
120#[derive(serde::Serialize, serde::Deserialize)]
121#[serde(rename_all = "snake_case")]
122#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
123#[repr(i32)]
124pub enum DataModeType {
125 HighUnspecified = 0,
126 Archive = 1,
127}
128impl DataModeType {
129 pub fn as_str_name(&self) -> &'static str {
134 match self {
135 Self::HighUnspecified => "DATA_MODE_TYPE_HIGH_UNSPECIFIED",
136 Self::Archive => "DATA_MODE_TYPE_ARCHIVE",
137 }
138 }
139 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
141 match value {
142 "DATA_MODE_TYPE_HIGH_UNSPECIFIED" => Some(Self::HighUnspecified),
143 "DATA_MODE_TYPE_ARCHIVE" => Some(Self::Archive),
144 _ => None,
145 }
146 }
147}
148#[derive(serde::Serialize, serde::Deserialize)]
149#[serde(rename_all = "snake_case")]
150#[derive(Clone, PartialEq, ::prost::Message)]
151pub struct Legend {
152 #[prost(message, optional, tag = "1")]
153 pub is_visible: ::core::option::Option<bool>,
154 #[prost(enumeration = "legend::LegendColumn", repeated, packed = "false", tag = "2")]
155 pub columns: ::prost::alloc::vec::Vec<i32>,
156 #[prost(message, optional, tag = "3")]
157 pub group_by_query: ::core::option::Option<bool>,
158 #[prost(enumeration = "legend::LegendPlacement", tag = "4")]
159 pub placement: i32,
160}
161pub mod legend {
163 #[derive(serde::Serialize, serde::Deserialize)]
164 #[serde(rename_all = "snake_case")]
165 #[derive(
166 Clone,
167 Copy,
168 Debug,
169 PartialEq,
170 Eq,
171 Hash,
172 PartialOrd,
173 Ord,
174 ::prost::Enumeration
175 )]
176 #[repr(i32)]
177 pub enum LegendColumn {
178 Unspecified = 0,
179 Min = 1,
180 Max = 2,
181 Sum = 3,
182 Avg = 4,
183 Last = 5,
184 Name = 6,
185 SimpleValue = 7,
186 }
187 impl LegendColumn {
188 pub fn as_str_name(&self) -> &'static str {
193 match self {
194 Self::Unspecified => "LEGEND_COLUMN_UNSPECIFIED",
195 Self::Min => "LEGEND_COLUMN_MIN",
196 Self::Max => "LEGEND_COLUMN_MAX",
197 Self::Sum => "LEGEND_COLUMN_SUM",
198 Self::Avg => "LEGEND_COLUMN_AVG",
199 Self::Last => "LEGEND_COLUMN_LAST",
200 Self::Name => "LEGEND_COLUMN_NAME",
201 Self::SimpleValue => "LEGEND_COLUMN_SIMPLE_VALUE",
202 }
203 }
204 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
206 match value {
207 "LEGEND_COLUMN_UNSPECIFIED" => Some(Self::Unspecified),
208 "LEGEND_COLUMN_MIN" => Some(Self::Min),
209 "LEGEND_COLUMN_MAX" => Some(Self::Max),
210 "LEGEND_COLUMN_SUM" => Some(Self::Sum),
211 "LEGEND_COLUMN_AVG" => Some(Self::Avg),
212 "LEGEND_COLUMN_LAST" => Some(Self::Last),
213 "LEGEND_COLUMN_NAME" => Some(Self::Name),
214 "LEGEND_COLUMN_SIMPLE_VALUE" => Some(Self::SimpleValue),
215 _ => None,
216 }
217 }
218 }
219 #[derive(serde::Serialize, serde::Deserialize)]
220 #[serde(rename_all = "snake_case")]
221 #[derive(
222 Clone,
223 Copy,
224 Debug,
225 PartialEq,
226 Eq,
227 Hash,
228 PartialOrd,
229 Ord,
230 ::prost::Enumeration
231 )]
232 #[repr(i32)]
233 pub enum LegendPlacement {
234 Unspecified = 0,
235 Auto = 1,
236 Bottom = 2,
237 Side = 3,
238 Hidden = 4,
239 }
240 impl LegendPlacement {
241 pub fn as_str_name(&self) -> &'static str {
246 match self {
247 Self::Unspecified => "LEGEND_PLACEMENT_UNSPECIFIED",
248 Self::Auto => "LEGEND_PLACEMENT_AUTO",
249 Self::Bottom => "LEGEND_PLACEMENT_BOTTOM",
250 Self::Side => "LEGEND_PLACEMENT_SIDE",
251 Self::Hidden => "LEGEND_PLACEMENT_HIDDEN",
252 }
253 }
254 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
256 match value {
257 "LEGEND_PLACEMENT_UNSPECIFIED" => Some(Self::Unspecified),
258 "LEGEND_PLACEMENT_AUTO" => Some(Self::Auto),
259 "LEGEND_PLACEMENT_BOTTOM" => Some(Self::Bottom),
260 "LEGEND_PLACEMENT_SIDE" => Some(Self::Side),
261 "LEGEND_PLACEMENT_HIDDEN" => Some(Self::Hidden),
262 _ => None,
263 }
264 }
265 }
266}
267#[derive(serde::Serialize, serde::Deserialize)]
268#[serde(rename_all = "snake_case")]
269#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
270#[repr(i32)]
271pub enum LegendBy {
272 Unspecified = 0,
273 Thresholds = 1,
274 Groups = 2,
275}
276impl LegendBy {
277 pub fn as_str_name(&self) -> &'static str {
282 match self {
283 Self::Unspecified => "LEGEND_BY_UNSPECIFIED",
284 Self::Thresholds => "LEGEND_BY_THRESHOLDS",
285 Self::Groups => "LEGEND_BY_GROUPS",
286 }
287 }
288 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
290 match value {
291 "LEGEND_BY_UNSPECIFIED" => Some(Self::Unspecified),
292 "LEGEND_BY_THRESHOLDS" => Some(Self::Thresholds),
293 "LEGEND_BY_GROUPS" => Some(Self::Groups),
294 _ => None,
295 }
296 }
297}
298#[derive(serde::Serialize, serde::Deserialize)]
299#[serde(rename_all = "snake_case")]
300#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
301#[repr(i32)]
302pub enum Aggregation {
303 Unspecified = 0,
304 Last = 1,
305 Min = 2,
306 Max = 3,
307 Avg = 4,
308 Sum = 5,
309}
310impl Aggregation {
311 pub fn as_str_name(&self) -> &'static str {
316 match self {
317 Self::Unspecified => "AGGREGATION_UNSPECIFIED",
318 Self::Last => "AGGREGATION_LAST",
319 Self::Min => "AGGREGATION_MIN",
320 Self::Max => "AGGREGATION_MAX",
321 Self::Avg => "AGGREGATION_AVG",
322 Self::Sum => "AGGREGATION_SUM",
323 }
324 }
325 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
327 match value {
328 "AGGREGATION_UNSPECIFIED" => Some(Self::Unspecified),
329 "AGGREGATION_LAST" => Some(Self::Last),
330 "AGGREGATION_MIN" => Some(Self::Min),
331 "AGGREGATION_MAX" => Some(Self::Max),
332 "AGGREGATION_AVG" => Some(Self::Avg),
333 "AGGREGATION_SUM" => Some(Self::Sum),
334 _ => None,
335 }
336 }
337}
338#[derive(serde::Serialize, serde::Deserialize)]
339#[serde(rename_all = "snake_case")]
340#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
341#[repr(i32)]
342pub enum MetricsQueryEditorMode {
343 Unspecified = 0,
344 Text = 1,
345 Builder = 2,
346}
347impl MetricsQueryEditorMode {
348 pub fn as_str_name(&self) -> &'static str {
353 match self {
354 Self::Unspecified => "METRICS_QUERY_EDITOR_MODE_UNSPECIFIED",
355 Self::Text => "METRICS_QUERY_EDITOR_MODE_TEXT",
356 Self::Builder => "METRICS_QUERY_EDITOR_MODE_BUILDER",
357 }
358 }
359 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
361 match value {
362 "METRICS_QUERY_EDITOR_MODE_UNSPECIFIED" => Some(Self::Unspecified),
363 "METRICS_QUERY_EDITOR_MODE_TEXT" => Some(Self::Text),
364 "METRICS_QUERY_EDITOR_MODE_BUILDER" => Some(Self::Builder),
365 _ => None,
366 }
367 }
368}
369#[derive(serde::Serialize, serde::Deserialize)]
370#[serde(rename_all = "snake_case")]
371#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
372#[repr(i32)]
373pub enum ScaleType {
374 Unspecified = 0,
375 Linear = 1,
376 Logarithmic = 2,
377}
378impl ScaleType {
379 pub fn as_str_name(&self) -> &'static str {
384 match self {
385 Self::Unspecified => "SCALE_TYPE_UNSPECIFIED",
386 Self::Linear => "SCALE_TYPE_LINEAR",
387 Self::Logarithmic => "SCALE_TYPE_LOGARITHMIC",
388 }
389 }
390 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
392 match value {
393 "SCALE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
394 "SCALE_TYPE_LINEAR" => Some(Self::Linear),
395 "SCALE_TYPE_LOGARITHMIC" => Some(Self::Logarithmic),
396 _ => None,
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 SortByType {
405 Unspecified = 0,
406 Value = 1,
407 Name = 2,
408}
409impl SortByType {
410 pub fn as_str_name(&self) -> &'static str {
415 match self {
416 Self::Unspecified => "SORT_BY_TYPE_UNSPECIFIED",
417 Self::Value => "SORT_BY_TYPE_VALUE",
418 Self::Name => "SORT_BY_TYPE_NAME",
419 }
420 }
421 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
423 match value {
424 "SORT_BY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
425 "SORT_BY_TYPE_VALUE" => Some(Self::Value),
426 "SORT_BY_TYPE_NAME" => Some(Self::Name),
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 ColorGradientType {
436 Unspecified = 0,
437 Blue = 1,
438 Green = 2,
439 Red = 3,
440 Threshold = 4,
441 BlueReversed = 5,
442 GreenReversed = 6,
443 RedReversed = 7,
444 ThresholdReversed = 8,
445}
446impl ColorGradientType {
447 pub fn as_str_name(&self) -> &'static str {
452 match self {
453 Self::Unspecified => "COLOR_GRADIENT_TYPE_UNSPECIFIED",
454 Self::Blue => "COLOR_GRADIENT_TYPE_BLUE",
455 Self::Green => "COLOR_GRADIENT_TYPE_GREEN",
456 Self::Red => "COLOR_GRADIENT_TYPE_RED",
457 Self::Threshold => "COLOR_GRADIENT_TYPE_THRESHOLD",
458 Self::BlueReversed => "COLOR_GRADIENT_TYPE_BLUE_REVERSED",
459 Self::GreenReversed => "COLOR_GRADIENT_TYPE_GREEN_REVERSED",
460 Self::RedReversed => "COLOR_GRADIENT_TYPE_RED_REVERSED",
461 Self::ThresholdReversed => "COLOR_GRADIENT_TYPE_THRESHOLD_REVERSED",
462 }
463 }
464 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
466 match value {
467 "COLOR_GRADIENT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
468 "COLOR_GRADIENT_TYPE_BLUE" => Some(Self::Blue),
469 "COLOR_GRADIENT_TYPE_GREEN" => Some(Self::Green),
470 "COLOR_GRADIENT_TYPE_RED" => Some(Self::Red),
471 "COLOR_GRADIENT_TYPE_THRESHOLD" => Some(Self::Threshold),
472 "COLOR_GRADIENT_TYPE_BLUE_REVERSED" => Some(Self::BlueReversed),
473 "COLOR_GRADIENT_TYPE_GREEN_REVERSED" => Some(Self::GreenReversed),
474 "COLOR_GRADIENT_TYPE_RED_REVERSED" => Some(Self::RedReversed),
475 "COLOR_GRADIENT_TYPE_THRESHOLD_REVERSED" => Some(Self::ThresholdReversed),
476 _ => None,
477 }
478 }
479}
480#[derive(serde::Serialize, serde::Deserialize)]
481#[serde(rename_all = "snake_case")]
482#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
483#[repr(i32)]
484pub enum ColorSolidType {
485 Unspecified = 0,
486 Blue = 1,
487 Green = 2,
488 Red = 3,
489 Purple = 4,
490}
491impl ColorSolidType {
492 pub fn as_str_name(&self) -> &'static str {
497 match self {
498 Self::Unspecified => "COLOR_SOLID_TYPE_UNSPECIFIED",
499 Self::Blue => "COLOR_SOLID_TYPE_BLUE",
500 Self::Green => "COLOR_SOLID_TYPE_GREEN",
501 Self::Red => "COLOR_SOLID_TYPE_RED",
502 Self::Purple => "COLOR_SOLID_TYPE_PURPLE",
503 }
504 }
505 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
507 match value {
508 "COLOR_SOLID_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
509 "COLOR_SOLID_TYPE_BLUE" => Some(Self::Blue),
510 "COLOR_SOLID_TYPE_GREEN" => Some(Self::Green),
511 "COLOR_SOLID_TYPE_RED" => Some(Self::Red),
512 "COLOR_SOLID_TYPE_PURPLE" => Some(Self::Purple),
513 _ => None,
514 }
515 }
516}
517#[derive(serde::Serialize, serde::Deserialize)]
518#[serde(rename_all = "snake_case")]
519#[derive(Clone, Copy, PartialEq, ::prost::Message)]
520pub struct MinMax {
521 #[prost(oneof = "min_max::Value", tags = "1, 2")]
522 pub value: ::core::option::Option<min_max::Value>,
523}
524pub mod min_max {
526 #[derive(serde::Serialize, serde::Deserialize)]
527 #[serde(rename_all = "snake_case")]
528 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
529 pub struct MinMaxAuto {}
530 #[derive(serde::Serialize, serde::Deserialize)]
531 #[serde(rename_all = "snake_case")]
532 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
533 pub struct MinMaxCustom {
534 #[prost(message, optional, tag = "1")]
535 pub min: ::core::option::Option<f64>,
536 #[prost(message, optional, tag = "2")]
537 pub max: ::core::option::Option<f64>,
538 }
539 #[derive(serde::Serialize, serde::Deserialize)]
540 #[serde(rename_all = "snake_case")]
541 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
542 pub enum Value {
543 #[prost(message, tag = "1")]
544 Auto(MinMaxAuto),
545 #[prost(message, tag = "2")]
546 Custom(MinMaxCustom),
547 }
548}
549#[derive(serde::Serialize, serde::Deserialize)]
550#[serde(rename_all = "snake_case")]
551#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
552#[repr(i32)]
553pub enum TextAlignment {
554 Unspecified = 0,
555 Left = 1,
556 Center = 2,
557 Right = 3,
558}
559impl TextAlignment {
560 pub fn as_str_name(&self) -> &'static str {
565 match self {
566 Self::Unspecified => "TEXT_ALIGNMENT_UNSPECIFIED",
567 Self::Left => "TEXT_ALIGNMENT_LEFT",
568 Self::Center => "TEXT_ALIGNMENT_CENTER",
569 Self::Right => "TEXT_ALIGNMENT_RIGHT",
570 }
571 }
572 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
574 match value {
575 "TEXT_ALIGNMENT_UNSPECIFIED" => Some(Self::Unspecified),
576 "TEXT_ALIGNMENT_LEFT" => Some(Self::Left),
577 "TEXT_ALIGNMENT_CENTER" => Some(Self::Center),
578 "TEXT_ALIGNMENT_RIGHT" => Some(Self::Right),
579 _ => None,
580 }
581 }
582}
583#[derive(serde::Serialize, serde::Deserialize)]
584#[serde(rename_all = "snake_case")]
585#[derive(Clone, PartialEq, ::prost::Message)]
586pub struct Threshold {
587 #[prost(message, optional, tag = "1")]
588 pub from: ::core::option::Option<f64>,
589 #[prost(message, optional, tag = "2")]
590 pub color: ::core::option::Option<::prost::alloc::string::String>,
591 #[prost(message, optional, tag = "3")]
592 pub label: ::core::option::Option<::prost::alloc::string::String>,
593}
594#[derive(serde::Serialize, serde::Deserialize)]
595#[serde(rename_all = "snake_case")]
596#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
597#[repr(i32)]
598pub enum ThresholdType {
599 Unspecified = 0,
600 Relative = 1,
601 Absolute = 2,
602}
603impl ThresholdType {
604 pub fn as_str_name(&self) -> &'static str {
609 match self {
610 Self::Unspecified => "THRESHOLD_TYPE_UNSPECIFIED",
611 Self::Relative => "THRESHOLD_TYPE_RELATIVE",
612 Self::Absolute => "THRESHOLD_TYPE_ABSOLUTE",
613 }
614 }
615 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
617 match value {
618 "THRESHOLD_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
619 "THRESHOLD_TYPE_RELATIVE" => Some(Self::Relative),
620 "THRESHOLD_TYPE_ABSOLUTE" => Some(Self::Absolute),
621 _ => None,
622 }
623 }
624}
625#[derive(serde::Serialize, serde::Deserialize)]
626#[serde(rename_all = "snake_case")]
627#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
628#[repr(i32)]
629pub enum ThresholdBy {
630 Unspecified = 0,
631 Value = 1,
632 Background = 2,
633}
634impl ThresholdBy {
635 pub fn as_str_name(&self) -> &'static str {
640 match self {
641 Self::Unspecified => "THRESHOLD_BY_UNSPECIFIED",
642 Self::Value => "THRESHOLD_BY_VALUE",
643 Self::Background => "THRESHOLD_BY_BACKGROUND",
644 }
645 }
646 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
648 match value {
649 "THRESHOLD_BY_UNSPECIFIED" => Some(Self::Unspecified),
650 "THRESHOLD_BY_VALUE" => Some(Self::Value),
651 "THRESHOLD_BY_BACKGROUND" => Some(Self::Background),
652 _ => None,
653 }
654 }
655}