cx_api/generated/
com.coralogixapis.dashboards.v1.common.rs

1// This file is @generated by prost-build.
2#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct DashboardFolder {
6    /// Folder unique identifier
7    #[prost(message, optional, tag = "1")]
8    pub id: ::core::option::Option<::prost::alloc::string::String>,
9    /// Folder name
10    #[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    /// String value of the enum field names used in the ProtoBuf definition.
25    ///
26    /// The values are not transformed in any way and thus are considered stable
27    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
28    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    /// Creates an enum from field names used in the ProtoBuf definition.
35    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/// Spans are organized in traces, traces can be seen as a tree where each node is a span.
51#[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    /// No relation, it references fields on a span.
57    NoneUnspecified = 0,
58    /// Other relation, it references fields of "any other" span in the trace.
59    Other = 1,
60    /// Parent relation, it references fields of the parent span.
61    Parent = 2,
62    /// Root relation, it references fields of the root span.
63    Root = 3,
64}
65impl SpanRelationType {
66    /// String value of the enum field names used in the ProtoBuf definition.
67    ///
68    /// The values are not transformed in any way and thus are considered stable
69    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
70    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    /// Creates an enum from field names used in the ProtoBuf definition.
79    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    /// String value of the enum field names used in the ProtoBuf definition.
121    ///
122    /// The values are not transformed in any way and thus are considered stable
123    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
124    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    /// Creates an enum from field names used in the ProtoBuf definition.
133    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    /// String value of the enum field names used in the ProtoBuf definition.
191    ///
192    /// The values are not transformed in any way and thus are considered stable
193    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
194    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    /// Creates an enum from field names used in the ProtoBuf definition.
202    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}
218/// Nested message and enum types in `SpanField`.
219pub 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        /// String value of the enum field names used in the ProtoBuf definition.
243        ///
244        /// The values are not transformed in any way and thus are considered stable
245        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
246        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        /// Creates an enum from field names used in the ProtoBuf definition.
256        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}
286/// Nested message and enum types in `LogsAggregation`.
287pub 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        /// A value in range (0, 100]
344        #[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}
376/// Nested message and enum types in `SpansAggregation`.
377pub 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    /// Nested message and enum types in `MetricAggregation`.
388    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            /// String value of the enum field names used in the ProtoBuf definition.
409            ///
410            /// The values are not transformed in any way and thus are considered stable
411            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
412            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            /// Creates an enum from field names used in the ProtoBuf definition.
419            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            /// String value of the enum field names used in the ProtoBuf definition.
453            ///
454            /// The values are not transformed in any way and thus are considered stable
455            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
456            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            /// Creates an enum from field names used in the ProtoBuf definition.
469            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    /// Nested message and enum types in `DimensionAggregation`.
497    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            /// String value of the enum field names used in the ProtoBuf definition.
518            ///
519            /// The values are not transformed in any way and thus are considered stable
520            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
521            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            /// Creates an enum from field names used in the ProtoBuf definition.
528            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            /// String value of the enum field names used in the ProtoBuf definition.
557            ///
558            /// The values are not transformed in any way and thus are considered stable
559            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
560            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            /// Creates an enum from field names used in the ProtoBuf definition.
568            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}
595/// Nested message and enum types in `TimeFrameSelect`.
596pub 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    /// String value of the enum field names used in the ProtoBuf definition.
627    ///
628    /// The values are not transformed in any way and thus are considered stable
629    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
630    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    /// Creates an enum from field names used in the ProtoBuf definition.
638    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    /// No limit specified, will default to METRICS_SERIES_LIMIT_BY_SERIES_COUNT.
662    Unspecified = 0,
663    /// Limit the total number of series.
664    BySeriesCount = 1,
665    /// Limit the number of points at each timestamp.
666    ByPointCount = 2,
667}
668impl MetricsSeriesLimitType {
669    /// String value of the enum field names used in the ProtoBuf definition.
670    ///
671    /// The values are not transformed in any way and thus are considered stable
672    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
673    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    /// Creates an enum from field names used in the ProtoBuf definition.
681    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///
691/// Unused dormant model that was part of plans of the product team, however it is now on hold.
692/// Recommended to not use this model or rely on it in any way.
693///
694#[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}
739/// Nested message and enum types in `ActionDefinition`.
740pub 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    /// String value of the enum field names used in the ProtoBuf definition.
778    ///
779    /// The values are not transformed in any way and thus are considered stable
780    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
781    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    /// Creates an enum from field names used in the ProtoBuf definition.
791    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}