1#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct DashboardFolder {
6 #[prost(message, optional, tag = "1")]
8 pub id: ::core::option::Option<::prost::alloc::string::String>,
9 #[prost(message, optional, tag = "2")]
11 pub name: ::core::option::Option<::prost::alloc::string::String>,
12 #[prost(message, optional, tag = "3")]
13 pub parent_id: ::core::option::Option<::prost::alloc::string::String>,
14}
15#[derive(serde::Serialize, serde::Deserialize)]
16#[serde(rename_all = "snake_case")]
17#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
18#[repr(i32)]
19pub enum DataModeType {
20 HighUnspecified = 0,
21 Archive = 1,
22}
23impl DataModeType {
24 pub fn as_str_name(&self) -> &'static str {
29 match self {
30 Self::HighUnspecified => "DATA_MODE_TYPE_HIGH_UNSPECIFIED",
31 Self::Archive => "DATA_MODE_TYPE_ARCHIVE",
32 }
33 }
34 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
36 match value {
37 "DATA_MODE_TYPE_HIGH_UNSPECIFIED" => Some(Self::HighUnspecified),
38 "DATA_MODE_TYPE_ARCHIVE" => Some(Self::Archive),
39 _ => None,
40 }
41 }
42}
43#[derive(serde::Serialize, serde::Deserialize)]
44#[serde(rename_all = "snake_case")]
45#[derive(Clone, PartialEq, ::prost::Message)]
46pub struct DataShapeField {
47 #[prost(message, repeated, tag = "1")]
48 pub keypath: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
49}
50#[derive(serde::Serialize, serde::Deserialize)]
52#[serde(rename_all = "snake_case")]
53#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
54#[repr(i32)]
55pub enum SpanRelationType {
56 NoneUnspecified = 0,
58 Other = 1,
60 Parent = 2,
62 Root = 3,
64}
65impl SpanRelationType {
66 pub fn as_str_name(&self) -> &'static str {
71 match self {
72 Self::NoneUnspecified => "SPAN_RELATION_TYPE_NONE_UNSPECIFIED",
73 Self::Other => "SPAN_RELATION_TYPE_OTHER",
74 Self::Parent => "SPAN_RELATION_TYPE_PARENT",
75 Self::Root => "SPAN_RELATION_TYPE_ROOT",
76 }
77 }
78 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
80 match value {
81 "SPAN_RELATION_TYPE_NONE_UNSPECIFIED" => Some(Self::NoneUnspecified),
82 "SPAN_RELATION_TYPE_OTHER" => Some(Self::Other),
83 "SPAN_RELATION_TYPE_PARENT" => Some(Self::Parent),
84 "SPAN_RELATION_TYPE_ROOT" => Some(Self::Root),
85 _ => None,
86 }
87 }
88}
89#[derive(serde::Serialize, serde::Deserialize)]
90#[serde(rename_all = "snake_case")]
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct ObservationField {
93 #[prost(message, repeated, tag = "1")]
94 pub keypath: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
95 #[prost(enumeration = "DatasetScope", tag = "2")]
96 pub scope: i32,
97}
98#[derive(serde::Serialize, serde::Deserialize)]
99#[serde(rename_all = "snake_case")]
100#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct SpanObservationField {
102 #[prost(message, repeated, tag = "1")]
103 pub keypath: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
104 #[prost(enumeration = "DatasetScope", tag = "2")]
105 pub scope: i32,
106 #[prost(enumeration = "SpanRelationType", tag = "3")]
107 pub relation_type: i32,
108}
109#[derive(serde::Serialize, serde::Deserialize)]
110#[serde(rename_all = "snake_case")]
111#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
112#[repr(i32)]
113pub enum DatasetScope {
114 Unspecified = 0,
115 UserData = 1,
116 Label = 2,
117 Metadata = 3,
118}
119impl DatasetScope {
120 pub fn as_str_name(&self) -> &'static str {
125 match self {
126 Self::Unspecified => "DATASET_SCOPE_UNSPECIFIED",
127 Self::UserData => "DATASET_SCOPE_USER_DATA",
128 Self::Label => "DATASET_SCOPE_LABEL",
129 Self::Metadata => "DATASET_SCOPE_METADATA",
130 }
131 }
132 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
134 match value {
135 "DATASET_SCOPE_UNSPECIFIED" => Some(Self::Unspecified),
136 "DATASET_SCOPE_USER_DATA" => Some(Self::UserData),
137 "DATASET_SCOPE_LABEL" => Some(Self::Label),
138 "DATASET_SCOPE_METADATA" => Some(Self::Metadata),
139 _ => None,
140 }
141 }
142}
143#[derive(serde::Serialize, serde::Deserialize)]
144#[serde(rename_all = "snake_case")]
145#[derive(Clone, PartialEq, ::prost::Message)]
146pub struct DataprimeQuery {
147 #[prost(string, tag = "1")]
148 pub text: ::prost::alloc::string::String,
149}
150#[derive(serde::Serialize, serde::Deserialize)]
151#[serde(rename_all = "snake_case")]
152#[derive(Clone, PartialEq, ::prost::Message)]
153pub struct SerializedDataprimeQuery {
154 #[prost(bytes = "vec", tag = "1")]
155 pub data: ::prost::alloc::vec::Vec<u8>,
156}
157#[derive(serde::Serialize, serde::Deserialize)]
158#[serde(rename_all = "snake_case")]
159#[derive(Clone, PartialEq, ::prost::Message)]
160pub struct FullDataprimeQuery {
161 #[prost(message, optional, tag = "1")]
162 pub serialized: ::core::option::Option<SerializedDataprimeQuery>,
163 #[prost(message, optional, tag = "2")]
164 pub raw: ::core::option::Option<DataprimeQuery>,
165}
166#[derive(serde::Serialize, serde::Deserialize)]
167#[serde(rename_all = "snake_case")]
168#[derive(Clone, PartialEq, ::prost::Message)]
169pub struct PromQlQuery {
170 #[prost(message, optional, tag = "1")]
171 pub value: ::core::option::Option<::prost::alloc::string::String>,
172}
173#[derive(serde::Serialize, serde::Deserialize)]
174#[serde(rename_all = "snake_case")]
175#[derive(Clone, PartialEq, ::prost::Message)]
176pub struct LuceneQuery {
177 #[prost(message, optional, tag = "1")]
178 pub value: ::core::option::Option<::prost::alloc::string::String>,
179}
180#[derive(serde::Serialize, serde::Deserialize)]
181#[serde(rename_all = "snake_case")]
182#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
183#[repr(i32)]
184pub enum PromQlQueryType {
185 Unspecified = 0,
186 Range = 1,
187 Instant = 2,
188}
189impl PromQlQueryType {
190 pub fn as_str_name(&self) -> &'static str {
195 match self {
196 Self::Unspecified => "PROM_QL_QUERY_TYPE_UNSPECIFIED",
197 Self::Range => "PROM_QL_QUERY_TYPE_RANGE",
198 Self::Instant => "PROM_QL_QUERY_TYPE_INSTANT",
199 }
200 }
201 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
203 match value {
204 "PROM_QL_QUERY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
205 "PROM_QL_QUERY_TYPE_RANGE" => Some(Self::Range),
206 "PROM_QL_QUERY_TYPE_INSTANT" => Some(Self::Instant),
207 _ => None,
208 }
209 }
210}
211#[derive(serde::Serialize, serde::Deserialize)]
212#[serde(rename_all = "snake_case")]
213#[derive(Clone, PartialEq, ::prost::Message)]
214pub struct SpanField {
215 #[prost(oneof = "span_field::Value", tags = "1, 2, 3")]
216 pub value: ::core::option::Option<span_field::Value>,
217}
218pub mod span_field {
220 #[derive(serde::Serialize, serde::Deserialize)]
221 #[serde(rename_all = "snake_case")]
222 #[derive(
223 Clone,
224 Copy,
225 Debug,
226 PartialEq,
227 Eq,
228 Hash,
229 PartialOrd,
230 Ord,
231 ::prost::Enumeration
232 )]
233 #[repr(i32)]
234 pub enum MetadataField {
235 Unspecified = 0,
236 ApplicationName = 1,
237 SubsystemName = 2,
238 ServiceName = 3,
239 OperationName = 4,
240 }
241 impl MetadataField {
242 pub fn as_str_name(&self) -> &'static str {
247 match self {
248 Self::Unspecified => "METADATA_FIELD_UNSPECIFIED",
249 Self::ApplicationName => "METADATA_FIELD_APPLICATION_NAME",
250 Self::SubsystemName => "METADATA_FIELD_SUBSYSTEM_NAME",
251 Self::ServiceName => "METADATA_FIELD_SERVICE_NAME",
252 Self::OperationName => "METADATA_FIELD_OPERATION_NAME",
253 }
254 }
255 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
257 match value {
258 "METADATA_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
259 "METADATA_FIELD_APPLICATION_NAME" => Some(Self::ApplicationName),
260 "METADATA_FIELD_SUBSYSTEM_NAME" => Some(Self::SubsystemName),
261 "METADATA_FIELD_SERVICE_NAME" => Some(Self::ServiceName),
262 "METADATA_FIELD_OPERATION_NAME" => Some(Self::OperationName),
263 _ => None,
264 }
265 }
266 }
267 #[derive(serde::Serialize, serde::Deserialize)]
268 #[serde(rename_all = "snake_case")]
269 #[derive(Clone, PartialEq, ::prost::Oneof)]
270 pub enum Value {
271 #[prost(enumeration = "MetadataField", tag = "1")]
272 MetadataField(i32),
273 #[prost(message, tag = "2")]
274 TagField(::prost::alloc::string::String),
275 #[prost(message, tag = "3")]
276 ProcessTagField(::prost::alloc::string::String),
277 }
278}
279#[derive(serde::Serialize, serde::Deserialize)]
280#[serde(rename_all = "snake_case")]
281#[derive(Clone, PartialEq, ::prost::Message)]
282pub struct LogsAggregation {
283 #[prost(oneof = "logs_aggregation::Value", tags = "1, 2, 3, 4, 5, 6, 7")]
284 pub value: ::core::option::Option<logs_aggregation::Value>,
285}
286pub mod logs_aggregation {
288 #[derive(serde::Serialize, serde::Deserialize)]
289 #[serde(rename_all = "snake_case")]
290 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
291 pub struct Count {}
292 #[derive(serde::Serialize, serde::Deserialize)]
293 #[serde(rename_all = "snake_case")]
294 #[derive(Clone, PartialEq, ::prost::Message)]
295 pub struct CountDistinct {
296 #[prost(message, optional, tag = "1")]
297 pub field: ::core::option::Option<::prost::alloc::string::String>,
298 #[prost(message, optional, tag = "2")]
299 pub observation_field: ::core::option::Option<super::ObservationField>,
300 }
301 #[derive(serde::Serialize, serde::Deserialize)]
302 #[serde(rename_all = "snake_case")]
303 #[derive(Clone, PartialEq, ::prost::Message)]
304 pub struct Sum {
305 #[prost(message, optional, tag = "1")]
306 pub field: ::core::option::Option<::prost::alloc::string::String>,
307 #[prost(message, optional, tag = "2")]
308 pub observation_field: ::core::option::Option<super::ObservationField>,
309 }
310 #[derive(serde::Serialize, serde::Deserialize)]
311 #[serde(rename_all = "snake_case")]
312 #[derive(Clone, PartialEq, ::prost::Message)]
313 pub struct Average {
314 #[prost(message, optional, tag = "1")]
315 pub field: ::core::option::Option<::prost::alloc::string::String>,
316 #[prost(message, optional, tag = "2")]
317 pub observation_field: ::core::option::Option<super::ObservationField>,
318 }
319 #[derive(serde::Serialize, serde::Deserialize)]
320 #[serde(rename_all = "snake_case")]
321 #[derive(Clone, PartialEq, ::prost::Message)]
322 pub struct Min {
323 #[prost(message, optional, tag = "1")]
324 pub field: ::core::option::Option<::prost::alloc::string::String>,
325 #[prost(message, optional, tag = "2")]
326 pub observation_field: ::core::option::Option<super::ObservationField>,
327 }
328 #[derive(serde::Serialize, serde::Deserialize)]
329 #[serde(rename_all = "snake_case")]
330 #[derive(Clone, PartialEq, ::prost::Message)]
331 pub struct Max {
332 #[prost(message, optional, tag = "1")]
333 pub field: ::core::option::Option<::prost::alloc::string::String>,
334 #[prost(message, optional, tag = "2")]
335 pub observation_field: ::core::option::Option<super::ObservationField>,
336 }
337 #[derive(serde::Serialize, serde::Deserialize)]
338 #[serde(rename_all = "snake_case")]
339 #[derive(Clone, PartialEq, ::prost::Message)]
340 pub struct Percentile {
341 #[prost(message, optional, tag = "1")]
342 pub field: ::core::option::Option<::prost::alloc::string::String>,
343 #[prost(message, optional, tag = "2")]
345 pub percent: ::core::option::Option<f64>,
346 #[prost(message, optional, tag = "3")]
347 pub observation_field: ::core::option::Option<super::ObservationField>,
348 }
349 #[derive(serde::Serialize, serde::Deserialize)]
350 #[serde(rename_all = "snake_case")]
351 #[derive(Clone, PartialEq, ::prost::Oneof)]
352 pub enum Value {
353 #[prost(message, tag = "1")]
354 Count(Count),
355 #[prost(message, tag = "2")]
356 CountDistinct(CountDistinct),
357 #[prost(message, tag = "3")]
358 Sum(Sum),
359 #[prost(message, tag = "4")]
360 Average(Average),
361 #[prost(message, tag = "5")]
362 Min(Min),
363 #[prost(message, tag = "6")]
364 Max(Max),
365 #[prost(message, tag = "7")]
366 Percentile(Percentile),
367 }
368}
369#[derive(serde::Serialize, serde::Deserialize)]
370#[serde(rename_all = "snake_case")]
371#[derive(Clone, Copy, PartialEq, ::prost::Message)]
372pub struct SpansAggregation {
373 #[prost(oneof = "spans_aggregation::Aggregation", tags = "1, 2")]
374 pub aggregation: ::core::option::Option<spans_aggregation::Aggregation>,
375}
376pub mod spans_aggregation {
378 #[derive(serde::Serialize, serde::Deserialize)]
379 #[serde(rename_all = "snake_case")]
380 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
381 pub struct MetricAggregation {
382 #[prost(enumeration = "metric_aggregation::MetricField", tag = "1")]
383 pub metric_field: i32,
384 #[prost(enumeration = "metric_aggregation::MetricAggregationType", tag = "2")]
385 pub aggregation_type: i32,
386 }
387 pub mod metric_aggregation {
389 #[derive(serde::Serialize, serde::Deserialize)]
390 #[serde(rename_all = "snake_case")]
391 #[derive(
392 Clone,
393 Copy,
394 Debug,
395 PartialEq,
396 Eq,
397 Hash,
398 PartialOrd,
399 Ord,
400 ::prost::Enumeration
401 )]
402 #[repr(i32)]
403 pub enum MetricField {
404 Unspecified = 0,
405 Duration = 1,
406 }
407 impl MetricField {
408 pub fn as_str_name(&self) -> &'static str {
413 match self {
414 Self::Unspecified => "METRIC_FIELD_UNSPECIFIED",
415 Self::Duration => "METRIC_FIELD_DURATION",
416 }
417 }
418 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
420 match value {
421 "METRIC_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
422 "METRIC_FIELD_DURATION" => Some(Self::Duration),
423 _ => None,
424 }
425 }
426 }
427 #[derive(serde::Serialize, serde::Deserialize)]
428 #[serde(rename_all = "snake_case")]
429 #[derive(
430 Clone,
431 Copy,
432 Debug,
433 PartialEq,
434 Eq,
435 Hash,
436 PartialOrd,
437 Ord,
438 ::prost::Enumeration
439 )]
440 #[repr(i32)]
441 pub enum MetricAggregationType {
442 Unspecified = 0,
443 Min = 1,
444 Max = 2,
445 Average = 3,
446 Sum = 4,
447 Percentile99 = 5,
448 Percentile95 = 6,
449 Percentile50 = 7,
450 }
451 impl MetricAggregationType {
452 pub fn as_str_name(&self) -> &'static str {
457 match self {
458 Self::Unspecified => "METRIC_AGGREGATION_TYPE_UNSPECIFIED",
459 Self::Min => "METRIC_AGGREGATION_TYPE_MIN",
460 Self::Max => "METRIC_AGGREGATION_TYPE_MAX",
461 Self::Average => "METRIC_AGGREGATION_TYPE_AVERAGE",
462 Self::Sum => "METRIC_AGGREGATION_TYPE_SUM",
463 Self::Percentile99 => "METRIC_AGGREGATION_TYPE_PERCENTILE_99",
464 Self::Percentile95 => "METRIC_AGGREGATION_TYPE_PERCENTILE_95",
465 Self::Percentile50 => "METRIC_AGGREGATION_TYPE_PERCENTILE_50",
466 }
467 }
468 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
470 match value {
471 "METRIC_AGGREGATION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
472 "METRIC_AGGREGATION_TYPE_MIN" => Some(Self::Min),
473 "METRIC_AGGREGATION_TYPE_MAX" => Some(Self::Max),
474 "METRIC_AGGREGATION_TYPE_AVERAGE" => Some(Self::Average),
475 "METRIC_AGGREGATION_TYPE_SUM" => Some(Self::Sum),
476 "METRIC_AGGREGATION_TYPE_PERCENTILE_99" => Some(Self::Percentile99),
477 "METRIC_AGGREGATION_TYPE_PERCENTILE_95" => Some(Self::Percentile95),
478 "METRIC_AGGREGATION_TYPE_PERCENTILE_50" => Some(Self::Percentile50),
479 _ => None,
480 }
481 }
482 }
483 }
484 #[derive(serde::Serialize, serde::Deserialize)]
485 #[serde(rename_all = "snake_case")]
486 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
487 pub struct DimensionAggregation {
488 #[prost(enumeration = "dimension_aggregation::DimensionField", tag = "1")]
489 pub dimension_field: i32,
490 #[prost(
491 enumeration = "dimension_aggregation::DimensionAggregationType",
492 tag = "2"
493 )]
494 pub aggregation_type: i32,
495 }
496 pub mod dimension_aggregation {
498 #[derive(serde::Serialize, serde::Deserialize)]
499 #[serde(rename_all = "snake_case")]
500 #[derive(
501 Clone,
502 Copy,
503 Debug,
504 PartialEq,
505 Eq,
506 Hash,
507 PartialOrd,
508 Ord,
509 ::prost::Enumeration
510 )]
511 #[repr(i32)]
512 pub enum DimensionField {
513 Unspecified = 0,
514 TraceId = 1,
515 }
516 impl DimensionField {
517 pub fn as_str_name(&self) -> &'static str {
522 match self {
523 Self::Unspecified => "DIMENSION_FIELD_UNSPECIFIED",
524 Self::TraceId => "DIMENSION_FIELD_TRACE_ID",
525 }
526 }
527 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
529 match value {
530 "DIMENSION_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
531 "DIMENSION_FIELD_TRACE_ID" => Some(Self::TraceId),
532 _ => None,
533 }
534 }
535 }
536 #[derive(serde::Serialize, serde::Deserialize)]
537 #[serde(rename_all = "snake_case")]
538 #[derive(
539 Clone,
540 Copy,
541 Debug,
542 PartialEq,
543 Eq,
544 Hash,
545 PartialOrd,
546 Ord,
547 ::prost::Enumeration
548 )]
549 #[repr(i32)]
550 pub enum DimensionAggregationType {
551 Unspecified = 0,
552 UniqueCount = 1,
553 ErrorCount = 2,
554 }
555 impl DimensionAggregationType {
556 pub fn as_str_name(&self) -> &'static str {
561 match self {
562 Self::Unspecified => "DIMENSION_AGGREGATION_TYPE_UNSPECIFIED",
563 Self::UniqueCount => "DIMENSION_AGGREGATION_TYPE_UNIQUE_COUNT",
564 Self::ErrorCount => "DIMENSION_AGGREGATION_TYPE_ERROR_COUNT",
565 }
566 }
567 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
569 match value {
570 "DIMENSION_AGGREGATION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
571 "DIMENSION_AGGREGATION_TYPE_UNIQUE_COUNT" => Some(Self::UniqueCount),
572 "DIMENSION_AGGREGATION_TYPE_ERROR_COUNT" => Some(Self::ErrorCount),
573 _ => None,
574 }
575 }
576 }
577 }
578 #[derive(serde::Serialize, serde::Deserialize)]
579 #[serde(rename_all = "snake_case")]
580 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
581 pub enum Aggregation {
582 #[prost(message, tag = "1")]
583 MetricAggregation(MetricAggregation),
584 #[prost(message, tag = "2")]
585 DimensionAggregation(DimensionAggregation),
586 }
587}
588#[derive(serde::Serialize, serde::Deserialize)]
589#[serde(rename_all = "snake_case")]
590#[derive(Clone, Copy, PartialEq, ::prost::Message)]
591pub struct TimeFrameSelect {
592 #[prost(oneof = "time_frame_select::Value", tags = "1, 2")]
593 pub value: ::core::option::Option<time_frame_select::Value>,
594}
595pub mod time_frame_select {
597 #[derive(serde::Serialize, serde::Deserialize)]
598 #[serde(rename_all = "snake_case")]
599 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
600 pub enum Value {
601 #[prost(message, tag = "1")]
602 AbsoluteTimeFrame(super::TimeFrame),
603 #[prost(message, tag = "2")]
604 RelativeTimeFrame(::prost_wkt_types::Duration),
605 }
606}
607#[derive(serde::Serialize, serde::Deserialize)]
608#[serde(rename_all = "snake_case")]
609#[derive(Clone, Copy, PartialEq, ::prost::Message)]
610pub struct TimeFrame {
611 #[prost(message, optional, tag = "1")]
612 pub from: ::core::option::Option<::prost_wkt_types::Timestamp>,
613 #[prost(message, optional, tag = "2")]
614 pub to: ::core::option::Option<::prost_wkt_types::Timestamp>,
615}
616#[derive(serde::Serialize, serde::Deserialize)]
617#[serde(rename_all = "snake_case")]
618#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
619#[repr(i32)]
620pub enum OrderDirection {
621 Unspecified = 0,
622 Asc = 1,
623 Desc = 2,
624}
625impl OrderDirection {
626 pub fn as_str_name(&self) -> &'static str {
631 match self {
632 Self::Unspecified => "ORDER_DIRECTION_UNSPECIFIED",
633 Self::Asc => "ORDER_DIRECTION_ASC",
634 Self::Desc => "ORDER_DIRECTION_DESC",
635 }
636 }
637 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
639 match value {
640 "ORDER_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
641 "ORDER_DIRECTION_ASC" => Some(Self::Asc),
642 "ORDER_DIRECTION_DESC" => Some(Self::Desc),
643 _ => None,
644 }
645 }
646}
647#[derive(serde::Serialize, serde::Deserialize)]
648#[serde(rename_all = "snake_case")]
649#[derive(Clone, PartialEq, ::prost::Message)]
650pub struct OrderingField {
651 #[prost(message, optional, tag = "1")]
652 pub field: ::core::option::Option<::prost::alloc::string::String>,
653 #[prost(enumeration = "OrderDirection", tag = "2")]
654 pub order_direction: i32,
655}
656#[derive(serde::Serialize, serde::Deserialize)]
657#[serde(rename_all = "snake_case")]
658#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
659#[repr(i32)]
660pub enum MetricsSeriesLimitType {
661 Unspecified = 0,
663 BySeriesCount = 1,
665 ByPointCount = 2,
667}
668impl MetricsSeriesLimitType {
669 pub fn as_str_name(&self) -> &'static str {
674 match self {
675 Self::Unspecified => "METRICS_SERIES_LIMIT_TYPE_UNSPECIFIED",
676 Self::BySeriesCount => "METRICS_SERIES_LIMIT_TYPE_BY_SERIES_COUNT",
677 Self::ByPointCount => "METRICS_SERIES_LIMIT_TYPE_BY_POINT_COUNT",
678 }
679 }
680 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
682 match value {
683 "METRICS_SERIES_LIMIT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
684 "METRICS_SERIES_LIMIT_TYPE_BY_SERIES_COUNT" => Some(Self::BySeriesCount),
685 "METRICS_SERIES_LIMIT_TYPE_BY_POINT_COUNT" => Some(Self::ByPointCount),
686 _ => None,
687 }
688 }
689}
690#[derive(serde::Serialize, serde::Deserialize)]
695#[serde(rename_all = "snake_case")]
696#[derive(Clone, PartialEq, ::prost::Message)]
697pub struct Action {
698 #[prost(message, optional, tag = "1")]
699 pub id: ::core::option::Option<::prost::alloc::string::String>,
700 #[prost(message, optional, tag = "2")]
701 pub name: ::core::option::Option<::prost::alloc::string::String>,
702 #[prost(message, optional, tag = "3")]
703 pub should_open_in_new_window: ::core::option::Option<bool>,
704 #[prost(message, optional, tag = "4")]
705 pub is_private: ::core::option::Option<bool>,
706 #[prost(message, optional, tag = "5")]
707 pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
708 #[prost(message, optional, tag = "6")]
709 pub widget_id: ::core::option::Option<::prost::alloc::string::String>,
710 #[prost(message, optional, tag = "7")]
711 pub definition: ::core::option::Option<ActionDefinition>,
712 #[prost(enumeration = "ActionDataSourceType", optional, tag = "8")]
713 pub data_source: ::core::option::Option<i32>,
714}
715#[derive(serde::Serialize, serde::Deserialize)]
716#[serde(rename_all = "snake_case")]
717#[derive(Clone, PartialEq, ::prost::Message)]
718pub struct DashboardAction {
719 #[prost(message, optional, tag = "1")]
720 pub id: ::core::option::Option<::prost::alloc::string::String>,
721 #[prost(message, optional, tag = "2")]
722 pub name: ::core::option::Option<::prost::alloc::string::String>,
723 #[prost(message, optional, tag = "3")]
724 pub should_open_in_new_window: ::core::option::Option<bool>,
725 #[prost(message, optional, tag = "4")]
726 pub widget_id: ::core::option::Option<::prost::alloc::string::String>,
727 #[prost(message, optional, tag = "5")]
728 pub definition: ::core::option::Option<ActionDefinition>,
729 #[prost(enumeration = "ActionDataSourceType", optional, tag = "6")]
730 pub data_source: ::core::option::Option<i32>,
731}
732#[derive(serde::Serialize, serde::Deserialize)]
733#[serde(rename_all = "snake_case")]
734#[derive(Clone, PartialEq, ::prost::Message)]
735pub struct ActionDefinition {
736 #[prost(oneof = "action_definition::Type", tags = "1, 2")]
737 pub r#type: ::core::option::Option<action_definition::Type>,
738}
739pub mod action_definition {
741 #[derive(serde::Serialize, serde::Deserialize)]
742 #[serde(rename_all = "snake_case")]
743 #[derive(Clone, PartialEq, ::prost::Message)]
744 pub struct CustomAction {
745 #[prost(message, optional, tag = "1")]
746 pub url: ::core::option::Option<::prost::alloc::string::String>,
747 }
748 #[derive(serde::Serialize, serde::Deserialize)]
749 #[serde(rename_all = "snake_case")]
750 #[derive(Clone, PartialEq, ::prost::Message)]
751 pub struct GoToDashboardTemplateAction {
752 #[prost(message, optional, tag = "1")]
753 pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
754 }
755 #[derive(serde::Serialize, serde::Deserialize)]
756 #[serde(rename_all = "snake_case")]
757 #[derive(Clone, PartialEq, ::prost::Oneof)]
758 pub enum Type {
759 #[prost(message, tag = "1")]
760 CustomAction(CustomAction),
761 #[prost(message, tag = "2")]
762 GoToDashboardAction(GoToDashboardTemplateAction),
763 }
764}
765#[derive(serde::Serialize, serde::Deserialize)]
766#[serde(rename_all = "snake_case")]
767#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
768#[repr(i32)]
769pub enum ActionDataSourceType {
770 NoneUnspecified = 0,
771 Logs = 1,
772 Spans = 2,
773 Metrics = 3,
774 Dataprime = 4,
775}
776impl ActionDataSourceType {
777 pub fn as_str_name(&self) -> &'static str {
782 match self {
783 Self::NoneUnspecified => "ACTION_DATA_SOURCE_TYPE_NONE_UNSPECIFIED",
784 Self::Logs => "ACTION_DATA_SOURCE_TYPE_LOGS",
785 Self::Spans => "ACTION_DATA_SOURCE_TYPE_SPANS",
786 Self::Metrics => "ACTION_DATA_SOURCE_TYPE_METRICS",
787 Self::Dataprime => "ACTION_DATA_SOURCE_TYPE_DATAPRIME",
788 }
789 }
790 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
792 match value {
793 "ACTION_DATA_SOURCE_TYPE_NONE_UNSPECIFIED" => Some(Self::NoneUnspecified),
794 "ACTION_DATA_SOURCE_TYPE_LOGS" => Some(Self::Logs),
795 "ACTION_DATA_SOURCE_TYPE_SPANS" => Some(Self::Spans),
796 "ACTION_DATA_SOURCE_TYPE_METRICS" => Some(Self::Metrics),
797 "ACTION_DATA_SOURCE_TYPE_DATAPRIME" => Some(Self::Dataprime),
798 _ => None,
799 }
800 }
801}