1#[derive(serde::Serialize, serde::Deserialize)]
4#[serde(rename_all = "snake_case")]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct E2m {
7    #[prost(message, optional, tag = "1")]
9    pub id: ::core::option::Option<::prost::alloc::string::String>,
10    #[prost(message, optional, tag = "2")]
12    pub name: ::core::option::Option<::prost::alloc::string::String>,
13    #[prost(message, optional, tag = "3")]
15    pub description: ::core::option::Option<::prost::alloc::string::String>,
16    #[prost(message, optional, tag = "4")]
18    pub create_time: ::core::option::Option<::prost::alloc::string::String>,
19    #[prost(message, optional, tag = "5")]
21    pub update_time: ::core::option::Option<::prost::alloc::string::String>,
22    #[prost(message, optional, tag = "6")]
24    pub permutations: ::core::option::Option<E2mPermutations>,
25    #[prost(message, repeated, tag = "7")]
27    pub metric_labels: ::prost::alloc::vec::Vec<MetricLabel>,
28    #[prost(message, repeated, tag = "8")]
30    pub metric_fields: ::prost::alloc::vec::Vec<MetricField>,
31    #[prost(enumeration = "E2mType", tag = "9")]
33    pub r#type: i32,
34    #[prost(message, optional, tag = "12")]
36    pub is_internal: ::core::option::Option<bool>,
37    #[prost(oneof = "e2m::Query", tags = "10, 11")]
39    pub query: ::core::option::Option<e2m::Query>,
40}
41pub mod e2m {
43    #[derive(serde::Serialize, serde::Deserialize)]
45    #[serde(rename_all = "snake_case")]
46    #[derive(Clone, PartialEq, ::prost::Oneof)]
47    pub enum Query {
48        #[prost(message, tag = "10")]
50        SpansQuery(super::super::super::spans2metrics::v2::SpansQuery),
51        #[prost(message, tag = "11")]
53        LogsQuery(super::super::super::logs2metrics::v2::LogsQuery),
54    }
55}
56#[derive(serde::Serialize, serde::Deserialize)]
58#[serde(rename_all = "snake_case")]
59#[derive(Clone, PartialEq, ::prost::Message)]
60pub struct E2mCreateParams {
61    #[prost(message, optional, tag = "1")]
63    pub name: ::core::option::Option<::prost::alloc::string::String>,
64    #[prost(message, optional, tag = "2")]
66    pub description: ::core::option::Option<::prost::alloc::string::String>,
67    #[prost(message, optional, tag = "3")]
69    pub permutations_limit: ::core::option::Option<i32>,
70    #[prost(message, repeated, tag = "4")]
72    pub metric_labels: ::prost::alloc::vec::Vec<MetricLabel>,
73    #[prost(message, repeated, tag = "5")]
75    pub metric_fields: ::prost::alloc::vec::Vec<MetricField>,
76    #[prost(enumeration = "E2mType", tag = "6")]
78    pub r#type: i32,
79    #[prost(oneof = "e2m_create_params::Query", tags = "7, 8")]
81    pub query: ::core::option::Option<e2m_create_params::Query>,
82}
83pub mod e2m_create_params {
85    #[derive(serde::Serialize, serde::Deserialize)]
87    #[serde(rename_all = "snake_case")]
88    #[derive(Clone, PartialEq, ::prost::Oneof)]
89    pub enum Query {
90        #[prost(message, tag = "7")]
92        SpansQuery(super::super::super::spans2metrics::v2::SpansQuery),
93        #[prost(message, tag = "8")]
95        LogsQuery(super::super::super::logs2metrics::v2::LogsQuery),
96    }
97}
98#[derive(serde::Serialize, serde::Deserialize)]
100#[serde(rename_all = "snake_case")]
101#[derive(Clone, Copy, PartialEq, ::prost::Message)]
102pub struct E2mPermutations {
103    #[prost(int32, tag = "1")]
105    pub limit: i32,
106    #[prost(bool, tag = "2")]
108    pub has_exceeded_limit: bool,
109}
110#[derive(serde::Serialize, serde::Deserialize)]
112#[serde(rename_all = "snake_case")]
113#[derive(Clone, PartialEq, ::prost::Message)]
114pub struct MetricLabel {
115    #[prost(message, optional, tag = "1")]
117    pub target_label: ::core::option::Option<::prost::alloc::string::String>,
118    #[prost(message, optional, tag = "2")]
120    pub source_field: ::core::option::Option<::prost::alloc::string::String>,
121}
122#[derive(serde::Serialize, serde::Deserialize)]
124#[serde(rename_all = "snake_case")]
125#[derive(Clone, PartialEq, ::prost::Message)]
126pub struct MetricField {
127    #[prost(message, optional, tag = "1")]
129    pub target_base_metric_name: ::core::option::Option<::prost::alloc::string::String>,
130    #[prost(message, optional, tag = "2")]
132    pub source_field: ::core::option::Option<::prost::alloc::string::String>,
133    #[prost(message, repeated, tag = "7")]
135    pub aggregations: ::prost::alloc::vec::Vec<Aggregation>,
136}
137#[derive(serde::Serialize, serde::Deserialize)]
139#[serde(rename_all = "snake_case")]
140#[derive(Clone, PartialEq, ::prost::Message)]
141pub struct Aggregation {
142    #[prost(bool, tag = "1")]
144    pub enabled: bool,
145    #[prost(enumeration = "aggregation::AggType", tag = "2")]
147    pub agg_type: i32,
148    #[prost(string, tag = "3")]
150    pub target_metric_name: ::prost::alloc::string::String,
151    #[prost(oneof = "aggregation::AggMetadata", tags = "4, 5")]
153    pub agg_metadata: ::core::option::Option<aggregation::AggMetadata>,
154}
155pub mod aggregation {
157    #[derive(serde::Serialize, serde::Deserialize)]
159    #[serde(rename_all = "snake_case")]
160    #[derive(
161        Clone,
162        Copy,
163        Debug,
164        PartialEq,
165        Eq,
166        Hash,
167        PartialOrd,
168        Ord,
169        ::prost::Enumeration
170    )]
171    #[repr(i32)]
172    pub enum AggType {
173        Unspecified = 0,
174        Min = 1,
175        Max = 2,
176        Count = 3,
177        Avg = 4,
178        Sum = 5,
179        Histogram = 6,
180        Samples = 7,
181    }
182    impl AggType {
183        pub fn as_str_name(&self) -> &'static str {
188            match self {
189                Self::Unspecified => "AGG_TYPE_UNSPECIFIED",
190                Self::Min => "AGG_TYPE_MIN",
191                Self::Max => "AGG_TYPE_MAX",
192                Self::Count => "AGG_TYPE_COUNT",
193                Self::Avg => "AGG_TYPE_AVG",
194                Self::Sum => "AGG_TYPE_SUM",
195                Self::Histogram => "AGG_TYPE_HISTOGRAM",
196                Self::Samples => "AGG_TYPE_SAMPLES",
197            }
198        }
199        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
201            match value {
202                "AGG_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
203                "AGG_TYPE_MIN" => Some(Self::Min),
204                "AGG_TYPE_MAX" => Some(Self::Max),
205                "AGG_TYPE_COUNT" => Some(Self::Count),
206                "AGG_TYPE_AVG" => Some(Self::Avg),
207                "AGG_TYPE_SUM" => Some(Self::Sum),
208                "AGG_TYPE_HISTOGRAM" => Some(Self::Histogram),
209                "AGG_TYPE_SAMPLES" => Some(Self::Samples),
210                _ => None,
211            }
212        }
213    }
214    #[derive(serde::Serialize, serde::Deserialize)]
216    #[serde(rename_all = "snake_case")]
217    #[derive(Clone, PartialEq, ::prost::Oneof)]
218    pub enum AggMetadata {
219        #[prost(message, tag = "4")]
221        Samples(super::E2mAggSamples),
222        #[prost(message, tag = "5")]
224        Histogram(super::E2mAggHistogram),
225    }
226}
227#[derive(serde::Serialize, serde::Deserialize)]
229#[serde(rename_all = "snake_case")]
230#[derive(Clone, Copy, PartialEq, ::prost::Message)]
231pub struct E2mAggSamples {
232    #[prost(enumeration = "e2m_agg_samples::SampleType", tag = "2")]
234    pub sample_type: i32,
235}
236pub mod e2m_agg_samples {
238    #[derive(serde::Serialize, serde::Deserialize)]
240    #[serde(rename_all = "snake_case")]
241    #[derive(
242        Clone,
243        Copy,
244        Debug,
245        PartialEq,
246        Eq,
247        Hash,
248        PartialOrd,
249        Ord,
250        ::prost::Enumeration
251    )]
252    #[repr(i32)]
253    pub enum SampleType {
254        Unspecified = 0,
255        Min = 1,
256        Max = 2,
257    }
258    impl SampleType {
259        pub fn as_str_name(&self) -> &'static str {
264            match self {
265                Self::Unspecified => "SAMPLE_TYPE_UNSPECIFIED",
266                Self::Min => "SAMPLE_TYPE_MIN",
267                Self::Max => "SAMPLE_TYPE_MAX",
268            }
269        }
270        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
272            match value {
273                "SAMPLE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
274                "SAMPLE_TYPE_MIN" => Some(Self::Min),
275                "SAMPLE_TYPE_MAX" => Some(Self::Max),
276                _ => None,
277            }
278        }
279    }
280}
281#[derive(serde::Serialize, serde::Deserialize)]
283#[serde(rename_all = "snake_case")]
284#[derive(Clone, PartialEq, ::prost::Message)]
285pub struct E2mAggHistogram {
286    #[prost(float, repeated, packed = "false", tag = "1")]
288    pub buckets: ::prost::alloc::vec::Vec<f32>,
289}
290#[derive(serde::Serialize, serde::Deserialize)]
292#[serde(rename_all = "snake_case")]
293#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
294#[repr(i32)]
295pub enum E2mType {
296    Unspecified = 0,
297    Logs2metrics = 1,
298    Spans2metrics = 2,
299}
300impl E2mType {
301    pub fn as_str_name(&self) -> &'static str {
306        match self {
307            Self::Unspecified => "E2M_TYPE_UNSPECIFIED",
308            Self::Logs2metrics => "E2M_TYPE_LOGS2METRICS",
309            Self::Spans2metrics => "E2M_TYPE_SPANS2METRICS",
310        }
311    }
312    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
314        match value {
315            "E2M_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
316            "E2M_TYPE_LOGS2METRICS" => Some(Self::Logs2metrics),
317            "E2M_TYPE_SPANS2METRICS" => Some(Self::Spans2metrics),
318            _ => None,
319        }
320    }
321}
322#[derive(serde::Serialize, serde::Deserialize)]
324#[serde(rename_all = "snake_case")]
325#[derive(Clone, PartialEq, ::prost::Message)]
326pub struct CreateE2mRequest {
327    #[prost(message, optional, tag = "1")]
328    pub e2m: ::core::option::Option<E2mCreateParams>,
329}
330#[derive(serde::Serialize, serde::Deserialize)]
332#[serde(rename_all = "snake_case")]
333#[derive(Clone, PartialEq, ::prost::Message)]
334pub struct CreateE2mResponse {
335    #[prost(message, optional, tag = "1")]
336    pub e2m: ::core::option::Option<E2m>,
337}
338#[derive(serde::Serialize, serde::Deserialize)]
340#[serde(rename_all = "snake_case")]
341#[derive(Clone, Copy, PartialEq, ::prost::Message)]
342pub struct ListE2mRequest {}
343#[derive(serde::Serialize, serde::Deserialize)]
345#[serde(rename_all = "snake_case")]
346#[derive(Clone, PartialEq, ::prost::Message)]
347pub struct ListE2mResponse {
348    #[prost(message, repeated, tag = "1")]
350    pub e2m: ::prost::alloc::vec::Vec<E2m>,
351}
352#[derive(serde::Serialize, serde::Deserialize)]
354#[serde(rename_all = "snake_case")]
355#[derive(Clone, PartialEq, ::prost::Message)]
356pub struct ReplaceE2mRequest {
357    #[prost(message, optional, tag = "1")]
358    pub e2m: ::core::option::Option<E2m>,
359}
360#[derive(serde::Serialize, serde::Deserialize)]
362#[serde(rename_all = "snake_case")]
363#[derive(Clone, PartialEq, ::prost::Message)]
364pub struct ReplaceE2mResponse {
365    #[prost(message, optional, tag = "1")]
366    pub e2m: ::core::option::Option<E2m>,
367}
368#[derive(serde::Serialize, serde::Deserialize)]
370#[serde(rename_all = "snake_case")]
371#[derive(Clone, PartialEq, ::prost::Message)]
372pub struct GetE2mRequest {
373    #[prost(message, optional, tag = "1")]
374    pub id: ::core::option::Option<::prost::alloc::string::String>,
375}
376#[derive(serde::Serialize, serde::Deserialize)]
378#[serde(rename_all = "snake_case")]
379#[derive(Clone, PartialEq, ::prost::Message)]
380pub struct GetE2mResponse {
381    #[prost(message, optional, tag = "1")]
382    pub e2m: ::core::option::Option<E2m>,
383}
384#[derive(serde::Serialize, serde::Deserialize)]
386#[serde(rename_all = "snake_case")]
387#[derive(Clone, PartialEq, ::prost::Message)]
388pub struct DeleteE2mRequest {
389    #[prost(message, optional, tag = "1")]
391    pub id: ::core::option::Option<::prost::alloc::string::String>,
392}
393#[derive(serde::Serialize, serde::Deserialize)]
395#[serde(rename_all = "snake_case")]
396#[derive(Clone, PartialEq, ::prost::Message)]
397pub struct DeleteE2mResponse {
398    #[prost(message, optional, tag = "1")]
400    pub id: ::core::option::Option<::prost::alloc::string::String>,
401}
402#[derive(serde::Serialize, serde::Deserialize)]
404#[serde(rename_all = "snake_case")]
405#[derive(Clone, PartialEq, ::prost::Message)]
406pub struct E2mExecutionRequest {
407    #[prost(oneof = "e2m_execution_request::Request", tags = "1, 2, 3")]
408    pub request: ::core::option::Option<e2m_execution_request::Request>,
409}
410pub mod e2m_execution_request {
412    #[derive(serde::Serialize, serde::Deserialize)]
413    #[serde(rename_all = "snake_case")]
414    #[derive(Clone, PartialEq, ::prost::Oneof)]
415    pub enum Request {
416        #[prost(message, tag = "1")]
417        Create(super::CreateE2mRequest),
418        #[prost(message, tag = "2")]
419        Replace(super::ReplaceE2mRequest),
420        #[prost(message, tag = "3")]
421        Delete(super::DeleteE2mRequest),
422    }
423}
424#[derive(serde::Serialize, serde::Deserialize)]
426#[serde(rename_all = "snake_case")]
427#[derive(Clone, PartialEq, ::prost::Message)]
428pub struct AtomicBatchExecuteE2mRequest {
429    #[prost(message, repeated, tag = "1")]
430    pub requests: ::prost::alloc::vec::Vec<E2mExecutionRequest>,
431}
432#[derive(serde::Serialize, serde::Deserialize)]
434#[serde(rename_all = "snake_case")]
435#[derive(Clone, PartialEq, ::prost::Message)]
436pub struct E2mExecutionResponse {
437    #[prost(oneof = "e2m_execution_response::Response", tags = "1, 2, 3")]
438    pub response: ::core::option::Option<e2m_execution_response::Response>,
439}
440pub mod e2m_execution_response {
442    #[derive(serde::Serialize, serde::Deserialize)]
443    #[serde(rename_all = "snake_case")]
444    #[derive(Clone, PartialEq, ::prost::Oneof)]
445    pub enum Response {
446        #[prost(message, tag = "1")]
447        Created(super::CreateE2mResponse),
448        #[prost(message, tag = "2")]
449        Replaced(super::ReplaceE2mResponse),
450        #[prost(message, tag = "3")]
451        Deleted(super::DeleteE2mResponse),
452    }
453}
454#[derive(serde::Serialize, serde::Deserialize)]
456#[serde(rename_all = "snake_case")]
457#[derive(Clone, PartialEq, ::prost::Message)]
458pub struct AtomicBatchExecuteE2mResponse {
459    #[prost(message, repeated, tag = "1")]
460    pub matching_responses: ::prost::alloc::vec::Vec<E2mExecutionResponse>,
461}
462#[derive(serde::Serialize, serde::Deserialize)]
464#[serde(rename_all = "snake_case")]
465#[derive(Clone, PartialEq, ::prost::Message)]
466pub struct ListLabelsCardinalityRequest {
467    #[prost(message, repeated, tag = "3")]
468    pub metric_labels: ::prost::alloc::vec::Vec<MetricLabel>,
469    #[prost(oneof = "list_labels_cardinality_request::Query", tags = "1, 2")]
470    pub query: ::core::option::Option<list_labels_cardinality_request::Query>,
471}
472pub mod list_labels_cardinality_request {
474    #[derive(serde::Serialize, serde::Deserialize)]
475    #[serde(rename_all = "snake_case")]
476    #[derive(Clone, PartialEq, ::prost::Oneof)]
477    pub enum Query {
478        #[prost(message, tag = "1")]
479        SpansQuery(super::super::super::spans2metrics::v2::SpansQuery),
480        #[prost(message, tag = "2")]
481        LogsQuery(super::super::super::logs2metrics::v2::LogsQuery),
482    }
483}
484#[derive(serde::Serialize, serde::Deserialize)]
486#[serde(rename_all = "snake_case")]
487#[derive(Clone, PartialEq, ::prost::Message)]
488pub struct LabelsPermutationsCardinalityDay {
489    #[prost(string, tag = "1")]
490    pub day: ::prost::alloc::string::String,
491    #[prost(int32, tag = "2")]
492    pub permutations: i32,
493}
494#[derive(serde::Serialize, serde::Deserialize)]
496#[serde(rename_all = "snake_case")]
497#[derive(Clone, PartialEq, ::prost::Message)]
498pub struct ListLabelsCardinalityResponse {
499    #[prost(message, repeated, tag = "1")]
500    pub permutations: ::prost::alloc::vec::Vec<LabelsPermutationsCardinalityDay>,
501}
502#[derive(serde::Serialize, serde::Deserialize)]
504#[serde(rename_all = "snake_case")]
505#[derive(Clone, Copy, PartialEq, ::prost::Message)]
506pub struct GetLimitsRequest {}
507#[derive(serde::Serialize, serde::Deserialize)]
509#[serde(rename_all = "snake_case")]
510#[derive(Clone, PartialEq, ::prost::Message)]
511pub struct GetLimitsResponse {
512    #[prost(message, optional, tag = "1")]
514    pub company_id: ::core::option::Option<::prost::alloc::string::String>,
515    #[prost(int32, tag = "2")]
517    pub labels_limit: i32,
518    #[prost(message, optional, tag = "3")]
520    pub permutations_limit: ::core::option::Option<get_limits_response::LimitUsage>,
521    #[prost(message, optional, tag = "4")]
523    pub metrics_limit: ::core::option::Option<get_limits_response::LimitUsage>,
524}
525pub mod get_limits_response {
527    #[derive(serde::Serialize, serde::Deserialize)]
528    #[serde(rename_all = "snake_case")]
529    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
530    pub struct LimitUsage {
531        #[prost(message, optional, tag = "1")]
533        pub limit: ::core::option::Option<i32>,
534        #[prost(message, optional, tag = "2")]
536        pub used: ::core::option::Option<i32>,
537    }
538}
539pub mod events2_metric_service_client {
541    #![allow(
542        unused_variables,
543        dead_code,
544        missing_docs,
545        clippy::wildcard_imports,
546        clippy::let_unit_value,
547    )]
548    use tonic::codegen::*;
549    use tonic::codegen::http::Uri;
550    #[derive(Debug, Clone)]
551    pub struct Events2MetricServiceClient<T> {
552        inner: tonic::client::Grpc<T>,
553    }
554    impl Events2MetricServiceClient<tonic::transport::Channel> {
555        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
557        where
558            D: TryInto<tonic::transport::Endpoint>,
559            D::Error: Into<StdError>,
560        {
561            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
562            Ok(Self::new(conn))
563        }
564    }
565    impl<T> Events2MetricServiceClient<T>
566    where
567        T: tonic::client::GrpcService<tonic::body::BoxBody>,
568        T::Error: Into<StdError>,
569        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
570        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
571    {
572        pub fn new(inner: T) -> Self {
573            let inner = tonic::client::Grpc::new(inner);
574            Self { inner }
575        }
576        pub fn with_origin(inner: T, origin: Uri) -> Self {
577            let inner = tonic::client::Grpc::with_origin(inner, origin);
578            Self { inner }
579        }
580        pub fn with_interceptor<F>(
581            inner: T,
582            interceptor: F,
583        ) -> Events2MetricServiceClient<InterceptedService<T, F>>
584        where
585            F: tonic::service::Interceptor,
586            T::ResponseBody: Default,
587            T: tonic::codegen::Service<
588                http::Request<tonic::body::BoxBody>,
589                Response = http::Response<
590                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
591                >,
592            >,
593            <T as tonic::codegen::Service<
594                http::Request<tonic::body::BoxBody>,
595            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
596        {
597            Events2MetricServiceClient::new(InterceptedService::new(inner, interceptor))
598        }
599        #[must_use]
604        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
605            self.inner = self.inner.send_compressed(encoding);
606            self
607        }
608        #[must_use]
610        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
611            self.inner = self.inner.accept_compressed(encoding);
612            self
613        }
614        #[must_use]
618        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
619            self.inner = self.inner.max_decoding_message_size(limit);
620            self
621        }
622        #[must_use]
626        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
627            self.inner = self.inner.max_encoding_message_size(limit);
628            self
629        }
630        pub async fn create_e2m(
631            &mut self,
632            request: impl tonic::IntoRequest<super::CreateE2mRequest>,
633        ) -> std::result::Result<
634            tonic::Response<super::CreateE2mResponse>,
635            tonic::Status,
636        > {
637            self.inner
638                .ready()
639                .await
640                .map_err(|e| {
641                    tonic::Status::unknown(
642                        format!("Service was not ready: {}", e.into()),
643                    )
644                })?;
645            let codec = tonic::codec::ProstCodec::default();
646            let path = http::uri::PathAndQuery::from_static(
647                "/com.coralogixapis.events2metrics.v2.Events2MetricService/CreateE2M",
648            );
649            let mut req = request.into_request();
650            req.extensions_mut()
651                .insert(
652                    GrpcMethod::new(
653                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
654                        "CreateE2M",
655                    ),
656                );
657            self.inner.unary(req, path, codec).await
658        }
659        pub async fn list_e2m(
660            &mut self,
661            request: impl tonic::IntoRequest<super::ListE2mRequest>,
662        ) -> std::result::Result<
663            tonic::Response<super::ListE2mResponse>,
664            tonic::Status,
665        > {
666            self.inner
667                .ready()
668                .await
669                .map_err(|e| {
670                    tonic::Status::unknown(
671                        format!("Service was not ready: {}", e.into()),
672                    )
673                })?;
674            let codec = tonic::codec::ProstCodec::default();
675            let path = http::uri::PathAndQuery::from_static(
676                "/com.coralogixapis.events2metrics.v2.Events2MetricService/ListE2M",
677            );
678            let mut req = request.into_request();
679            req.extensions_mut()
680                .insert(
681                    GrpcMethod::new(
682                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
683                        "ListE2M",
684                    ),
685                );
686            self.inner.unary(req, path, codec).await
687        }
688        pub async fn replace_e2m(
689            &mut self,
690            request: impl tonic::IntoRequest<super::ReplaceE2mRequest>,
691        ) -> std::result::Result<
692            tonic::Response<super::ReplaceE2mResponse>,
693            tonic::Status,
694        > {
695            self.inner
696                .ready()
697                .await
698                .map_err(|e| {
699                    tonic::Status::unknown(
700                        format!("Service was not ready: {}", e.into()),
701                    )
702                })?;
703            let codec = tonic::codec::ProstCodec::default();
704            let path = http::uri::PathAndQuery::from_static(
705                "/com.coralogixapis.events2metrics.v2.Events2MetricService/ReplaceE2M",
706            );
707            let mut req = request.into_request();
708            req.extensions_mut()
709                .insert(
710                    GrpcMethod::new(
711                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
712                        "ReplaceE2M",
713                    ),
714                );
715            self.inner.unary(req, path, codec).await
716        }
717        pub async fn get_e2m(
718            &mut self,
719            request: impl tonic::IntoRequest<super::GetE2mRequest>,
720        ) -> std::result::Result<tonic::Response<super::GetE2mResponse>, tonic::Status> {
721            self.inner
722                .ready()
723                .await
724                .map_err(|e| {
725                    tonic::Status::unknown(
726                        format!("Service was not ready: {}", e.into()),
727                    )
728                })?;
729            let codec = tonic::codec::ProstCodec::default();
730            let path = http::uri::PathAndQuery::from_static(
731                "/com.coralogixapis.events2metrics.v2.Events2MetricService/GetE2M",
732            );
733            let mut req = request.into_request();
734            req.extensions_mut()
735                .insert(
736                    GrpcMethod::new(
737                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
738                        "GetE2M",
739                    ),
740                );
741            self.inner.unary(req, path, codec).await
742        }
743        pub async fn delete_e2m(
744            &mut self,
745            request: impl tonic::IntoRequest<super::DeleteE2mRequest>,
746        ) -> std::result::Result<
747            tonic::Response<super::DeleteE2mResponse>,
748            tonic::Status,
749        > {
750            self.inner
751                .ready()
752                .await
753                .map_err(|e| {
754                    tonic::Status::unknown(
755                        format!("Service was not ready: {}", e.into()),
756                    )
757                })?;
758            let codec = tonic::codec::ProstCodec::default();
759            let path = http::uri::PathAndQuery::from_static(
760                "/com.coralogixapis.events2metrics.v2.Events2MetricService/DeleteE2M",
761            );
762            let mut req = request.into_request();
763            req.extensions_mut()
764                .insert(
765                    GrpcMethod::new(
766                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
767                        "DeleteE2M",
768                    ),
769                );
770            self.inner.unary(req, path, codec).await
771        }
772        pub async fn atomic_batch_execute_e2m(
773            &mut self,
774            request: impl tonic::IntoRequest<super::AtomicBatchExecuteE2mRequest>,
775        ) -> std::result::Result<
776            tonic::Response<super::AtomicBatchExecuteE2mResponse>,
777            tonic::Status,
778        > {
779            self.inner
780                .ready()
781                .await
782                .map_err(|e| {
783                    tonic::Status::unknown(
784                        format!("Service was not ready: {}", e.into()),
785                    )
786                })?;
787            let codec = tonic::codec::ProstCodec::default();
788            let path = http::uri::PathAndQuery::from_static(
789                "/com.coralogixapis.events2metrics.v2.Events2MetricService/AtomicBatchExecuteE2M",
790            );
791            let mut req = request.into_request();
792            req.extensions_mut()
793                .insert(
794                    GrpcMethod::new(
795                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
796                        "AtomicBatchExecuteE2M",
797                    ),
798                );
799            self.inner.unary(req, path, codec).await
800        }
801        pub async fn list_labels_cardinality(
802            &mut self,
803            request: impl tonic::IntoRequest<super::ListLabelsCardinalityRequest>,
804        ) -> std::result::Result<
805            tonic::Response<super::ListLabelsCardinalityResponse>,
806            tonic::Status,
807        > {
808            self.inner
809                .ready()
810                .await
811                .map_err(|e| {
812                    tonic::Status::unknown(
813                        format!("Service was not ready: {}", e.into()),
814                    )
815                })?;
816            let codec = tonic::codec::ProstCodec::default();
817            let path = http::uri::PathAndQuery::from_static(
818                "/com.coralogixapis.events2metrics.v2.Events2MetricService/ListLabelsCardinality",
819            );
820            let mut req = request.into_request();
821            req.extensions_mut()
822                .insert(
823                    GrpcMethod::new(
824                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
825                        "ListLabelsCardinality",
826                    ),
827                );
828            self.inner.unary(req, path, codec).await
829        }
830        pub async fn get_limits(
831            &mut self,
832            request: impl tonic::IntoRequest<super::GetLimitsRequest>,
833        ) -> std::result::Result<
834            tonic::Response<super::GetLimitsResponse>,
835            tonic::Status,
836        > {
837            self.inner
838                .ready()
839                .await
840                .map_err(|e| {
841                    tonic::Status::unknown(
842                        format!("Service was not ready: {}", e.into()),
843                    )
844                })?;
845            let codec = tonic::codec::ProstCodec::default();
846            let path = http::uri::PathAndQuery::from_static(
847                "/com.coralogixapis.events2metrics.v2.Events2MetricService/GetLimits",
848            );
849            let mut req = request.into_request();
850            req.extensions_mut()
851                .insert(
852                    GrpcMethod::new(
853                        "com.coralogixapis.events2metrics.v2.Events2MetricService",
854                        "GetLimits",
855                    ),
856                );
857            self.inner.unary(req, path, codec).await
858        }
859    }
860}