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 = "5")]
12 pub description: ::core::option::Option<::prost::alloc::string::String>,
13 #[prost(message, optional, tag = "3")]
14 pub enabled: ::core::option::Option<bool>,
15 #[prost(message, optional, tag = "4")]
16 pub source: ::core::option::Option<annotation::Source>,
17 #[prost(message, optional, tag = "6")]
18 pub scope: ::core::option::Option<annotation::WidgetScope>,
19 #[prost(enumeration = "annotation::AnnotationColor", tag = "7")]
20 pub color: i32,
21}
22pub mod annotation {
24 #[derive(serde::Serialize, serde::Deserialize)]
25 #[serde(rename_all = "snake_case")]
26 #[derive(Clone, PartialEq, ::prost::Message)]
27 pub struct Source {
28 #[prost(oneof = "source::Value", tags = "1, 2, 3, 4, 5, 6")]
29 pub value: ::core::option::Option<source::Value>,
30 }
31 pub mod source {
33 #[derive(serde::Serialize, serde::Deserialize)]
34 #[serde(rename_all = "snake_case")]
35 #[derive(Clone, PartialEq, ::prost::Oneof)]
36 pub enum Value {
37 #[prost(message, tag = "1")]
38 Metrics(super::MetricsSource),
39 #[prost(message, tag = "2")]
40 Logs(super::LogsSource),
41 #[prost(message, tag = "3")]
42 Spans(super::SpansSource),
43 #[prost(message, tag = "4")]
44 Dataprime(super::DataprimeSource),
45 #[prost(message, tag = "5")]
46 Manual(super::ManualSource),
47 #[prost(message, tag = "6")]
48 EventRecurrence(super::EventRecurrenceSource),
49 }
50 }
51 #[derive(serde::Serialize, serde::Deserialize)]
52 #[serde(rename_all = "snake_case")]
53 #[derive(Clone, PartialEq, ::prost::Message)]
54 pub struct MetricsSource {
55 #[prost(message, optional, tag = "1")]
56 pub promql_query: ::core::option::Option<
57 super::super::super::common::PromQlQuery,
58 >,
59 #[prost(message, optional, tag = "2")]
60 pub strategy: ::core::option::Option<metrics_source::Strategy>,
61 #[prost(message, optional, tag = "3")]
62 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
63 #[prost(message, repeated, tag = "4")]
64 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
65 #[prost(enumeration = "AnnotationOrientation", tag = "5")]
66 pub orientation: i32,
67 }
68 pub mod metrics_source {
70 #[derive(serde::Serialize, serde::Deserialize)]
72 #[serde(rename_all = "snake_case")]
73 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
74 pub struct Strategy {
75 #[prost(oneof = "strategy::Value", tags = "1")]
76 pub value: ::core::option::Option<strategy::Value>,
77 }
78 pub mod strategy {
80 #[derive(serde::Serialize, serde::Deserialize)]
81 #[serde(rename_all = "snake_case")]
82 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
83 pub enum Value {
84 #[prost(message, tag = "1")]
86 StartTimeMetric(super::StartTimeMetric),
87 }
88 }
89 #[derive(serde::Serialize, serde::Deserialize)]
90 #[serde(rename_all = "snake_case")]
91 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
92 pub struct StartTimeMetric {}
93 }
94 #[derive(serde::Serialize, serde::Deserialize)]
95 #[serde(rename_all = "snake_case")]
96 #[derive(Clone, PartialEq, ::prost::Message)]
97 pub struct LogsSource {
98 #[prost(message, optional, tag = "1")]
99 pub lucene_query: ::core::option::Option<
100 super::super::super::common::LuceneQuery,
101 >,
102 #[prost(message, optional, tag = "2")]
103 pub strategy: ::core::option::Option<logs_source::Strategy>,
104 #[prost(message, optional, tag = "3")]
105 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
106 #[prost(message, repeated, tag = "4")]
107 pub label_fields: ::prost::alloc::vec::Vec<
108 super::super::super::common::ObservationField,
109 >,
110 #[prost(enumeration = "super::super::super::common::DataModeType", tag = "5")]
111 pub data_mode_type: i32,
112 }
113 pub mod logs_source {
115 #[derive(serde::Serialize, serde::Deserialize)]
116 #[serde(rename_all = "snake_case")]
117 #[derive(Clone, PartialEq, ::prost::Message)]
118 pub struct Strategy {
119 #[prost(oneof = "strategy::Value", tags = "1, 2, 3")]
120 pub value: ::core::option::Option<strategy::Value>,
121 }
122 pub mod strategy {
124 #[derive(serde::Serialize, serde::Deserialize)]
125 #[serde(rename_all = "snake_case")]
126 #[derive(Clone, PartialEq, ::prost::Message)]
127 pub struct Instant {
128 #[prost(message, optional, tag = "1")]
129 pub timestamp_field: ::core::option::Option<
130 super::super::super::super::super::common::ObservationField,
131 >,
132 }
133 #[derive(serde::Serialize, serde::Deserialize)]
134 #[serde(rename_all = "snake_case")]
135 #[derive(Clone, PartialEq, ::prost::Message)]
136 pub struct Range {
137 #[prost(message, optional, tag = "1")]
138 pub start_timestamp_field: ::core::option::Option<
139 super::super::super::super::super::common::ObservationField,
140 >,
141 #[prost(message, optional, tag = "2")]
142 pub end_timestamp_field: ::core::option::Option<
143 super::super::super::super::super::common::ObservationField,
144 >,
145 }
146 #[derive(serde::Serialize, serde::Deserialize)]
147 #[serde(rename_all = "snake_case")]
148 #[derive(Clone, PartialEq, ::prost::Message)]
149 pub struct Duration {
150 #[prost(message, optional, tag = "1")]
151 pub start_timestamp_field: ::core::option::Option<
152 super::super::super::super::super::common::ObservationField,
153 >,
154 #[prost(message, optional, tag = "2")]
155 pub duration_field: ::core::option::Option<
156 super::super::super::super::super::common::ObservationField,
157 >,
158 }
159 #[derive(serde::Serialize, serde::Deserialize)]
160 #[serde(rename_all = "snake_case")]
161 #[derive(Clone, PartialEq, ::prost::Oneof)]
162 pub enum Value {
163 #[prost(message, tag = "1")]
164 Instant(Instant),
165 #[prost(message, tag = "2")]
166 Range(Range),
167 #[prost(message, tag = "3")]
168 Duration(Duration),
169 }
170 }
171 }
172 #[derive(serde::Serialize, serde::Deserialize)]
173 #[serde(rename_all = "snake_case")]
174 #[derive(Clone, PartialEq, ::prost::Message)]
175 pub struct SpansSource {
176 #[prost(message, optional, tag = "1")]
177 pub lucene_query: ::core::option::Option<
178 super::super::super::common::LuceneQuery,
179 >,
180 #[prost(message, optional, tag = "2")]
181 pub strategy: ::core::option::Option<spans_source::Strategy>,
182 #[prost(message, optional, tag = "3")]
183 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
184 #[prost(message, repeated, tag = "4")]
185 pub label_fields: ::prost::alloc::vec::Vec<
186 super::super::super::common::ObservationField,
187 >,
188 #[prost(enumeration = "super::super::super::common::DataModeType", tag = "5")]
189 pub data_mode_type: i32,
190 }
191 pub mod spans_source {
193 #[derive(serde::Serialize, serde::Deserialize)]
194 #[serde(rename_all = "snake_case")]
195 #[derive(Clone, PartialEq, ::prost::Message)]
196 pub struct Strategy {
197 #[prost(oneof = "strategy::Value", tags = "1, 2, 3")]
198 pub value: ::core::option::Option<strategy::Value>,
199 }
200 pub mod strategy {
202 #[derive(serde::Serialize, serde::Deserialize)]
203 #[serde(rename_all = "snake_case")]
204 #[derive(Clone, PartialEq, ::prost::Message)]
205 pub struct Instant {
206 #[prost(message, optional, tag = "1")]
207 pub timestamp_field: ::core::option::Option<
208 super::super::super::super::super::common::ObservationField,
209 >,
210 }
211 #[derive(serde::Serialize, serde::Deserialize)]
212 #[serde(rename_all = "snake_case")]
213 #[derive(Clone, PartialEq, ::prost::Message)]
214 pub struct Range {
215 #[prost(message, optional, tag = "1")]
216 pub start_timestamp_field: ::core::option::Option<
217 super::super::super::super::super::common::ObservationField,
218 >,
219 #[prost(message, optional, tag = "2")]
220 pub end_timestamp_field: ::core::option::Option<
221 super::super::super::super::super::common::ObservationField,
222 >,
223 }
224 #[derive(serde::Serialize, serde::Deserialize)]
225 #[serde(rename_all = "snake_case")]
226 #[derive(Clone, PartialEq, ::prost::Message)]
227 pub struct Duration {
228 #[prost(message, optional, tag = "1")]
229 pub start_timestamp_field: ::core::option::Option<
230 super::super::super::super::super::common::ObservationField,
231 >,
232 #[prost(message, optional, tag = "2")]
233 pub duration_field: ::core::option::Option<
234 super::super::super::super::super::common::ObservationField,
235 >,
236 }
237 #[derive(serde::Serialize, serde::Deserialize)]
238 #[serde(rename_all = "snake_case")]
239 #[derive(Clone, PartialEq, ::prost::Oneof)]
240 pub enum Value {
241 #[prost(message, tag = "1")]
242 Instant(Instant),
243 #[prost(message, tag = "2")]
244 Range(Range),
245 #[prost(message, tag = "3")]
246 Duration(Duration),
247 }
248 }
249 }
250 #[derive(serde::Serialize, serde::Deserialize)]
251 #[serde(rename_all = "snake_case")]
252 #[derive(Clone, PartialEq, ::prost::Message)]
253 pub struct DataprimeSource {
254 #[prost(message, optional, tag = "1")]
255 pub query: ::core::option::Option<super::super::super::common::DataprimeQuery>,
256 #[prost(message, optional, tag = "2")]
257 pub strategy: ::core::option::Option<dataprime_source::Strategy>,
258 #[prost(message, optional, tag = "3")]
259 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
260 #[prost(enumeration = "super::super::super::common::DataModeType", tag = "4")]
261 pub data_mode_type: i32,
262 #[prost(message, repeated, tag = "5")]
263 pub label_fields: ::prost::alloc::vec::Vec<
264 super::super::super::common::ObservationField,
265 >,
266 #[prost(enumeration = "AnnotationOrientation", tag = "6")]
267 pub orientation: i32,
268 }
269 pub mod dataprime_source {
271 #[derive(serde::Serialize, serde::Deserialize)]
272 #[serde(rename_all = "snake_case")]
273 #[derive(Clone, PartialEq, ::prost::Message)]
274 pub struct Strategy {
275 #[prost(oneof = "strategy::Value", tags = "1, 2, 3")]
276 pub value: ::core::option::Option<strategy::Value>,
277 }
278 pub mod strategy {
280 #[derive(serde::Serialize, serde::Deserialize)]
281 #[serde(rename_all = "snake_case")]
282 #[derive(Clone, PartialEq, ::prost::Message)]
283 pub struct Instant {
284 #[prost(message, optional, tag = "1")]
285 pub timestamp_field: ::core::option::Option<
286 super::super::super::super::super::common::ObservationField,
287 >,
288 }
289 #[derive(serde::Serialize, serde::Deserialize)]
290 #[serde(rename_all = "snake_case")]
291 #[derive(Clone, PartialEq, ::prost::Message)]
292 pub struct Range {
293 #[prost(message, optional, tag = "1")]
294 pub start_timestamp_field: ::core::option::Option<
295 super::super::super::super::super::common::ObservationField,
296 >,
297 #[prost(message, optional, tag = "2")]
298 pub end_timestamp_field: ::core::option::Option<
299 super::super::super::super::super::common::ObservationField,
300 >,
301 }
302 #[derive(serde::Serialize, serde::Deserialize)]
303 #[serde(rename_all = "snake_case")]
304 #[derive(Clone, PartialEq, ::prost::Message)]
305 pub struct Duration {
306 #[prost(message, optional, tag = "1")]
307 pub start_timestamp_field: ::core::option::Option<
308 super::super::super::super::super::common::ObservationField,
309 >,
310 #[prost(message, optional, tag = "2")]
311 pub duration_field: ::core::option::Option<
312 super::super::super::super::super::common::ObservationField,
313 >,
314 }
315 #[derive(serde::Serialize, serde::Deserialize)]
316 #[serde(rename_all = "snake_case")]
317 #[derive(Clone, PartialEq, ::prost::Oneof)]
318 pub enum Value {
319 #[prost(message, tag = "1")]
320 Instant(Instant),
321 #[prost(message, tag = "2")]
322 Range(Range),
323 #[prost(message, tag = "3")]
324 Duration(Duration),
325 }
326 }
327 }
328 #[derive(serde::Serialize, serde::Deserialize)]
329 #[serde(rename_all = "snake_case")]
330 #[derive(Clone, PartialEq, ::prost::Message)]
331 pub struct ManualSource {
332 #[prost(message, optional, tag = "1")]
333 pub strategy: ::core::option::Option<manual_source::Strategy>,
334 #[prost(message, optional, tag = "3")]
335 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
336 #[prost(enumeration = "AnnotationOrientation", tag = "4")]
337 pub orientation: i32,
338 }
339 pub mod manual_source {
341 #[derive(serde::Serialize, serde::Deserialize)]
342 #[serde(rename_all = "snake_case")]
343 #[derive(Clone, PartialEq, ::prost::Message)]
344 pub struct Strategy {
345 #[prost(oneof = "strategy::Value", tags = "1, 2")]
346 pub value: ::core::option::Option<strategy::Value>,
347 }
348 pub mod strategy {
350 #[derive(serde::Serialize, serde::Deserialize)]
351 #[serde(rename_all = "snake_case")]
352 #[derive(Clone, PartialEq, ::prost::Message)]
353 pub struct Instant {
354 #[prost(
355 enumeration = "super::super::super::super::widgets::common::Unit",
356 tag = "1"
357 )]
358 pub unit: i32,
359 #[prost(message, optional, tag = "2")]
360 pub value: ::core::option::Option<f64>,
361 #[prost(message, optional, tag = "3")]
362 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
363 }
364 #[derive(serde::Serialize, serde::Deserialize)]
365 #[serde(rename_all = "snake_case")]
366 #[derive(Clone, PartialEq, ::prost::Message)]
367 pub struct Range {
368 #[prost(
369 enumeration = "super::super::super::super::widgets::common::Unit",
370 tag = "1"
371 )]
372 pub unit: i32,
373 #[prost(message, optional, tag = "2")]
374 pub start_value: ::core::option::Option<f64>,
375 #[prost(message, optional, tag = "3")]
376 pub end_value: ::core::option::Option<f64>,
377 #[prost(message, optional, tag = "4")]
378 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
379 }
380 #[derive(serde::Serialize, serde::Deserialize)]
381 #[serde(rename_all = "snake_case")]
382 #[derive(Clone, PartialEq, ::prost::Oneof)]
383 pub enum Value {
384 #[prost(message, tag = "1")]
385 Instant(Instant),
386 #[prost(message, tag = "2")]
387 Range(Range),
388 }
389 }
390 }
391 #[derive(serde::Serialize, serde::Deserialize)]
392 #[serde(rename_all = "snake_case")]
393 #[derive(Clone, PartialEq, ::prost::Message)]
394 pub struct EventRecurrenceSource {
395 #[prost(message, optional, tag = "1")]
396 pub recurrence: ::core::option::Option<event_recurrence_source::Recurrence>,
397 #[prost(message, optional, tag = "2")]
398 pub strategy: ::core::option::Option<event_recurrence_source::Strategy>,
399 #[prost(message, optional, tag = "3")]
400 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
401 }
402 pub mod event_recurrence_source {
404 #[derive(serde::Serialize, serde::Deserialize)]
405 #[serde(rename_all = "snake_case")]
406 #[derive(Clone, PartialEq, ::prost::Message)]
407 pub struct Recurrence {
408 #[prost(oneof = "recurrence::FrequencyType", tags = "1")]
409 pub frequency_type: ::core::option::Option<recurrence::FrequencyType>,
410 }
411 pub mod recurrence {
413 #[derive(serde::Serialize, serde::Deserialize)]
414 #[serde(rename_all = "snake_case")]
415 #[derive(Clone, PartialEq, ::prost::Oneof)]
416 pub enum FrequencyType {
417 #[prost(message, tag = "1")]
418 Weekly(super::WeeklyRecurrence),
419 }
420 }
421 #[derive(serde::Serialize, serde::Deserialize)]
422 #[serde(rename_all = "snake_case")]
423 #[derive(Clone, PartialEq, ::prost::Message)]
424 pub struct WeeklyRecurrence {
425 #[prost(enumeration = "Weekday", repeated, tag = "1")]
426 pub days_of_week: ::prost::alloc::vec::Vec<i32>,
427 }
428 #[derive(serde::Serialize, serde::Deserialize)]
429 #[serde(rename_all = "snake_case")]
430 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
431 pub struct Strategy {
432 #[prost(oneof = "strategy::Value", tags = "1, 2")]
433 pub value: ::core::option::Option<strategy::Value>,
434 }
435 pub mod strategy {
437 #[derive(serde::Serialize, serde::Deserialize)]
438 #[serde(rename_all = "snake_case")]
439 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
440 pub struct Instant {
441 #[prost(message, optional, tag = "1")]
442 pub start_time_hour: ::core::option::Option<i32>,
443 }
444 #[derive(serde::Serialize, serde::Deserialize)]
445 #[serde(rename_all = "snake_case")]
446 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
447 pub struct Duration {
448 #[prost(message, optional, tag = "1")]
449 pub start_time_hour: ::core::option::Option<i32>,
450 #[prost(message, optional, tag = "2")]
451 pub duration: ::core::option::Option<::prost_wkt_types::Duration>,
452 }
453 #[derive(serde::Serialize, serde::Deserialize)]
454 #[serde(rename_all = "snake_case")]
455 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
456 pub enum Value {
457 #[prost(message, tag = "1")]
458 Instant(Instant),
459 #[prost(message, tag = "2")]
460 Duration(Duration),
461 }
462 }
463 #[derive(serde::Serialize, serde::Deserialize)]
464 #[serde(rename_all = "snake_case")]
465 #[derive(
466 Clone,
467 Copy,
468 Debug,
469 PartialEq,
470 Eq,
471 Hash,
472 PartialOrd,
473 Ord,
474 ::prost::Enumeration
475 )]
476 #[repr(i32)]
477 pub enum Weekday {
478 Unspecified = 0,
479 Monday = 1,
480 Tuesday = 2,
481 Wednesday = 3,
482 Thursday = 4,
483 Friday = 5,
484 Saturday = 6,
485 Sunday = 7,
486 }
487 impl Weekday {
488 pub fn as_str_name(&self) -> &'static str {
493 match self {
494 Self::Unspecified => "WEEKDAY_UNSPECIFIED",
495 Self::Monday => "WEEKDAY_MONDAY",
496 Self::Tuesday => "WEEKDAY_TUESDAY",
497 Self::Wednesday => "WEEKDAY_WEDNESDAY",
498 Self::Thursday => "WEEKDAY_THURSDAY",
499 Self::Friday => "WEEKDAY_FRIDAY",
500 Self::Saturday => "WEEKDAY_SATURDAY",
501 Self::Sunday => "WEEKDAY_SUNDAY",
502 }
503 }
504 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
506 match value {
507 "WEEKDAY_UNSPECIFIED" => Some(Self::Unspecified),
508 "WEEKDAY_MONDAY" => Some(Self::Monday),
509 "WEEKDAY_TUESDAY" => Some(Self::Tuesday),
510 "WEEKDAY_WEDNESDAY" => Some(Self::Wednesday),
511 "WEEKDAY_THURSDAY" => Some(Self::Thursday),
512 "WEEKDAY_FRIDAY" => Some(Self::Friday),
513 "WEEKDAY_SATURDAY" => Some(Self::Saturday),
514 "WEEKDAY_SUNDAY" => Some(Self::Sunday),
515 _ => None,
516 }
517 }
518 }
519 }
520 #[derive(serde::Serialize, serde::Deserialize)]
521 #[serde(rename_all = "snake_case")]
522 #[derive(Clone, PartialEq, ::prost::Message)]
523 pub struct WidgetScope {
524 #[prost(oneof = "widget_scope::Value", tags = "1, 2")]
525 pub value: ::core::option::Option<widget_scope::Value>,
526 }
527 pub mod widget_scope {
529 #[derive(serde::Serialize, serde::Deserialize)]
530 #[serde(rename_all = "snake_case")]
531 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
532 pub struct AllWidgets {}
533 #[derive(serde::Serialize, serde::Deserialize)]
534 #[serde(rename_all = "snake_case")]
535 #[derive(Clone, PartialEq, ::prost::Message)]
536 pub struct SpecificWidgets {
537 #[prost(message, repeated, tag = "1")]
538 pub widget_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
539 }
540 #[derive(serde::Serialize, serde::Deserialize)]
541 #[serde(rename_all = "snake_case")]
542 #[derive(Clone, PartialEq, ::prost::Oneof)]
543 pub enum Value {
544 #[prost(message, tag = "1")]
545 AllWidgets(AllWidgets),
546 #[prost(message, tag = "2")]
547 SpecificWidgets(SpecificWidgets),
548 }
549 }
550 #[derive(serde::Serialize, serde::Deserialize)]
551 #[serde(rename_all = "snake_case")]
552 #[derive(
553 Clone,
554 Copy,
555 Debug,
556 PartialEq,
557 Eq,
558 Hash,
559 PartialOrd,
560 Ord,
561 ::prost::Enumeration
562 )]
563 #[repr(i32)]
564 pub enum AnnotationOrientation {
565 VerticalUnspecified = 0,
566 Horizontal = 1,
567 }
568 impl AnnotationOrientation {
569 pub fn as_str_name(&self) -> &'static str {
574 match self {
575 Self::VerticalUnspecified => {
576 "ANNOTATION_ORIENTATION_VERTICAL_UNSPECIFIED"
577 }
578 Self::Horizontal => "ANNOTATION_ORIENTATION_HORIZONTAL",
579 }
580 }
581 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
583 match value {
584 "ANNOTATION_ORIENTATION_VERTICAL_UNSPECIFIED" => {
585 Some(Self::VerticalUnspecified)
586 }
587 "ANNOTATION_ORIENTATION_HORIZONTAL" => Some(Self::Horizontal),
588 _ => None,
589 }
590 }
591 }
592 #[derive(serde::Serialize, serde::Deserialize)]
593 #[serde(rename_all = "snake_case")]
594 #[derive(
595 Clone,
596 Copy,
597 Debug,
598 PartialEq,
599 Eq,
600 Hash,
601 PartialOrd,
602 Ord,
603 ::prost::Enumeration
604 )]
605 #[repr(i32)]
606 pub enum AnnotationColor {
607 Unspecified = 0,
608 Default = 1,
609 Green = 2,
610 Cyan = 3,
611 Blue = 4,
612 Purple = 5,
613 Magenta = 6,
614 Red = 7,
615 Orange = 8,
616 Yellow = 9,
617 }
618 impl AnnotationColor {
619 pub fn as_str_name(&self) -> &'static str {
624 match self {
625 Self::Unspecified => "ANNOTATION_COLOR_UNSPECIFIED",
626 Self::Default => "ANNOTATION_COLOR_DEFAULT",
627 Self::Green => "ANNOTATION_COLOR_GREEN",
628 Self::Cyan => "ANNOTATION_COLOR_CYAN",
629 Self::Blue => "ANNOTATION_COLOR_BLUE",
630 Self::Purple => "ANNOTATION_COLOR_PURPLE",
631 Self::Magenta => "ANNOTATION_COLOR_MAGENTA",
632 Self::Red => "ANNOTATION_COLOR_RED",
633 Self::Orange => "ANNOTATION_COLOR_ORANGE",
634 Self::Yellow => "ANNOTATION_COLOR_YELLOW",
635 }
636 }
637 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
639 match value {
640 "ANNOTATION_COLOR_UNSPECIFIED" => Some(Self::Unspecified),
641 "ANNOTATION_COLOR_DEFAULT" => Some(Self::Default),
642 "ANNOTATION_COLOR_GREEN" => Some(Self::Green),
643 "ANNOTATION_COLOR_CYAN" => Some(Self::Cyan),
644 "ANNOTATION_COLOR_BLUE" => Some(Self::Blue),
645 "ANNOTATION_COLOR_PURPLE" => Some(Self::Purple),
646 "ANNOTATION_COLOR_MAGENTA" => Some(Self::Magenta),
647 "ANNOTATION_COLOR_RED" => Some(Self::Red),
648 "ANNOTATION_COLOR_ORANGE" => Some(Self::Orange),
649 "ANNOTATION_COLOR_YELLOW" => Some(Self::Yellow),
650 _ => None,
651 }
652 }
653 }
654}