Skip to main content

cx_api/generated/
com.coralogixapis.events2metrics.v2.rs

1// This file is @generated by prost-build.
2/// E2M represents the Event to metrics base model.
3#[derive(serde::Serialize, serde::Deserialize)]
4#[serde(rename_all = "snake_case")]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct E2m {
7    /// E2M unique ID, required on update requests
8    #[prost(message, optional, tag = "1")]
9    pub id: ::core::option::Option<::prost::alloc::string::String>,
10    /// Name of the E2M
11    #[prost(message, optional, tag = "2")]
12    pub name: ::core::option::Option<::prost::alloc::string::String>,
13    /// Description of the E2M
14    #[prost(message, optional, tag = "3")]
15    pub description: ::core::option::Option<::prost::alloc::string::String>,
16    /// E2M create time
17    #[prost(message, optional, tag = "4")]
18    pub create_time: ::core::option::Option<::prost::alloc::string::String>,
19    /// E2M update time
20    #[prost(message, optional, tag = "5")]
21    pub update_time: ::core::option::Option<::prost::alloc::string::String>,
22    /// Represents the limit of the permutations and if the limit was exceeded
23    #[prost(message, optional, tag = "6")]
24    pub permutations: ::core::option::Option<E2mPermutations>,
25    /// E2M metric labels
26    #[prost(message, repeated, tag = "7")]
27    pub metric_labels: ::prost::alloc::vec::Vec<MetricLabel>,
28    /// E2M metric fields
29    #[prost(message, repeated, tag = "8")]
30    pub metric_fields: ::prost::alloc::vec::Vec<MetricField>,
31    /// E2M type logs2metrics/spans2metrics
32    #[prost(enumeration = "E2mType", tag = "9")]
33    pub r#type: i32,
34    /// A flag that represents if the e2m is for internal usage
35    #[prost(message, optional, tag = "12")]
36    pub is_internal: ::core::option::Option<bool>,
37    /// Optional data source in "<namespace>/<dataset_name>" format (e.g. "my_namespace/my_dataset").
38    /// If not set, defaults to the standard logs/spans stream.
39    #[prost(message, optional, tag = "13")]
40    pub data_source: ::core::option::Option<::prost::alloc::string::String>,
41    /// Spans or logs type query
42    #[prost(oneof = "e2m::Query", tags = "10, 11")]
43    pub query: ::core::option::Option<e2m::Query>,
44}
45/// Nested message and enum types in `E2M`.
46pub mod e2m {
47    /// Spans or logs type query
48    #[derive(serde::Serialize, serde::Deserialize)]
49    #[serde(rename_all = "snake_case")]
50    #[derive(Clone, PartialEq, ::prost::Oneof)]
51    pub enum Query {
52        /// E2M spans query
53        #[prost(message, tag = "10")]
54        SpansQuery(super::super::super::spans2metrics::v2::SpansQuery),
55        ///   E2M logs query
56        #[prost(message, tag = "11")]
57        LogsQuery(super::super::super::logs2metrics::v2::LogsQuery),
58    }
59}
60/// E2M Create message
61#[derive(serde::Serialize, serde::Deserialize)]
62#[serde(rename_all = "snake_case")]
63#[derive(Clone, PartialEq, ::prost::Message)]
64pub struct E2mCreateParams {
65    /// Name of E2M to create
66    #[prost(message, optional, tag = "1")]
67    pub name: ::core::option::Option<::prost::alloc::string::String>,
68    /// Description of E2M to create
69    #[prost(message, optional, tag = "2")]
70    pub description: ::core::option::Option<::prost::alloc::string::String>,
71    /// The permutation limit of the E2M
72    #[prost(message, optional, tag = "3")]
73    pub permutations_limit: ::core::option::Option<i32>,
74    /// E2M metric labels
75    #[prost(message, repeated, tag = "4")]
76    pub metric_labels: ::prost::alloc::vec::Vec<MetricLabel>,
77    /// E2M metric fields
78    #[prost(message, repeated, tag = "5")]
79    pub metric_fields: ::prost::alloc::vec::Vec<MetricField>,
80    /// E2M type
81    #[prost(enumeration = "E2mType", tag = "6")]
82    pub r#type: i32,
83    /// Optional data source in "<namespace>/<dataset_name>" format (e.g. "my_namespace/my_dataset").
84    /// If not set, defaults to the standard logs/spans stream.
85    #[prost(message, optional, tag = "9")]
86    pub data_source: ::core::option::Option<::prost::alloc::string::String>,
87    /// E2M spans or logs query type
88    #[prost(oneof = "e2m_create_params::Query", tags = "7, 8")]
89    pub query: ::core::option::Option<e2m_create_params::Query>,
90}
91/// Nested message and enum types in `E2MCreateParams`.
92pub mod e2m_create_params {
93    /// E2M spans or logs query type
94    #[derive(serde::Serialize, serde::Deserialize)]
95    #[serde(rename_all = "snake_case")]
96    #[derive(Clone, PartialEq, ::prost::Oneof)]
97    pub enum Query {
98        /// E2M span query
99        #[prost(message, tag = "7")]
100        SpansQuery(super::super::super::spans2metrics::v2::SpansQuery),
101        /// E2M logs query
102        #[prost(message, tag = "8")]
103        LogsQuery(super::super::super::logs2metrics::v2::LogsQuery),
104    }
105}
106/// Represents e2m permutation limit
107#[derive(serde::Serialize, serde::Deserialize)]
108#[serde(rename_all = "snake_case")]
109#[derive(Clone, Copy, PartialEq, ::prost::Message)]
110pub struct E2mPermutations {
111    /// E2M permutation limit
112    #[prost(int32, tag = "1")]
113    pub limit: i32,
114    /// Flag to indicate if limit was exceeded
115    #[prost(bool, tag = "2")]
116    pub has_exceeded_limit: bool,
117}
118/// E2M metric label
119#[derive(serde::Serialize, serde::Deserialize)]
120#[serde(rename_all = "snake_case")]
121#[derive(Clone, PartialEq, ::prost::Message)]
122pub struct MetricLabel {
123    /// Metric label target alias name
124    #[prost(message, optional, tag = "1")]
125    pub target_label: ::core::option::Option<::prost::alloc::string::String>,
126    /// Metric label source field
127    #[prost(message, optional, tag = "2")]
128    pub source_field: ::core::option::Option<::prost::alloc::string::String>,
129}
130/// E2M metric field
131#[derive(serde::Serialize, serde::Deserialize)]
132#[serde(rename_all = "snake_case")]
133#[derive(Clone, PartialEq, ::prost::Message)]
134pub struct MetricField {
135    /// Target metric field alias name
136    #[prost(message, optional, tag = "1")]
137    pub target_base_metric_name: ::core::option::Option<::prost::alloc::string::String>,
138    /// Source field
139    #[prost(message, optional, tag = "2")]
140    pub source_field: ::core::option::Option<::prost::alloc::string::String>,
141    /// Represents Aggregation type list
142    #[prost(message, repeated, tag = "7")]
143    pub aggregations: ::prost::alloc::vec::Vec<Aggregation>,
144}
145/// E2M aggregation
146#[derive(serde::Serialize, serde::Deserialize)]
147#[serde(rename_all = "snake_case")]
148#[derive(Clone, PartialEq, ::prost::Message)]
149pub struct Aggregation {
150    /// Is enabled
151    #[prost(bool, tag = "1")]
152    pub enabled: bool,
153    /// Aggregation type
154    #[prost(enumeration = "aggregation::AggType", tag = "2")]
155    pub agg_type: i32,
156    /// Target metric field alias name
157    #[prost(string, tag = "3")]
158    pub target_metric_name: ::prost::alloc::string::String,
159    /// Aggregate metadata, samples or histogram type
160    #[prost(oneof = "aggregation::AggMetadata", tags = "6, 4, 5")]
161    pub agg_metadata: ::core::option::Option<aggregation::AggMetadata>,
162}
163/// Nested message and enum types in `Aggregation`.
164pub mod aggregation {
165    /// Enum - Aggregation type
166    #[derive(serde::Serialize, serde::Deserialize)]
167    #[serde(rename_all = "snake_case")]
168    #[derive(
169        Clone,
170        Copy,
171        Debug,
172        PartialEq,
173        Eq,
174        Hash,
175        PartialOrd,
176        Ord,
177        ::prost::Enumeration
178    )]
179    #[repr(i32)]
180    pub enum AggType {
181        Unspecified = 0,
182        Min = 1,
183        Max = 2,
184        Count = 3,
185        Avg = 4,
186        Sum = 5,
187        Histogram = 6,
188        Samples = 7,
189    }
190    impl AggType {
191        /// String value of the enum field names used in the ProtoBuf definition.
192        ///
193        /// The values are not transformed in any way and thus are considered stable
194        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
195        pub fn as_str_name(&self) -> &'static str {
196            match self {
197                Self::Unspecified => "AGG_TYPE_UNSPECIFIED",
198                Self::Min => "AGG_TYPE_MIN",
199                Self::Max => "AGG_TYPE_MAX",
200                Self::Count => "AGG_TYPE_COUNT",
201                Self::Avg => "AGG_TYPE_AVG",
202                Self::Sum => "AGG_TYPE_SUM",
203                Self::Histogram => "AGG_TYPE_HISTOGRAM",
204                Self::Samples => "AGG_TYPE_SAMPLES",
205            }
206        }
207        /// Creates an enum from field names used in the ProtoBuf definition.
208        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
209            match value {
210                "AGG_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
211                "AGG_TYPE_MIN" => Some(Self::Min),
212                "AGG_TYPE_MAX" => Some(Self::Max),
213                "AGG_TYPE_COUNT" => Some(Self::Count),
214                "AGG_TYPE_AVG" => Some(Self::Avg),
215                "AGG_TYPE_SUM" => Some(Self::Sum),
216                "AGG_TYPE_HISTOGRAM" => Some(Self::Histogram),
217                "AGG_TYPE_SAMPLES" => Some(Self::Samples),
218                _ => None,
219            }
220        }
221    }
222    /// Aggregate metadata, samples or histogram type
223    #[derive(serde::Serialize, serde::Deserialize)]
224    #[serde(rename_all = "snake_case")]
225    #[derive(Clone, PartialEq, ::prost::Oneof)]
226    pub enum AggMetadata {
227        /// No metadata needed for simple aggregations (MIN, MAX, COUNT, AVG, SUM)
228        #[prost(message, tag = "6")]
229        None(()),
230        /// E2M sample type metadata
231        #[prost(message, tag = "4")]
232        Samples(super::E2mAggSamples),
233        /// E2M aggregate histogram type metadata
234        #[prost(message, tag = "5")]
235        Histogram(super::E2mAggHistogram),
236    }
237}
238/// E2M aggregate sample type
239#[derive(serde::Serialize, serde::Deserialize)]
240#[serde(rename_all = "snake_case")]
241#[derive(Clone, Copy, PartialEq, ::prost::Message)]
242pub struct E2mAggSamples {
243    /// Sample type min/max
244    #[prost(enumeration = "e2m_agg_samples::SampleType", tag = "2")]
245    pub sample_type: i32,
246}
247/// Nested message and enum types in `E2MAggSamples`.
248pub mod e2m_agg_samples {
249    /// Enum of aggregate type
250    #[derive(serde::Serialize, serde::Deserialize)]
251    #[serde(rename_all = "snake_case")]
252    #[derive(
253        Clone,
254        Copy,
255        Debug,
256        PartialEq,
257        Eq,
258        Hash,
259        PartialOrd,
260        Ord,
261        ::prost::Enumeration
262    )]
263    #[repr(i32)]
264    pub enum SampleType {
265        Unspecified = 0,
266        Min = 1,
267        Max = 2,
268    }
269    impl SampleType {
270        /// String value of the enum field names used in the ProtoBuf definition.
271        ///
272        /// The values are not transformed in any way and thus are considered stable
273        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
274        pub fn as_str_name(&self) -> &'static str {
275            match self {
276                Self::Unspecified => "SAMPLE_TYPE_UNSPECIFIED",
277                Self::Min => "SAMPLE_TYPE_MIN",
278                Self::Max => "SAMPLE_TYPE_MAX",
279            }
280        }
281        /// Creates an enum from field names used in the ProtoBuf definition.
282        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
283            match value {
284                "SAMPLE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
285                "SAMPLE_TYPE_MIN" => Some(Self::Min),
286                "SAMPLE_TYPE_MAX" => Some(Self::Max),
287                _ => None,
288            }
289        }
290    }
291}
292/// Represents the e2m aggregate histogram
293#[derive(serde::Serialize, serde::Deserialize)]
294#[serde(rename_all = "snake_case")]
295#[derive(Clone, PartialEq, ::prost::Message)]
296pub struct E2mAggHistogram {
297    /// Buckets of the E2M
298    #[prost(float, repeated, packed = "false", tag = "1")]
299    pub buckets: ::prost::alloc::vec::Vec<f32>,
300}
301/// Enum defining e2m type
302#[derive(serde::Serialize, serde::Deserialize)]
303#[serde(rename_all = "snake_case")]
304#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
305#[repr(i32)]
306pub enum E2mType {
307    Unspecified = 0,
308    Logs2metrics = 1,
309    Spans2metrics = 2,
310}
311impl E2mType {
312    /// String value of the enum field names used in the ProtoBuf definition.
313    ///
314    /// The values are not transformed in any way and thus are considered stable
315    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
316    pub fn as_str_name(&self) -> &'static str {
317        match self {
318            Self::Unspecified => "E2M_TYPE_UNSPECIFIED",
319            Self::Logs2metrics => "E2M_TYPE_LOGS2METRICS",
320            Self::Spans2metrics => "E2M_TYPE_SPANS2METRICS",
321        }
322    }
323    /// Creates an enum from field names used in the ProtoBuf definition.
324    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
325        match value {
326            "E2M_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
327            "E2M_TYPE_LOGS2METRICS" => Some(Self::Logs2metrics),
328            "E2M_TYPE_SPANS2METRICS" => Some(Self::Spans2metrics),
329            _ => None,
330        }
331    }
332}
333/// represents e2m create request
334#[derive(serde::Serialize, serde::Deserialize)]
335#[serde(rename_all = "snake_case")]
336#[derive(Clone, PartialEq, ::prost::Message)]
337pub struct CreateE2mRequest {
338    #[prost(message, optional, tag = "1")]
339    pub e2m: ::core::option::Option<E2mCreateParams>,
340}
341/// represents e2m create response
342#[derive(serde::Serialize, serde::Deserialize)]
343#[serde(rename_all = "snake_case")]
344#[derive(Clone, PartialEq, ::prost::Message)]
345pub struct CreateE2mResponse {
346    #[prost(message, optional, tag = "1")]
347    pub e2m: ::core::option::Option<E2m>,
348}
349/// represents e2m get list request
350#[derive(serde::Serialize, serde::Deserialize)]
351#[serde(rename_all = "snake_case")]
352#[derive(Clone, Copy, PartialEq, ::prost::Message)]
353pub struct ListE2mRequest {}
354/// represents response of
355#[derive(serde::Serialize, serde::Deserialize)]
356#[serde(rename_all = "snake_case")]
357#[derive(Clone, PartialEq, ::prost::Message)]
358pub struct ListE2mResponse {
359    /// List of event to metrics definitions
360    #[prost(message, repeated, tag = "1")]
361    pub e2m: ::prost::alloc::vec::Vec<E2m>,
362}
363/// represents e2m replace request
364#[derive(serde::Serialize, serde::Deserialize)]
365#[serde(rename_all = "snake_case")]
366#[derive(Clone, PartialEq, ::prost::Message)]
367pub struct ReplaceE2mRequest {
368    #[prost(message, optional, tag = "1")]
369    pub e2m: ::core::option::Option<E2m>,
370}
371/// represents e2m replace response
372#[derive(serde::Serialize, serde::Deserialize)]
373#[serde(rename_all = "snake_case")]
374#[derive(Clone, PartialEq, ::prost::Message)]
375pub struct ReplaceE2mResponse {
376    #[prost(message, optional, tag = "1")]
377    pub e2m: ::core::option::Option<E2m>,
378}
379/// represents get request for a single e2m by id
380#[derive(serde::Serialize, serde::Deserialize)]
381#[serde(rename_all = "snake_case")]
382#[derive(Clone, PartialEq, ::prost::Message)]
383pub struct GetE2mRequest {
384    #[prost(message, optional, tag = "1")]
385    pub id: ::core::option::Option<::prost::alloc::string::String>,
386}
387/// represents response for a single e2m by id
388#[derive(serde::Serialize, serde::Deserialize)]
389#[serde(rename_all = "snake_case")]
390#[derive(Clone, PartialEq, ::prost::Message)]
391pub struct GetE2mResponse {
392    #[prost(message, optional, tag = "1")]
393    pub e2m: ::core::option::Option<E2m>,
394}
395/// represents e2m delete request
396#[derive(serde::Serialize, serde::Deserialize)]
397#[serde(rename_all = "snake_case")]
398#[derive(Clone, PartialEq, ::prost::Message)]
399pub struct DeleteE2mRequest {
400    /// id of e2m to be deleted
401    #[prost(message, optional, tag = "1")]
402    pub id: ::core::option::Option<::prost::alloc::string::String>,
403}
404/// represents e2m delete response
405#[derive(serde::Serialize, serde::Deserialize)]
406#[serde(rename_all = "snake_case")]
407#[derive(Clone, PartialEq, ::prost::Message)]
408pub struct DeleteE2mResponse {
409    /// id of deleted e2m
410    #[prost(message, optional, tag = "1")]
411    pub id: ::core::option::Option<::prost::alloc::string::String>,
412}
413/// represents one of e2m actions create/replace/delete
414#[derive(serde::Serialize, serde::Deserialize)]
415#[serde(rename_all = "snake_case")]
416#[derive(Clone, PartialEq, ::prost::Message)]
417pub struct E2mExecutionRequest {
418    #[prost(oneof = "e2m_execution_request::Request", tags = "1, 2, 3")]
419    pub request: ::core::option::Option<e2m_execution_request::Request>,
420}
421/// Nested message and enum types in `E2MExecutionRequest`.
422pub mod e2m_execution_request {
423    #[derive(serde::Serialize, serde::Deserialize)]
424    #[serde(rename_all = "snake_case")]
425    #[derive(Clone, PartialEq, ::prost::Oneof)]
426    pub enum Request {
427        #[prost(message, tag = "1")]
428        Create(super::CreateE2mRequest),
429        #[prost(message, tag = "2")]
430        Replace(super::ReplaceE2mRequest),
431        #[prost(message, tag = "3")]
432        Delete(super::DeleteE2mRequest),
433    }
434}
435/// an atomic list of e2m action that are executed in the same request
436#[derive(serde::Serialize, serde::Deserialize)]
437#[serde(rename_all = "snake_case")]
438#[derive(Clone, PartialEq, ::prost::Message)]
439pub struct AtomicBatchExecuteE2mRequest {
440    #[prost(message, repeated, tag = "1")]
441    pub requests: ::prost::alloc::vec::Vec<E2mExecutionRequest>,
442}
443/// represents a response of e2m execution
444#[derive(serde::Serialize, serde::Deserialize)]
445#[serde(rename_all = "snake_case")]
446#[derive(Clone, PartialEq, ::prost::Message)]
447pub struct E2mExecutionResponse {
448    #[prost(oneof = "e2m_execution_response::Response", tags = "1, 2, 3")]
449    pub response: ::core::option::Option<e2m_execution_response::Response>,
450}
451/// Nested message and enum types in `E2MExecutionResponse`.
452pub mod e2m_execution_response {
453    #[derive(serde::Serialize, serde::Deserialize)]
454    #[serde(rename_all = "snake_case")]
455    #[derive(Clone, PartialEq, ::prost::Oneof)]
456    pub enum Response {
457        #[prost(message, tag = "1")]
458        Created(super::CreateE2mResponse),
459        #[prost(message, tag = "2")]
460        Replaced(super::ReplaceE2mResponse),
461        #[prost(message, tag = "3")]
462        Deleted(super::DeleteE2mResponse),
463    }
464}
465/// represents a response to atomic list of e2m actions
466#[derive(serde::Serialize, serde::Deserialize)]
467#[serde(rename_all = "snake_case")]
468#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct AtomicBatchExecuteE2mResponse {
470    #[prost(message, repeated, tag = "1")]
471    pub matching_responses: ::prost::alloc::vec::Vec<E2mExecutionResponse>,
472}
473/// represents a request of list label cardinality
474#[derive(serde::Serialize, serde::Deserialize)]
475#[serde(rename_all = "snake_case")]
476#[derive(Clone, PartialEq, ::prost::Message)]
477pub struct ListLabelsCardinalityRequest {
478    #[prost(message, repeated, tag = "3")]
479    pub metric_labels: ::prost::alloc::vec::Vec<MetricLabel>,
480    #[prost(oneof = "list_labels_cardinality_request::Query", tags = "1, 2")]
481    pub query: ::core::option::Option<list_labels_cardinality_request::Query>,
482}
483/// Nested message and enum types in `ListLabelsCardinalityRequest`.
484pub mod list_labels_cardinality_request {
485    #[derive(serde::Serialize, serde::Deserialize)]
486    #[serde(rename_all = "snake_case")]
487    #[derive(Clone, PartialEq, ::prost::Oneof)]
488    pub enum Query {
489        #[prost(message, tag = "1")]
490        SpansQuery(super::super::super::spans2metrics::v2::SpansQuery),
491        #[prost(message, tag = "2")]
492        LogsQuery(super::super::super::logs2metrics::v2::LogsQuery),
493    }
494}
495/// represents labels permutation cardinality
496#[derive(serde::Serialize, serde::Deserialize)]
497#[serde(rename_all = "snake_case")]
498#[derive(Clone, PartialEq, ::prost::Message)]
499pub struct LabelsPermutationsCardinalityDay {
500    #[prost(string, tag = "1")]
501    pub day: ::prost::alloc::string::String,
502    #[prost(int32, tag = "2")]
503    pub permutations: i32,
504}
505/// response  represented by list of labels permutation cardinality
506#[derive(serde::Serialize, serde::Deserialize)]
507#[serde(rename_all = "snake_case")]
508#[derive(Clone, PartialEq, ::prost::Message)]
509pub struct ListLabelsCardinalityResponse {
510    #[prost(message, repeated, tag = "1")]
511    pub permutations: ::prost::alloc::vec::Vec<LabelsPermutationsCardinalityDay>,
512}
513/// get e2m limits request
514#[derive(serde::Serialize, serde::Deserialize)]
515#[serde(rename_all = "snake_case")]
516#[derive(Clone, Copy, PartialEq, ::prost::Message)]
517pub struct GetLimitsRequest {}
518/// get e2m limits response
519#[derive(serde::Serialize, serde::Deserialize)]
520#[serde(rename_all = "snake_case")]
521#[derive(Clone, PartialEq, ::prost::Message)]
522pub struct GetLimitsResponse {
523    /// company id
524    #[prost(message, optional, tag = "1")]
525    pub company_id: ::core::option::Option<::prost::alloc::string::String>,
526    /// labels limit
527    #[prost(int32, tag = "2")]
528    pub labels_limit: i32,
529    /// permutation limit/used
530    #[prost(message, optional, tag = "3")]
531    pub permutations_limit: ::core::option::Option<get_limits_response::LimitUsage>,
532    /// metrics limit/used
533    #[prost(message, optional, tag = "4")]
534    pub metrics_limit: ::core::option::Option<get_limits_response::LimitUsage>,
535}
536/// Nested message and enum types in `GetLimitsResponse`.
537pub mod get_limits_response {
538    #[derive(serde::Serialize, serde::Deserialize)]
539    #[serde(rename_all = "snake_case")]
540    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
541    pub struct LimitUsage {
542        /// the limit number of e2m creation
543        #[prost(message, optional, tag = "1")]
544        pub limit: ::core::option::Option<i32>,
545        /// how many e2m's were created
546        #[prost(message, optional, tag = "2")]
547        pub used: ::core::option::Option<i32>,
548    }
549}
550/// Generated client implementations.
551pub mod events2_metric_service_client {
552    #![allow(
553        unused_variables,
554        dead_code,
555        missing_docs,
556        clippy::wildcard_imports,
557        clippy::let_unit_value,
558    )]
559    use tonic::codegen::*;
560    use tonic::codegen::http::Uri;
561    #[derive(Debug, Clone)]
562    pub struct Events2MetricServiceClient<T> {
563        inner: tonic::client::Grpc<T>,
564    }
565    impl Events2MetricServiceClient<tonic::transport::Channel> {
566        /// Attempt to create a new client by connecting to a given endpoint.
567        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
568        where
569            D: TryInto<tonic::transport::Endpoint>,
570            D::Error: Into<StdError>,
571        {
572            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
573            Ok(Self::new(conn))
574        }
575    }
576    impl<T> Events2MetricServiceClient<T>
577    where
578        T: tonic::client::GrpcService<tonic::body::BoxBody>,
579        T::Error: Into<StdError>,
580        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
581        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
582    {
583        pub fn new(inner: T) -> Self {
584            let inner = tonic::client::Grpc::new(inner);
585            Self { inner }
586        }
587        pub fn with_origin(inner: T, origin: Uri) -> Self {
588            let inner = tonic::client::Grpc::with_origin(inner, origin);
589            Self { inner }
590        }
591        pub fn with_interceptor<F>(
592            inner: T,
593            interceptor: F,
594        ) -> Events2MetricServiceClient<InterceptedService<T, F>>
595        where
596            F: tonic::service::Interceptor,
597            T::ResponseBody: Default,
598            T: tonic::codegen::Service<
599                http::Request<tonic::body::BoxBody>,
600                Response = http::Response<
601                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
602                >,
603            >,
604            <T as tonic::codegen::Service<
605                http::Request<tonic::body::BoxBody>,
606            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
607        {
608            Events2MetricServiceClient::new(InterceptedService::new(inner, interceptor))
609        }
610        /// Compress requests with the given encoding.
611        ///
612        /// This requires the server to support it otherwise it might respond with an
613        /// error.
614        #[must_use]
615        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
616            self.inner = self.inner.send_compressed(encoding);
617            self
618        }
619        /// Enable decompressing responses.
620        #[must_use]
621        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
622            self.inner = self.inner.accept_compressed(encoding);
623            self
624        }
625        /// Limits the maximum size of a decoded message.
626        ///
627        /// Default: `4MB`
628        #[must_use]
629        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
630            self.inner = self.inner.max_decoding_message_size(limit);
631            self
632        }
633        /// Limits the maximum size of an encoded message.
634        ///
635        /// Default: `usize::MAX`
636        #[must_use]
637        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
638            self.inner = self.inner.max_encoding_message_size(limit);
639            self
640        }
641        pub async fn create_e2m(
642            &mut self,
643            request: impl tonic::IntoRequest<super::CreateE2mRequest>,
644        ) -> std::result::Result<
645            tonic::Response<super::CreateE2mResponse>,
646            tonic::Status,
647        > {
648            self.inner
649                .ready()
650                .await
651                .map_err(|e| {
652                    tonic::Status::unknown(
653                        format!("Service was not ready: {}", e.into()),
654                    )
655                })?;
656            let codec = tonic::codec::ProstCodec::default();
657            let path = http::uri::PathAndQuery::from_static(
658                "/com.coralogixapis.events2metrics.v2.Events2MetricService/CreateE2M",
659            );
660            let mut req = request.into_request();
661            req.extensions_mut()
662                .insert(
663                    GrpcMethod::new(
664                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
665                        "CreateE2M",
666                    ),
667                );
668            self.inner.unary(req, path, codec).await
669        }
670        pub async fn list_e2m(
671            &mut self,
672            request: impl tonic::IntoRequest<super::ListE2mRequest>,
673        ) -> std::result::Result<
674            tonic::Response<super::ListE2mResponse>,
675            tonic::Status,
676        > {
677            self.inner
678                .ready()
679                .await
680                .map_err(|e| {
681                    tonic::Status::unknown(
682                        format!("Service was not ready: {}", e.into()),
683                    )
684                })?;
685            let codec = tonic::codec::ProstCodec::default();
686            let path = http::uri::PathAndQuery::from_static(
687                "/com.coralogixapis.events2metrics.v2.Events2MetricService/ListE2M",
688            );
689            let mut req = request.into_request();
690            req.extensions_mut()
691                .insert(
692                    GrpcMethod::new(
693                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
694                        "ListE2M",
695                    ),
696                );
697            self.inner.unary(req, path, codec).await
698        }
699        pub async fn replace_e2m(
700            &mut self,
701            request: impl tonic::IntoRequest<super::ReplaceE2mRequest>,
702        ) -> std::result::Result<
703            tonic::Response<super::ReplaceE2mResponse>,
704            tonic::Status,
705        > {
706            self.inner
707                .ready()
708                .await
709                .map_err(|e| {
710                    tonic::Status::unknown(
711                        format!("Service was not ready: {}", e.into()),
712                    )
713                })?;
714            let codec = tonic::codec::ProstCodec::default();
715            let path = http::uri::PathAndQuery::from_static(
716                "/com.coralogixapis.events2metrics.v2.Events2MetricService/ReplaceE2M",
717            );
718            let mut req = request.into_request();
719            req.extensions_mut()
720                .insert(
721                    GrpcMethod::new(
722                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
723                        "ReplaceE2M",
724                    ),
725                );
726            self.inner.unary(req, path, codec).await
727        }
728        pub async fn get_e2m(
729            &mut self,
730            request: impl tonic::IntoRequest<super::GetE2mRequest>,
731        ) -> std::result::Result<tonic::Response<super::GetE2mResponse>, tonic::Status> {
732            self.inner
733                .ready()
734                .await
735                .map_err(|e| {
736                    tonic::Status::unknown(
737                        format!("Service was not ready: {}", e.into()),
738                    )
739                })?;
740            let codec = tonic::codec::ProstCodec::default();
741            let path = http::uri::PathAndQuery::from_static(
742                "/com.coralogixapis.events2metrics.v2.Events2MetricService/GetE2M",
743            );
744            let mut req = request.into_request();
745            req.extensions_mut()
746                .insert(
747                    GrpcMethod::new(
748                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
749                        "GetE2M",
750                    ),
751                );
752            self.inner.unary(req, path, codec).await
753        }
754        pub async fn delete_e2m(
755            &mut self,
756            request: impl tonic::IntoRequest<super::DeleteE2mRequest>,
757        ) -> std::result::Result<
758            tonic::Response<super::DeleteE2mResponse>,
759            tonic::Status,
760        > {
761            self.inner
762                .ready()
763                .await
764                .map_err(|e| {
765                    tonic::Status::unknown(
766                        format!("Service was not ready: {}", e.into()),
767                    )
768                })?;
769            let codec = tonic::codec::ProstCodec::default();
770            let path = http::uri::PathAndQuery::from_static(
771                "/com.coralogixapis.events2metrics.v2.Events2MetricService/DeleteE2M",
772            );
773            let mut req = request.into_request();
774            req.extensions_mut()
775                .insert(
776                    GrpcMethod::new(
777                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
778                        "DeleteE2M",
779                    ),
780                );
781            self.inner.unary(req, path, codec).await
782        }
783        pub async fn atomic_batch_execute_e2m(
784            &mut self,
785            request: impl tonic::IntoRequest<super::AtomicBatchExecuteE2mRequest>,
786        ) -> std::result::Result<
787            tonic::Response<super::AtomicBatchExecuteE2mResponse>,
788            tonic::Status,
789        > {
790            self.inner
791                .ready()
792                .await
793                .map_err(|e| {
794                    tonic::Status::unknown(
795                        format!("Service was not ready: {}", e.into()),
796                    )
797                })?;
798            let codec = tonic::codec::ProstCodec::default();
799            let path = http::uri::PathAndQuery::from_static(
800                "/com.coralogixapis.events2metrics.v2.Events2MetricService/AtomicBatchExecuteE2M",
801            );
802            let mut req = request.into_request();
803            req.extensions_mut()
804                .insert(
805                    GrpcMethod::new(
806                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
807                        "AtomicBatchExecuteE2M",
808                    ),
809                );
810            self.inner.unary(req, path, codec).await
811        }
812        pub async fn list_labels_cardinality(
813            &mut self,
814            request: impl tonic::IntoRequest<super::ListLabelsCardinalityRequest>,
815        ) -> std::result::Result<
816            tonic::Response<super::ListLabelsCardinalityResponse>,
817            tonic::Status,
818        > {
819            self.inner
820                .ready()
821                .await
822                .map_err(|e| {
823                    tonic::Status::unknown(
824                        format!("Service was not ready: {}", e.into()),
825                    )
826                })?;
827            let codec = tonic::codec::ProstCodec::default();
828            let path = http::uri::PathAndQuery::from_static(
829                "/com.coralogixapis.events2metrics.v2.Events2MetricService/ListLabelsCardinality",
830            );
831            let mut req = request.into_request();
832            req.extensions_mut()
833                .insert(
834                    GrpcMethod::new(
835                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
836                        "ListLabelsCardinality",
837                    ),
838                );
839            self.inner.unary(req, path, codec).await
840        }
841        pub async fn get_limits(
842            &mut self,
843            request: impl tonic::IntoRequest<super::GetLimitsRequest>,
844        ) -> std::result::Result<
845            tonic::Response<super::GetLimitsResponse>,
846            tonic::Status,
847        > {
848            self.inner
849                .ready()
850                .await
851                .map_err(|e| {
852                    tonic::Status::unknown(
853                        format!("Service was not ready: {}", e.into()),
854                    )
855                })?;
856            let codec = tonic::codec::ProstCodec::default();
857            let path = http::uri::PathAndQuery::from_static(
858                "/com.coralogixapis.events2metrics.v2.Events2MetricService/GetLimits",
859            );
860            let mut req = request.into_request();
861            req.extensions_mut()
862                .insert(
863                    GrpcMethod::new(
864                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
865                        "GetLimits",
866                    ),
867                );
868            self.inner.unary(req, path, codec).await
869        }
870    }
871}