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