cx_api/generated/
com.coralogix.enrichment.v1.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 EnrichmentType {
6    #[prost(oneof = "enrichment_type::Type", tags = "1, 2, 3, 4")]
7    pub r#type: ::core::option::Option<enrichment_type::Type>,
8}
9/// Nested message and enum types in `EnrichmentType`.
10pub mod enrichment_type {
11    #[derive(serde::Serialize, serde::Deserialize)]
12    #[serde(rename_all = "snake_case")]
13    #[derive(Clone, PartialEq, ::prost::Oneof)]
14    pub enum Type {
15        #[prost(message, tag = "1")]
16        GeoIp(super::GeoIpType),
17        #[prost(message, tag = "2")]
18        SuspiciousIp(super::SuspiciousIpType),
19        #[prost(message, tag = "3")]
20        Aws(super::AwsType),
21        #[prost(message, tag = "4")]
22        CustomEnrichment(super::CustomEnrichmentType),
23    }
24}
25#[derive(serde::Serialize, serde::Deserialize)]
26#[serde(rename_all = "snake_case")]
27#[derive(Clone, Copy, PartialEq, ::prost::Message)]
28pub struct GeoIpType {
29    #[prost(bool, optional, tag = "4")]
30    pub with_asn: ::core::option::Option<bool>,
31}
32#[derive(serde::Serialize, serde::Deserialize)]
33#[serde(rename_all = "snake_case")]
34#[derive(Clone, Copy, PartialEq, ::prost::Message)]
35pub struct SuspiciousIpType {}
36#[derive(serde::Serialize, serde::Deserialize)]
37#[serde(rename_all = "snake_case")]
38#[derive(Clone, PartialEq, ::prost::Message)]
39pub struct AwsType {
40    #[prost(message, optional, tag = "1")]
41    pub resource_type: ::core::option::Option<::prost::alloc::string::String>,
42}
43#[derive(serde::Serialize, serde::Deserialize)]
44#[serde(rename_all = "snake_case")]
45#[derive(Clone, Copy, PartialEq, ::prost::Message)]
46pub struct CustomEnrichmentType {
47    #[prost(message, optional, tag = "1")]
48    pub id: ::core::option::Option<u32>,
49}
50#[derive(serde::Serialize, serde::Deserialize)]
51#[serde(rename_all = "snake_case")]
52#[derive(Clone, PartialEq, ::prost::Message)]
53pub struct Enrichment {
54    #[prost(uint32, tag = "1")]
55    pub id: u32,
56    #[prost(string, tag = "2")]
57    pub field_name: ::prost::alloc::string::String,
58    #[prost(message, optional, tag = "3")]
59    pub enrichment_type: ::core::option::Option<EnrichmentType>,
60    #[prost(message, optional, tag = "4")]
61    pub enriched_field_name: ::core::option::Option<::prost::alloc::string::String>,
62    #[prost(string, repeated, tag = "5")]
63    pub selected_columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
64}
65#[derive(serde::Serialize, serde::Deserialize)]
66#[serde(rename_all = "snake_case")]
67#[derive(Clone, PartialEq, ::prost::Message)]
68pub struct EnrichmentRequestModel {
69    #[prost(message, optional, tag = "1")]
70    pub field_name: ::core::option::Option<::prost::alloc::string::String>,
71    #[prost(message, optional, tag = "2")]
72    pub enrichment_type: ::core::option::Option<EnrichmentType>,
73    #[prost(message, optional, tag = "3")]
74    pub enriched_field_name: ::core::option::Option<::prost::alloc::string::String>,
75    #[prost(string, repeated, tag = "4")]
76    pub selected_columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
77}
78#[derive(serde::Serialize, serde::Deserialize)]
79#[serde(rename_all = "snake_case")]
80#[derive(Clone, PartialEq, ::prost::Message)]
81pub struct EnrichmentFieldDefinition {
82    /// the field name of the key targeted for enrichment
83    #[prost(message, optional, tag = "1")]
84    pub field_name: ::core::option::Option<::prost::alloc::string::String>,
85    /// the field of the enriched key after enrichment
86    #[prost(message, optional, tag = "3")]
87    pub enriched_field_name: ::core::option::Option<::prost::alloc::string::String>,
88    /// the columns to be selected from the enrichment
89    #[prost(string, repeated, tag = "4")]
90    pub selected_columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
91}
92#[derive(serde::Serialize, serde::Deserialize)]
93#[serde(rename_all = "snake_case")]
94#[derive(Clone, Copy, PartialEq, ::prost::Message)]
95pub struct CompanyEnrichmentSettings {
96    #[prost(uint32, tag = "1")]
97    pub enrichment_amount_limit: u32,
98    #[prost(uint32, tag = "2")]
99    pub enrichments_in_use: u32,
100    #[prost(uint64, tag = "3")]
101    pub size_limit_bytes: u64,
102    #[prost(uint32, tag = "4")]
103    pub row_limit: u32,
104    #[prost(uint64, tag = "5")]
105    pub query_only_size_limit_bytes: u64,
106    #[prost(uint32, tag = "6")]
107    pub query_only_row_limit: u32,
108}
109#[derive(serde::Serialize, serde::Deserialize)]
110#[serde(rename_all = "snake_case")]
111#[derive(Clone, Copy, PartialEq, ::prost::Message)]
112pub struct GetEnrichmentLimitRequest {}
113#[derive(serde::Serialize, serde::Deserialize)]
114#[serde(rename_all = "snake_case")]
115#[derive(Clone, Copy, PartialEq, ::prost::Message)]
116pub struct GetEnrichmentLimitResponse {
117    #[prost(uint32, tag = "1")]
118    pub limit: u32,
119    #[prost(uint32, tag = "2")]
120    pub used: u32,
121}
122#[derive(serde::Serialize, serde::Deserialize)]
123#[serde(rename_all = "snake_case")]
124#[derive(Clone, Copy, PartialEq, ::prost::Message)]
125pub struct GetEnrichmentsRequest {}
126#[derive(serde::Serialize, serde::Deserialize)]
127#[serde(rename_all = "snake_case")]
128#[derive(Clone, PartialEq, ::prost::Message)]
129pub struct GetEnrichmentsResponse {
130    #[prost(message, repeated, tag = "1")]
131    pub enrichments: ::prost::alloc::vec::Vec<Enrichment>,
132}
133#[derive(serde::Serialize, serde::Deserialize)]
134#[serde(rename_all = "snake_case")]
135#[derive(Clone, PartialEq, ::prost::Message)]
136pub struct AddEnrichmentsRequest {
137    #[prost(message, repeated, tag = "1")]
138    pub request_enrichments: ::prost::alloc::vec::Vec<EnrichmentRequestModel>,
139}
140#[derive(serde::Serialize, serde::Deserialize)]
141#[serde(rename_all = "snake_case")]
142#[derive(Clone, PartialEq, ::prost::Message)]
143pub struct AddEnrichmentsResponse {
144    #[prost(message, repeated, tag = "1")]
145    pub enrichments: ::prost::alloc::vec::Vec<Enrichment>,
146}
147#[derive(serde::Serialize, serde::Deserialize)]
148#[serde(rename_all = "snake_case")]
149#[derive(Clone, PartialEq, ::prost::Message)]
150pub struct RemoveEnrichmentsRequest {
151    #[prost(message, repeated, tag = "1")]
152    pub enrichment_ids: ::prost::alloc::vec::Vec<u32>,
153}
154#[derive(serde::Serialize, serde::Deserialize)]
155#[serde(rename_all = "snake_case")]
156#[derive(Clone, PartialEq, ::prost::Message)]
157pub struct RemoveEnrichmentsResponse {
158    #[prost(message, repeated, tag = "1")]
159    pub remaining_enrichments: ::prost::alloc::vec::Vec<Enrichment>,
160}
161/// Deletes all enrichments of the given type and replaces them with the new ones
162#[derive(serde::Serialize, serde::Deserialize)]
163#[serde(rename_all = "snake_case")]
164#[derive(Clone, PartialEq, ::prost::Message)]
165pub struct AtomicOverwriteEnrichmentsRequest {
166    #[deprecated]
167    #[prost(message, optional, tag = "1")]
168    pub enrichment_type: ::core::option::Option<EnrichmentType>,
169    #[deprecated]
170    #[prost(message, repeated, tag = "2")]
171    pub enrichment_fields: ::prost::alloc::vec::Vec<EnrichmentFieldDefinition>,
172    #[prost(message, repeated, tag = "3")]
173    pub request_enrichments: ::prost::alloc::vec::Vec<EnrichmentRequestModel>,
174}
175#[derive(serde::Serialize, serde::Deserialize)]
176#[serde(rename_all = "snake_case")]
177#[derive(Clone, PartialEq, ::prost::Message)]
178pub struct AtomicOverwriteEnrichmentsResponse {
179    #[prost(message, repeated, tag = "1")]
180    pub enrichments: ::prost::alloc::vec::Vec<Enrichment>,
181}
182#[derive(serde::Serialize, serde::Deserialize)]
183#[serde(rename_all = "snake_case")]
184#[derive(Clone, Copy, PartialEq, ::prost::Message)]
185pub struct GetCompanyEnrichmentSettingsRequest {}
186#[derive(serde::Serialize, serde::Deserialize)]
187#[serde(rename_all = "snake_case")]
188#[derive(Clone, Copy, PartialEq, ::prost::Message)]
189pub struct GetCompanyEnrichmentSettingsResponse {
190    #[prost(message, optional, tag = "1")]
191    pub enrichment_settings: ::core::option::Option<CompanyEnrichmentSettings>,
192}
193/// Generated client implementations.
194pub mod enrichment_service_client {
195    #![allow(
196        unused_variables,
197        dead_code,
198        missing_docs,
199        clippy::wildcard_imports,
200        clippy::let_unit_value,
201    )]
202    use tonic::codegen::*;
203    use tonic::codegen::http::Uri;
204    #[derive(Debug, Clone)]
205    pub struct EnrichmentServiceClient<T> {
206        inner: tonic::client::Grpc<T>,
207    }
208    impl EnrichmentServiceClient<tonic::transport::Channel> {
209        /// Attempt to create a new client by connecting to a given endpoint.
210        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
211        where
212            D: TryInto<tonic::transport::Endpoint>,
213            D::Error: Into<StdError>,
214        {
215            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
216            Ok(Self::new(conn))
217        }
218    }
219    impl<T> EnrichmentServiceClient<T>
220    where
221        T: tonic::client::GrpcService<tonic::body::BoxBody>,
222        T::Error: Into<StdError>,
223        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
224        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
225    {
226        pub fn new(inner: T) -> Self {
227            let inner = tonic::client::Grpc::new(inner);
228            Self { inner }
229        }
230        pub fn with_origin(inner: T, origin: Uri) -> Self {
231            let inner = tonic::client::Grpc::with_origin(inner, origin);
232            Self { inner }
233        }
234        pub fn with_interceptor<F>(
235            inner: T,
236            interceptor: F,
237        ) -> EnrichmentServiceClient<InterceptedService<T, F>>
238        where
239            F: tonic::service::Interceptor,
240            T::ResponseBody: Default,
241            T: tonic::codegen::Service<
242                http::Request<tonic::body::BoxBody>,
243                Response = http::Response<
244                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
245                >,
246            >,
247            <T as tonic::codegen::Service<
248                http::Request<tonic::body::BoxBody>,
249            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
250        {
251            EnrichmentServiceClient::new(InterceptedService::new(inner, interceptor))
252        }
253        /// Compress requests with the given encoding.
254        ///
255        /// This requires the server to support it otherwise it might respond with an
256        /// error.
257        #[must_use]
258        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
259            self.inner = self.inner.send_compressed(encoding);
260            self
261        }
262        /// Enable decompressing responses.
263        #[must_use]
264        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
265            self.inner = self.inner.accept_compressed(encoding);
266            self
267        }
268        /// Limits the maximum size of a decoded message.
269        ///
270        /// Default: `4MB`
271        #[must_use]
272        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
273            self.inner = self.inner.max_decoding_message_size(limit);
274            self
275        }
276        /// Limits the maximum size of an encoded message.
277        ///
278        /// Default: `usize::MAX`
279        #[must_use]
280        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
281            self.inner = self.inner.max_encoding_message_size(limit);
282            self
283        }
284        pub async fn get_enrichments(
285            &mut self,
286            request: impl tonic::IntoRequest<super::GetEnrichmentsRequest>,
287        ) -> std::result::Result<
288            tonic::Response<super::GetEnrichmentsResponse>,
289            tonic::Status,
290        > {
291            self.inner
292                .ready()
293                .await
294                .map_err(|e| {
295                    tonic::Status::unknown(
296                        format!("Service was not ready: {}", e.into()),
297                    )
298                })?;
299            let codec = tonic::codec::ProstCodec::default();
300            let path = http::uri::PathAndQuery::from_static(
301                "/com.coralogix.enrichment.v1.EnrichmentService/GetEnrichments",
302            );
303            let mut req = request.into_request();
304            req.extensions_mut()
305                .insert(
306                    GrpcMethod::new(
307                        "com.coralogix.enrichment.v1.EnrichmentService",
308                        "GetEnrichments",
309                    ),
310                );
311            self.inner.unary(req, path, codec).await
312        }
313        pub async fn add_enrichments(
314            &mut self,
315            request: impl tonic::IntoRequest<super::AddEnrichmentsRequest>,
316        ) -> std::result::Result<
317            tonic::Response<super::AddEnrichmentsResponse>,
318            tonic::Status,
319        > {
320            self.inner
321                .ready()
322                .await
323                .map_err(|e| {
324                    tonic::Status::unknown(
325                        format!("Service was not ready: {}", e.into()),
326                    )
327                })?;
328            let codec = tonic::codec::ProstCodec::default();
329            let path = http::uri::PathAndQuery::from_static(
330                "/com.coralogix.enrichment.v1.EnrichmentService/AddEnrichments",
331            );
332            let mut req = request.into_request();
333            req.extensions_mut()
334                .insert(
335                    GrpcMethod::new(
336                        "com.coralogix.enrichment.v1.EnrichmentService",
337                        "AddEnrichments",
338                    ),
339                );
340            self.inner.unary(req, path, codec).await
341        }
342        pub async fn remove_enrichments(
343            &mut self,
344            request: impl tonic::IntoRequest<super::RemoveEnrichmentsRequest>,
345        ) -> std::result::Result<
346            tonic::Response<super::RemoveEnrichmentsResponse>,
347            tonic::Status,
348        > {
349            self.inner
350                .ready()
351                .await
352                .map_err(|e| {
353                    tonic::Status::unknown(
354                        format!("Service was not ready: {}", e.into()),
355                    )
356                })?;
357            let codec = tonic::codec::ProstCodec::default();
358            let path = http::uri::PathAndQuery::from_static(
359                "/com.coralogix.enrichment.v1.EnrichmentService/RemoveEnrichments",
360            );
361            let mut req = request.into_request();
362            req.extensions_mut()
363                .insert(
364                    GrpcMethod::new(
365                        "com.coralogix.enrichment.v1.EnrichmentService",
366                        "RemoveEnrichments",
367                    ),
368                );
369            self.inner.unary(req, path, codec).await
370        }
371        pub async fn get_enrichment_limit(
372            &mut self,
373            request: impl tonic::IntoRequest<super::GetEnrichmentLimitRequest>,
374        ) -> std::result::Result<
375            tonic::Response<super::GetEnrichmentLimitResponse>,
376            tonic::Status,
377        > {
378            self.inner
379                .ready()
380                .await
381                .map_err(|e| {
382                    tonic::Status::unknown(
383                        format!("Service was not ready: {}", e.into()),
384                    )
385                })?;
386            let codec = tonic::codec::ProstCodec::default();
387            let path = http::uri::PathAndQuery::from_static(
388                "/com.coralogix.enrichment.v1.EnrichmentService/GetEnrichmentLimit",
389            );
390            let mut req = request.into_request();
391            req.extensions_mut()
392                .insert(
393                    GrpcMethod::new(
394                        "com.coralogix.enrichment.v1.EnrichmentService",
395                        "GetEnrichmentLimit",
396                    ),
397                );
398            self.inner.unary(req, path, codec).await
399        }
400        pub async fn atomic_overwrite_enrichments(
401            &mut self,
402            request: impl tonic::IntoRequest<super::AtomicOverwriteEnrichmentsRequest>,
403        ) -> std::result::Result<
404            tonic::Response<super::AtomicOverwriteEnrichmentsResponse>,
405            tonic::Status,
406        > {
407            self.inner
408                .ready()
409                .await
410                .map_err(|e| {
411                    tonic::Status::unknown(
412                        format!("Service was not ready: {}", e.into()),
413                    )
414                })?;
415            let codec = tonic::codec::ProstCodec::default();
416            let path = http::uri::PathAndQuery::from_static(
417                "/com.coralogix.enrichment.v1.EnrichmentService/AtomicOverwriteEnrichments",
418            );
419            let mut req = request.into_request();
420            req.extensions_mut()
421                .insert(
422                    GrpcMethod::new(
423                        "com.coralogix.enrichment.v1.EnrichmentService",
424                        "AtomicOverwriteEnrichments",
425                    ),
426                );
427            self.inner.unary(req, path, codec).await
428        }
429        pub async fn get_company_enrichment_settings(
430            &mut self,
431            request: impl tonic::IntoRequest<super::GetCompanyEnrichmentSettingsRequest>,
432        ) -> std::result::Result<
433            tonic::Response<super::GetCompanyEnrichmentSettingsResponse>,
434            tonic::Status,
435        > {
436            self.inner
437                .ready()
438                .await
439                .map_err(|e| {
440                    tonic::Status::unknown(
441                        format!("Service was not ready: {}", e.into()),
442                    )
443                })?;
444            let codec = tonic::codec::ProstCodec::default();
445            let path = http::uri::PathAndQuery::from_static(
446                "/com.coralogix.enrichment.v1.EnrichmentService/GetCompanyEnrichmentSettings",
447            );
448            let mut req = request.into_request();
449            req.extensions_mut()
450                .insert(
451                    GrpcMethod::new(
452                        "com.coralogix.enrichment.v1.EnrichmentService",
453                        "GetCompanyEnrichmentSettings",
454                    ),
455                );
456            self.inner.unary(req, path, codec).await
457        }
458    }
459}
460#[derive(serde::Serialize, serde::Deserialize)]
461#[serde(rename_all = "snake_case")]
462#[derive(Clone, PartialEq, ::prost::Message)]
463pub struct CustomEnrichment {
464    #[prost(uint32, tag = "1")]
465    pub id: u32,
466    #[prost(string, tag = "3")]
467    pub name: ::prost::alloc::string::String,
468    #[prost(string, tag = "4")]
469    pub description: ::prost::alloc::string::String,
470    #[prost(uint32, tag = "5")]
471    pub version: u32,
472    #[prost(bool, tag = "6")]
473    pub is_query_only: bool,
474    #[prost(string, tag = "7")]
475    pub file_name: ::prost::alloc::string::String,
476    #[prost(uint32, tag = "8")]
477    pub file_size: u32,
478}
479#[derive(serde::Serialize, serde::Deserialize)]
480#[serde(rename_all = "snake_case")]
481#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct CustomEnrichmentData {
483    #[prost(message, optional, tag = "1")]
484    pub definition: ::core::option::Option<CustomEnrichment>,
485    #[prost(oneof = "custom_enrichment_data::Content", tags = "3, 4")]
486    pub content: ::core::option::Option<custom_enrichment_data::Content>,
487}
488/// Nested message and enum types in `CustomEnrichmentData`.
489pub mod custom_enrichment_data {
490    #[derive(serde::Serialize, serde::Deserialize)]
491    #[serde(rename_all = "snake_case")]
492    #[derive(Clone, PartialEq, ::prost::Oneof)]
493    pub enum Content {
494        #[prost(message, tag = "3")]
495        Textual(::prost::alloc::string::String),
496        #[prost(message, tag = "4")]
497        Binary(::prost::alloc::vec::Vec<u8>),
498    }
499}
500#[derive(serde::Serialize, serde::Deserialize)]
501#[serde(rename_all = "snake_case")]
502#[derive(Clone, PartialEq, ::prost::Message)]
503pub struct File {
504    #[prost(message, optional, tag = "1")]
505    pub name: ::core::option::Option<::prost::alloc::string::String>,
506    #[prost(message, optional, tag = "2")]
507    pub extension: ::core::option::Option<::prost::alloc::string::String>,
508    #[prost(message, optional, tag = "5")]
509    pub size: ::core::option::Option<u32>,
510    #[prost(oneof = "file::Content", tags = "3, 4")]
511    pub content: ::core::option::Option<file::Content>,
512}
513/// Nested message and enum types in `File`.
514pub mod file {
515    #[derive(serde::Serialize, serde::Deserialize)]
516    #[serde(rename_all = "snake_case")]
517    #[derive(Clone, PartialEq, ::prost::Oneof)]
518    pub enum Content {
519        #[prost(message, tag = "3")]
520        Textual(::prost::alloc::string::String),
521        #[prost(message, tag = "4")]
522        Binary(::prost::alloc::vec::Vec<u8>),
523    }
524}
525#[derive(serde::Serialize, serde::Deserialize)]
526#[serde(rename_all = "snake_case")]
527#[derive(Clone, Copy, PartialEq, ::prost::Message)]
528pub struct GetCustomEnrichmentRequest {
529    #[prost(message, optional, tag = "1")]
530    pub id: ::core::option::Option<u32>,
531}
532#[derive(serde::Serialize, serde::Deserialize)]
533#[serde(rename_all = "snake_case")]
534#[derive(Clone, PartialEq, ::prost::Message)]
535pub struct GetCustomEnrichmentResponse {
536    #[prost(message, optional, tag = "1")]
537    pub custom_enrichment: ::core::option::Option<CustomEnrichment>,
538}
539#[derive(serde::Serialize, serde::Deserialize)]
540#[serde(rename_all = "snake_case")]
541#[derive(Clone, Copy, PartialEq, ::prost::Message)]
542pub struct GetCustomEnrichmentsRequest {}
543#[derive(serde::Serialize, serde::Deserialize)]
544#[serde(rename_all = "snake_case")]
545#[derive(Clone, PartialEq, ::prost::Message)]
546pub struct GetCustomEnrichmentsResponse {
547    #[prost(message, repeated, tag = "1")]
548    pub custom_enrichments: ::prost::alloc::vec::Vec<CustomEnrichment>,
549}
550#[derive(serde::Serialize, serde::Deserialize)]
551#[serde(rename_all = "snake_case")]
552#[derive(Clone, PartialEq, ::prost::Message)]
553pub struct CreateCustomEnrichmentRequest {
554    #[prost(message, optional, tag = "1")]
555    pub name: ::core::option::Option<::prost::alloc::string::String>,
556    #[prost(message, optional, tag = "2")]
557    pub description: ::core::option::Option<::prost::alloc::string::String>,
558    #[prost(message, optional, tag = "4")]
559    pub file: ::core::option::Option<File>,
560}
561#[derive(serde::Serialize, serde::Deserialize)]
562#[serde(rename_all = "snake_case")]
563#[derive(Clone, PartialEq, ::prost::Message)]
564pub struct CreateCustomEnrichmentResponse {
565    #[prost(string, tag = "1")]
566    pub message: ::prost::alloc::string::String,
567    #[prost(message, optional, tag = "2")]
568    pub custom_enrichment: ::core::option::Option<CustomEnrichment>,
569}
570#[derive(serde::Serialize, serde::Deserialize)]
571#[serde(rename_all = "snake_case")]
572#[derive(Clone, PartialEq, ::prost::Message)]
573pub struct UpdateCustomEnrichmentRequest {
574    #[prost(message, optional, tag = "1")]
575    pub custom_enrichment_id: ::core::option::Option<u32>,
576    #[prost(message, optional, tag = "2")]
577    pub name: ::core::option::Option<::prost::alloc::string::String>,
578    #[prost(message, optional, tag = "3")]
579    pub description: ::core::option::Option<::prost::alloc::string::String>,
580    #[prost(message, optional, tag = "4")]
581    pub file: ::core::option::Option<File>,
582}
583#[derive(serde::Serialize, serde::Deserialize)]
584#[serde(rename_all = "snake_case")]
585#[derive(Clone, PartialEq, ::prost::Message)]
586pub struct UpdateCustomEnrichmentResponse {
587    #[prost(string, tag = "1")]
588    pub message: ::prost::alloc::string::String,
589    #[prost(message, optional, tag = "2")]
590    pub custom_enrichment: ::core::option::Option<CustomEnrichment>,
591}
592#[derive(serde::Serialize, serde::Deserialize)]
593#[serde(rename_all = "snake_case")]
594#[derive(Clone, Copy, PartialEq, ::prost::Message)]
595pub struct DeleteCustomEnrichmentRequest {
596    #[prost(message, optional, tag = "2")]
597    pub custom_enrichment_id: ::core::option::Option<u32>,
598}
599#[derive(serde::Serialize, serde::Deserialize)]
600#[serde(rename_all = "snake_case")]
601#[derive(Clone, PartialEq, ::prost::Message)]
602pub struct DeleteCustomEnrichmentResponse {
603    #[prost(string, tag = "1")]
604    pub message: ::prost::alloc::string::String,
605    #[prost(uint32, tag = "2")]
606    pub custom_enrichment_id: u32,
607}
608#[derive(serde::Serialize, serde::Deserialize)]
609#[serde(rename_all = "snake_case")]
610#[derive(Clone, PartialEq, ::prost::Message)]
611pub struct SearchCustomEnrichmentDataRequest {
612    #[prost(message, repeated, tag = "1")]
613    pub search_clauses: ::prost::alloc::vec::Vec<
614        search_custom_enrichment_data_request::SearchClause,
615    >,
616}
617/// Nested message and enum types in `SearchCustomEnrichmentDataRequest`.
618pub mod search_custom_enrichment_data_request {
619    #[derive(serde::Serialize, serde::Deserialize)]
620    #[serde(rename_all = "snake_case")]
621    #[derive(Clone, PartialEq, ::prost::Message)]
622    pub struct SearchClause {
623        #[prost(oneof = "search_clause::SearchBy", tags = "1, 2")]
624        pub search_by: ::core::option::Option<search_clause::SearchBy>,
625    }
626    /// Nested message and enum types in `SearchClause`.
627    pub mod search_clause {
628        #[derive(serde::Serialize, serde::Deserialize)]
629        #[serde(rename_all = "snake_case")]
630        #[derive(Clone, PartialEq, ::prost::Oneof)]
631        pub enum SearchBy {
632            #[prost(message, tag = "1")]
633            Id(u32),
634            #[prost(message, tag = "2")]
635            Name(::prost::alloc::string::String),
636        }
637    }
638}
639#[derive(serde::Serialize, serde::Deserialize)]
640#[serde(rename_all = "snake_case")]
641#[derive(Clone, PartialEq, ::prost::Message)]
642pub struct SearchCustomEnrichmentDataResponse {
643    #[prost(message, repeated, tag = "1")]
644    pub custom_enrichments_data: ::prost::alloc::vec::Vec<CustomEnrichmentData>,
645}
646/// Generated client implementations.
647pub mod custom_enrichment_service_client {
648    #![allow(
649        unused_variables,
650        dead_code,
651        missing_docs,
652        clippy::wildcard_imports,
653        clippy::let_unit_value,
654    )]
655    use tonic::codegen::*;
656    use tonic::codegen::http::Uri;
657    #[derive(Debug, Clone)]
658    pub struct CustomEnrichmentServiceClient<T> {
659        inner: tonic::client::Grpc<T>,
660    }
661    impl CustomEnrichmentServiceClient<tonic::transport::Channel> {
662        /// Attempt to create a new client by connecting to a given endpoint.
663        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
664        where
665            D: TryInto<tonic::transport::Endpoint>,
666            D::Error: Into<StdError>,
667        {
668            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
669            Ok(Self::new(conn))
670        }
671    }
672    impl<T> CustomEnrichmentServiceClient<T>
673    where
674        T: tonic::client::GrpcService<tonic::body::BoxBody>,
675        T::Error: Into<StdError>,
676        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
677        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
678    {
679        pub fn new(inner: T) -> Self {
680            let inner = tonic::client::Grpc::new(inner);
681            Self { inner }
682        }
683        pub fn with_origin(inner: T, origin: Uri) -> Self {
684            let inner = tonic::client::Grpc::with_origin(inner, origin);
685            Self { inner }
686        }
687        pub fn with_interceptor<F>(
688            inner: T,
689            interceptor: F,
690        ) -> CustomEnrichmentServiceClient<InterceptedService<T, F>>
691        where
692            F: tonic::service::Interceptor,
693            T::ResponseBody: Default,
694            T: tonic::codegen::Service<
695                http::Request<tonic::body::BoxBody>,
696                Response = http::Response<
697                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
698                >,
699            >,
700            <T as tonic::codegen::Service<
701                http::Request<tonic::body::BoxBody>,
702            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
703        {
704            CustomEnrichmentServiceClient::new(
705                InterceptedService::new(inner, interceptor),
706            )
707        }
708        /// Compress requests with the given encoding.
709        ///
710        /// This requires the server to support it otherwise it might respond with an
711        /// error.
712        #[must_use]
713        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
714            self.inner = self.inner.send_compressed(encoding);
715            self
716        }
717        /// Enable decompressing responses.
718        #[must_use]
719        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
720            self.inner = self.inner.accept_compressed(encoding);
721            self
722        }
723        /// Limits the maximum size of a decoded message.
724        ///
725        /// Default: `4MB`
726        #[must_use]
727        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
728            self.inner = self.inner.max_decoding_message_size(limit);
729            self
730        }
731        /// Limits the maximum size of an encoded message.
732        ///
733        /// Default: `usize::MAX`
734        #[must_use]
735        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
736            self.inner = self.inner.max_encoding_message_size(limit);
737            self
738        }
739        pub async fn get_custom_enrichment(
740            &mut self,
741            request: impl tonic::IntoRequest<super::GetCustomEnrichmentRequest>,
742        ) -> std::result::Result<
743            tonic::Response<super::GetCustomEnrichmentResponse>,
744            tonic::Status,
745        > {
746            self.inner
747                .ready()
748                .await
749                .map_err(|e| {
750                    tonic::Status::unknown(
751                        format!("Service was not ready: {}", e.into()),
752                    )
753                })?;
754            let codec = tonic::codec::ProstCodec::default();
755            let path = http::uri::PathAndQuery::from_static(
756                "/com.coralogix.enrichment.v1.CustomEnrichmentService/GetCustomEnrichment",
757            );
758            let mut req = request.into_request();
759            req.extensions_mut()
760                .insert(
761                    GrpcMethod::new(
762                        "com.coralogix.enrichment.v1.CustomEnrichmentService",
763                        "GetCustomEnrichment",
764                    ),
765                );
766            self.inner.unary(req, path, codec).await
767        }
768        pub async fn get_custom_enrichments(
769            &mut self,
770            request: impl tonic::IntoRequest<super::GetCustomEnrichmentsRequest>,
771        ) -> std::result::Result<
772            tonic::Response<super::GetCustomEnrichmentsResponse>,
773            tonic::Status,
774        > {
775            self.inner
776                .ready()
777                .await
778                .map_err(|e| {
779                    tonic::Status::unknown(
780                        format!("Service was not ready: {}", e.into()),
781                    )
782                })?;
783            let codec = tonic::codec::ProstCodec::default();
784            let path = http::uri::PathAndQuery::from_static(
785                "/com.coralogix.enrichment.v1.CustomEnrichmentService/GetCustomEnrichments",
786            );
787            let mut req = request.into_request();
788            req.extensions_mut()
789                .insert(
790                    GrpcMethod::new(
791                        "com.coralogix.enrichment.v1.CustomEnrichmentService",
792                        "GetCustomEnrichments",
793                    ),
794                );
795            self.inner.unary(req, path, codec).await
796        }
797        pub async fn create_custom_enrichment(
798            &mut self,
799            request: impl tonic::IntoRequest<super::CreateCustomEnrichmentRequest>,
800        ) -> std::result::Result<
801            tonic::Response<super::CreateCustomEnrichmentResponse>,
802            tonic::Status,
803        > {
804            self.inner
805                .ready()
806                .await
807                .map_err(|e| {
808                    tonic::Status::unknown(
809                        format!("Service was not ready: {}", e.into()),
810                    )
811                })?;
812            let codec = tonic::codec::ProstCodec::default();
813            let path = http::uri::PathAndQuery::from_static(
814                "/com.coralogix.enrichment.v1.CustomEnrichmentService/CreateCustomEnrichment",
815            );
816            let mut req = request.into_request();
817            req.extensions_mut()
818                .insert(
819                    GrpcMethod::new(
820                        "com.coralogix.enrichment.v1.CustomEnrichmentService",
821                        "CreateCustomEnrichment",
822                    ),
823                );
824            self.inner.unary(req, path, codec).await
825        }
826        pub async fn update_custom_enrichment(
827            &mut self,
828            request: impl tonic::IntoRequest<super::UpdateCustomEnrichmentRequest>,
829        ) -> std::result::Result<
830            tonic::Response<super::UpdateCustomEnrichmentResponse>,
831            tonic::Status,
832        > {
833            self.inner
834                .ready()
835                .await
836                .map_err(|e| {
837                    tonic::Status::unknown(
838                        format!("Service was not ready: {}", e.into()),
839                    )
840                })?;
841            let codec = tonic::codec::ProstCodec::default();
842            let path = http::uri::PathAndQuery::from_static(
843                "/com.coralogix.enrichment.v1.CustomEnrichmentService/UpdateCustomEnrichment",
844            );
845            let mut req = request.into_request();
846            req.extensions_mut()
847                .insert(
848                    GrpcMethod::new(
849                        "com.coralogix.enrichment.v1.CustomEnrichmentService",
850                        "UpdateCustomEnrichment",
851                    ),
852                );
853            self.inner.unary(req, path, codec).await
854        }
855        pub async fn delete_custom_enrichment(
856            &mut self,
857            request: impl tonic::IntoRequest<super::DeleteCustomEnrichmentRequest>,
858        ) -> std::result::Result<
859            tonic::Response<super::DeleteCustomEnrichmentResponse>,
860            tonic::Status,
861        > {
862            self.inner
863                .ready()
864                .await
865                .map_err(|e| {
866                    tonic::Status::unknown(
867                        format!("Service was not ready: {}", e.into()),
868                    )
869                })?;
870            let codec = tonic::codec::ProstCodec::default();
871            let path = http::uri::PathAndQuery::from_static(
872                "/com.coralogix.enrichment.v1.CustomEnrichmentService/DeleteCustomEnrichment",
873            );
874            let mut req = request.into_request();
875            req.extensions_mut()
876                .insert(
877                    GrpcMethod::new(
878                        "com.coralogix.enrichment.v1.CustomEnrichmentService",
879                        "DeleteCustomEnrichment",
880                    ),
881                );
882            self.inner.unary(req, path, codec).await
883        }
884        pub async fn search_custom_enrichment_data(
885            &mut self,
886            request: impl tonic::IntoRequest<super::SearchCustomEnrichmentDataRequest>,
887        ) -> std::result::Result<
888            tonic::Response<super::SearchCustomEnrichmentDataResponse>,
889            tonic::Status,
890        > {
891            self.inner
892                .ready()
893                .await
894                .map_err(|e| {
895                    tonic::Status::unknown(
896                        format!("Service was not ready: {}", e.into()),
897                    )
898                })?;
899            let codec = tonic::codec::ProstCodec::default();
900            let path = http::uri::PathAndQuery::from_static(
901                "/com.coralogix.enrichment.v1.CustomEnrichmentService/SearchCustomEnrichmentData",
902            );
903            let mut req = request.into_request();
904            req.extensions_mut()
905                .insert(
906                    GrpcMethod::new(
907                        "com.coralogix.enrichment.v1.CustomEnrichmentService",
908                        "SearchCustomEnrichmentData",
909                    ),
910                );
911            self.inner.unary(req, path, codec).await
912        }
913    }
914}