Skip to main content

chalk_client/gen/
chalk.aggregate.v1.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct AggregateTimeSeriesRule {
4    #[prost(string, tag = "1")]
5    pub aggregation: ::prost::alloc::string::String,
6    #[prost(message, optional, tag = "2")]
7    pub bucket_duration: ::core::option::Option<::prost_types::Duration>,
8    /// The features which depend on this rule.
9    #[prost(string, repeated, tag = "3")]
10    pub dependent_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11    #[prost(message, optional, tag = "4")]
12    pub retention: ::core::option::Option<::prost_types::Duration>,
13    #[prost(string, tag = "5")]
14    pub datetime_feature: ::prost::alloc::string::String,
15}
16#[derive(Clone, PartialEq, ::prost::Message)]
17pub struct AggregateTimeSeries {
18    #[prost(string, tag = "1")]
19    pub namespace: ::prost::alloc::string::String,
20    #[prost(string, tag = "2")]
21    pub aggregate_on: ::prost::alloc::string::String,
22    #[prost(string, repeated, tag = "3")]
23    pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
24    #[prost(message, repeated, tag = "5")]
25    pub rules: ::prost::alloc::vec::Vec<AggregateTimeSeriesRule>,
26    #[prost(string, tag = "6")]
27    pub filters_description: ::prost::alloc::string::String,
28    #[prost(string, tag = "7")]
29    pub bucket_feature: ::prost::alloc::string::String,
30}
31#[derive(Clone, Copy, PartialEq, ::prost::Message)]
32pub struct AggregateBackfillCostEstimate {
33    #[prost(int64, tag = "1")]
34    pub max_buckets: i64,
35    #[prost(int64, tag = "2")]
36    pub expected_buckets: i64,
37    #[prost(int64, tag = "3")]
38    pub expected_bytes: i64,
39    #[prost(double, tag = "4")]
40    pub expected_storage_cost: f64,
41    #[prost(message, optional, tag = "5")]
42    pub expected_runtime: ::core::option::Option<::prost_types::Duration>,
43}
44#[derive(Clone, PartialEq, ::prost::Message)]
45pub struct AggregateBackfillUserParams {
46    #[prost(string, repeated, tag = "1")]
47    pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
48    #[prost(string, optional, tag = "2")]
49    pub resolver: ::core::option::Option<::prost::alloc::string::String>,
50    #[deprecated]
51    #[prost(string, optional, tag = "3")]
52    pub timestamp_column_name: ::core::option::Option<::prost::alloc::string::String>,
53    #[prost(message, optional, tag = "4")]
54    pub lower_bound: ::core::option::Option<::prost_types::Timestamp>,
55    #[prost(message, optional, tag = "5")]
56    pub upper_bound: ::core::option::Option<::prost_types::Timestamp>,
57    #[prost(bool, tag = "6")]
58    pub exact: bool,
59}
60#[derive(Clone, PartialEq, ::prost::Message)]
61pub struct AggregateBackfill {
62    #[prost(message, repeated, tag = "1")]
63    pub series: ::prost::alloc::vec::Vec<AggregateTimeSeries>,
64    #[prost(string, tag = "2")]
65    pub resolver: ::prost::alloc::string::String,
66    #[prost(string, tag = "3")]
67    pub datetime_feature: ::prost::alloc::string::String,
68    #[prost(message, optional, tag = "4")]
69    pub bucket_duration: ::core::option::Option<::prost_types::Duration>,
70    #[prost(string, tag = "5")]
71    pub filters_description: ::prost::alloc::string::String,
72    #[prost(string, repeated, tag = "6")]
73    pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
74    #[prost(message, optional, tag = "7")]
75    pub max_retention: ::core::option::Option<::prost_types::Duration>,
76    #[prost(message, optional, tag = "8")]
77    pub lower_bound: ::core::option::Option<::prost_types::Timestamp>,
78    #[prost(message, optional, tag = "9")]
79    pub upper_bound: ::core::option::Option<::prost_types::Timestamp>,
80}
81#[derive(Clone, PartialEq, ::prost::Message)]
82pub struct AggregateBackfillWithCostEstimate {
83    #[prost(message, optional, tag = "1")]
84    pub backfill: ::core::option::Option<AggregateBackfill>,
85    #[prost(message, optional, tag = "2")]
86    pub estimate: ::core::option::Option<AggregateBackfillCostEstimate>,
87}
88#[derive(Clone, PartialEq, ::prost::Message)]
89pub struct AggregateBackfillJob {
90    #[prost(string, tag = "1")]
91    pub id: ::prost::alloc::string::String,
92    #[prost(string, tag = "2")]
93    pub environment_id: ::prost::alloc::string::String,
94    #[prost(string, optional, tag = "3")]
95    pub resolver: ::core::option::Option<::prost::alloc::string::String>,
96    #[prost(string, repeated, tag = "4")]
97    pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
98    #[prost(string, optional, tag = "5")]
99    pub agent_id: ::core::option::Option<::prost::alloc::string::String>,
100    #[prost(string, optional, tag = "6")]
101    pub deployment_id: ::core::option::Option<::prost::alloc::string::String>,
102    #[prost(message, optional, tag = "7")]
103    pub created_at: ::core::option::Option<::prost_types::Timestamp>,
104    #[prost(message, optional, tag = "8")]
105    pub updated_at: ::core::option::Option<::prost_types::Timestamp>,
106    #[prost(string, repeated, tag = "9")]
107    pub resolvers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
108    #[prost(string, optional, tag = "10")]
109    pub cron_aggregate_backfill_id: ::core::option::Option<
110        ::prost::alloc::string::String,
111    >,
112    #[prost(string, optional, tag = "11")]
113    pub plan_hash: ::core::option::Option<::prost::alloc::string::String>,
114    #[prost(enumeration = "AggregateBackfillStatus", tag = "12")]
115    pub status: i32,
116}
117#[derive(Clone, PartialEq, ::prost::Message)]
118pub struct CronAggregateBackfill {
119    #[prost(string, tag = "1")]
120    pub id: ::prost::alloc::string::String,
121    #[prost(string, tag = "2")]
122    pub environment_id: ::prost::alloc::string::String,
123    #[prost(string, tag = "3")]
124    pub deployment_id: ::prost::alloc::string::String,
125    #[prost(string, tag = "4")]
126    pub schedule: ::prost::alloc::string::String,
127    #[prost(string, tag = "5")]
128    pub plan_hash: ::prost::alloc::string::String,
129    #[prost(string, repeated, tag = "8")]
130    pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
131    #[prost(string, repeated, tag = "9")]
132    pub resolvers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
133    #[prost(message, optional, tag = "6")]
134    pub created_at: ::core::option::Option<::prost_types::Timestamp>,
135    #[prost(message, optional, tag = "7")]
136    pub updated_at: ::core::option::Option<::prost_types::Timestamp>,
137}
138#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
139#[repr(i32)]
140pub enum AggregateBackfillStatus {
141    Unspecified = 0,
142    Initializing = 1,
143    InitFailed = 2,
144    Skipped = 3,
145    /// init completed
146    Queued = 4,
147    Working = 5,
148    Completed = 6,
149    Failed = 7,
150    Canceled = 8,
151}
152impl AggregateBackfillStatus {
153    /// String value of the enum field names used in the ProtoBuf definition.
154    ///
155    /// The values are not transformed in any way and thus are considered stable
156    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
157    pub fn as_str_name(&self) -> &'static str {
158        match self {
159            Self::Unspecified => "AGGREGATE_BACKFILL_STATUS_UNSPECIFIED",
160            Self::Initializing => "AGGREGATE_BACKFILL_STATUS_INITIALIZING",
161            Self::InitFailed => "AGGREGATE_BACKFILL_STATUS_INIT_FAILED",
162            Self::Skipped => "AGGREGATE_BACKFILL_STATUS_SKIPPED",
163            Self::Queued => "AGGREGATE_BACKFILL_STATUS_QUEUED",
164            Self::Working => "AGGREGATE_BACKFILL_STATUS_WORKING",
165            Self::Completed => "AGGREGATE_BACKFILL_STATUS_COMPLETED",
166            Self::Failed => "AGGREGATE_BACKFILL_STATUS_FAILED",
167            Self::Canceled => "AGGREGATE_BACKFILL_STATUS_CANCELED",
168        }
169    }
170    /// Creates an enum from field names used in the ProtoBuf definition.
171    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
172        match value {
173            "AGGREGATE_BACKFILL_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
174            "AGGREGATE_BACKFILL_STATUS_INITIALIZING" => Some(Self::Initializing),
175            "AGGREGATE_BACKFILL_STATUS_INIT_FAILED" => Some(Self::InitFailed),
176            "AGGREGATE_BACKFILL_STATUS_SKIPPED" => Some(Self::Skipped),
177            "AGGREGATE_BACKFILL_STATUS_QUEUED" => Some(Self::Queued),
178            "AGGREGATE_BACKFILL_STATUS_WORKING" => Some(Self::Working),
179            "AGGREGATE_BACKFILL_STATUS_COMPLETED" => Some(Self::Completed),
180            "AGGREGATE_BACKFILL_STATUS_FAILED" => Some(Self::Failed),
181            "AGGREGATE_BACKFILL_STATUS_CANCELED" => Some(Self::Canceled),
182            _ => None,
183        }
184    }
185}
186#[derive(Clone, PartialEq, ::prost::Message)]
187pub struct PlanAggregateBackfillRequest {
188    #[prost(message, optional, tag = "1")]
189    pub params: ::core::option::Option<AggregateBackfillUserParams>,
190}
191#[derive(Clone, PartialEq, ::prost::Message)]
192pub struct PlanAggregateBackfillResponse {
193    #[prost(message, optional, tag = "2")]
194    pub estimate: ::core::option::Option<AggregateBackfillCostEstimate>,
195    #[prost(string, repeated, tag = "4")]
196    pub errors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
197    #[prost(message, repeated, tag = "6")]
198    pub backfills: ::prost::alloc::vec::Vec<AggregateBackfillWithCostEstimate>,
199    #[prost(string, tag = "7")]
200    pub aggregate_backfill_id: ::prost::alloc::string::String,
201}
202#[derive(Clone, PartialEq, ::prost::Message)]
203pub struct GetAggregatesRequest {
204    #[prost(string, repeated, tag = "1")]
205    pub for_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
206}
207#[derive(Clone, PartialEq, ::prost::Message)]
208pub struct GetAggregatesResponse {
209    #[prost(message, repeated, tag = "1")]
210    pub series: ::prost::alloc::vec::Vec<AggregateTimeSeries>,
211    #[prost(string, repeated, tag = "2")]
212    pub errors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
213}
214#[derive(Clone, PartialEq, ::prost::Message)]
215pub struct GetAggregateBackfillJobsRequest {
216    #[prost(int32, tag = "1")]
217    pub limit: i32,
218    #[prost(string, tag = "2")]
219    pub cursor: ::prost::alloc::string::String,
220    #[prost(string, optional, tag = "3")]
221    pub plan_hash: ::core::option::Option<::prost::alloc::string::String>,
222}
223#[derive(Clone, PartialEq, ::prost::Message)]
224pub struct GetAggregateBackfillJobsResponse {
225    #[prost(message, repeated, tag = "1")]
226    pub jobs: ::prost::alloc::vec::Vec<AggregateBackfillJob>,
227    #[prost(string, tag = "2")]
228    pub cursor: ::prost::alloc::string::String,
229}
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct GetAggregateBackfillJobRequest {
232    #[prost(string, tag = "1")]
233    pub aggregate_backfill_id: ::prost::alloc::string::String,
234}
235#[derive(Clone, PartialEq, ::prost::Message)]
236pub struct GetAggregateBackfillJobResponse {
237    #[prost(message, optional, tag = "1")]
238    pub job: ::core::option::Option<AggregateBackfillJob>,
239}
240#[derive(Clone, PartialEq, ::prost::Message)]
241pub struct GetCronAggregateBackfillRequest {
242    #[deprecated]
243    #[prost(string, tag = "1")]
244    pub cron_aggregate_backfill_id: ::prost::alloc::string::String,
245    #[prost(string, tag = "2")]
246    pub plan_hash: ::prost::alloc::string::String,
247}
248#[derive(Clone, PartialEq, ::prost::Message)]
249pub struct GetCronAggregateBackfillResponse {
250    #[prost(message, optional, tag = "1")]
251    pub cron_aggregate_backfill: ::core::option::Option<CronAggregateBackfill>,
252}
253#[derive(Clone, Copy, PartialEq, ::prost::Message)]
254pub struct GetActiveCronAggregateBackfillsRequest {}
255#[derive(Clone, PartialEq, ::prost::Message)]
256pub struct CronAggregateBackfillWithLatestRun {
257    #[prost(message, optional, tag = "1")]
258    pub cron_aggregate_backfill: ::core::option::Option<CronAggregateBackfill>,
259    #[prost(message, optional, tag = "2")]
260    pub latest_job: ::core::option::Option<AggregateBackfillJob>,
261}
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct GetActiveCronAggregateBackfillsResponse {
264    #[prost(message, repeated, tag = "1")]
265    pub cron_aggregate_backfills: ::prost::alloc::vec::Vec<
266        CronAggregateBackfillWithLatestRun,
267    >,
268}
269#[derive(Clone, PartialEq, ::prost::Message)]
270pub struct CreateAggregateBackfillJobRequest {
271    #[prost(string, repeated, tag = "1")]
272    pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
273    #[prost(message, optional, tag = "2")]
274    pub lower_bound: ::core::option::Option<::prost_types::Timestamp>,
275    #[prost(message, optional, tag = "3")]
276    pub upper_bound: ::core::option::Option<::prost_types::Timestamp>,
277    #[prost(string, optional, tag = "4")]
278    pub resolver: ::core::option::Option<::prost::alloc::string::String>,
279    #[prost(string, optional, tag = "5")]
280    pub bucket_feature: ::core::option::Option<::prost::alloc::string::String>,
281    #[prost(bool, tag = "6")]
282    pub enable_profiling: bool,
283    #[prost(string, optional, tag = "7")]
284    pub aggregate_backfill_id: ::core::option::Option<::prost::alloc::string::String>,
285    #[prost(string, optional, tag = "8")]
286    pub resource_group: ::core::option::Option<::prost::alloc::string::String>,
287}
288#[derive(Clone, PartialEq, ::prost::Message)]
289pub struct CreateAggregateBackfillJobResponse {
290    #[prost(string, tag = "1")]
291    pub job_id: ::prost::alloc::string::String,
292    #[prost(string, repeated, tag = "2")]
293    pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
294    #[prost(message, repeated, tag = "3")]
295    pub errors: ::prost::alloc::vec::Vec<super::super::common::v1::ChalkError>,
296}
297/// Generated client implementations.
298pub mod aggregate_service_client {
299    #![allow(
300        unused_variables,
301        dead_code,
302        missing_docs,
303        clippy::wildcard_imports,
304        clippy::let_unit_value,
305    )]
306    use tonic::codegen::*;
307    use tonic::codegen::http::Uri;
308    #[derive(Debug, Clone)]
309    pub struct AggregateServiceClient<T> {
310        inner: tonic::client::Grpc<T>,
311    }
312    impl AggregateServiceClient<tonic::transport::Channel> {
313        /// Attempt to create a new client by connecting to a given endpoint.
314        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
315        where
316            D: TryInto<tonic::transport::Endpoint>,
317            D::Error: Into<StdError>,
318        {
319            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
320            Ok(Self::new(conn))
321        }
322    }
323    impl<T> AggregateServiceClient<T>
324    where
325        T: tonic::client::GrpcService<tonic::body::BoxBody>,
326        T::Error: Into<StdError>,
327        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
328        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
329    {
330        pub fn new(inner: T) -> Self {
331            let inner = tonic::client::Grpc::new(inner);
332            Self { inner }
333        }
334        pub fn with_origin(inner: T, origin: Uri) -> Self {
335            let inner = tonic::client::Grpc::with_origin(inner, origin);
336            Self { inner }
337        }
338        pub fn with_interceptor<F>(
339            inner: T,
340            interceptor: F,
341        ) -> AggregateServiceClient<InterceptedService<T, F>>
342        where
343            F: tonic::service::Interceptor,
344            T::ResponseBody: Default,
345            T: tonic::codegen::Service<
346                http::Request<tonic::body::BoxBody>,
347                Response = http::Response<
348                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
349                >,
350            >,
351            <T as tonic::codegen::Service<
352                http::Request<tonic::body::BoxBody>,
353            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
354        {
355            AggregateServiceClient::new(InterceptedService::new(inner, interceptor))
356        }
357        /// Compress requests with the given encoding.
358        ///
359        /// This requires the server to support it otherwise it might respond with an
360        /// error.
361        #[must_use]
362        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
363            self.inner = self.inner.send_compressed(encoding);
364            self
365        }
366        /// Enable decompressing responses.
367        #[must_use]
368        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
369            self.inner = self.inner.accept_compressed(encoding);
370            self
371        }
372        /// Limits the maximum size of a decoded message.
373        ///
374        /// Default: `4MB`
375        #[must_use]
376        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
377            self.inner = self.inner.max_decoding_message_size(limit);
378            self
379        }
380        /// Limits the maximum size of an encoded message.
381        ///
382        /// Default: `usize::MAX`
383        #[must_use]
384        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
385            self.inner = self.inner.max_encoding_message_size(limit);
386            self
387        }
388        /// PlanAggregateBackfill determines the estimated resources needed to backfill
389        /// an aggregate.
390        ///
391        /// This method is a duplicate of the PlanAggregateBackfill method
392        /// in the query_server.proto file. We should remove the query_server.proto method
393        /// and move that request to this service instead.
394        /// buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
395        pub async fn plan_aggregate_backfill(
396            &mut self,
397            request: impl tonic::IntoRequest<super::PlanAggregateBackfillRequest>,
398        ) -> std::result::Result<
399            tonic::Response<super::PlanAggregateBackfillResponse>,
400            tonic::Status,
401        > {
402            self.inner
403                .ready()
404                .await
405                .map_err(|e| {
406                    tonic::Status::unknown(
407                        format!("Service was not ready: {}", e.into()),
408                    )
409                })?;
410            let codec = tonic::codec::ProstCodec::default();
411            let path = http::uri::PathAndQuery::from_static(
412                "/chalk.aggregate.v1.AggregateService/PlanAggregateBackfill",
413            );
414            let mut req = request.into_request();
415            req.extensions_mut()
416                .insert(
417                    GrpcMethod::new(
418                        "chalk.aggregate.v1.AggregateService",
419                        "PlanAggregateBackfill",
420                    ),
421                );
422            self.inner.unary(req, path, codec).await
423        }
424        /// This method is a duplicate of the PlanAggregateBackfill method
425        /// in the query_server.proto file. We should remove the query_server.proto method
426        /// and move that request to this service instead.
427        /// buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
428        pub async fn get_aggregates(
429            &mut self,
430            request: impl tonic::IntoRequest<super::GetAggregatesRequest>,
431        ) -> std::result::Result<
432            tonic::Response<super::GetAggregatesResponse>,
433            tonic::Status,
434        > {
435            self.inner
436                .ready()
437                .await
438                .map_err(|e| {
439                    tonic::Status::unknown(
440                        format!("Service was not ready: {}", e.into()),
441                    )
442                })?;
443            let codec = tonic::codec::ProstCodec::default();
444            let path = http::uri::PathAndQuery::from_static(
445                "/chalk.aggregate.v1.AggregateService/GetAggregates",
446            );
447            let mut req = request.into_request();
448            req.extensions_mut()
449                .insert(
450                    GrpcMethod::new(
451                        "chalk.aggregate.v1.AggregateService",
452                        "GetAggregates",
453                    ),
454                );
455            self.inner.unary(req, path, codec).await
456        }
457        pub async fn get_aggregate_backfill_jobs(
458            &mut self,
459            request: impl tonic::IntoRequest<super::GetAggregateBackfillJobsRequest>,
460        ) -> std::result::Result<
461            tonic::Response<super::GetAggregateBackfillJobsResponse>,
462            tonic::Status,
463        > {
464            self.inner
465                .ready()
466                .await
467                .map_err(|e| {
468                    tonic::Status::unknown(
469                        format!("Service was not ready: {}", e.into()),
470                    )
471                })?;
472            let codec = tonic::codec::ProstCodec::default();
473            let path = http::uri::PathAndQuery::from_static(
474                "/chalk.aggregate.v1.AggregateService/GetAggregateBackfillJobs",
475            );
476            let mut req = request.into_request();
477            req.extensions_mut()
478                .insert(
479                    GrpcMethod::new(
480                        "chalk.aggregate.v1.AggregateService",
481                        "GetAggregateBackfillJobs",
482                    ),
483                );
484            self.inner.unary(req, path, codec).await
485        }
486        pub async fn get_aggregate_backfill_job(
487            &mut self,
488            request: impl tonic::IntoRequest<super::GetAggregateBackfillJobRequest>,
489        ) -> std::result::Result<
490            tonic::Response<super::GetAggregateBackfillJobResponse>,
491            tonic::Status,
492        > {
493            self.inner
494                .ready()
495                .await
496                .map_err(|e| {
497                    tonic::Status::unknown(
498                        format!("Service was not ready: {}", e.into()),
499                    )
500                })?;
501            let codec = tonic::codec::ProstCodec::default();
502            let path = http::uri::PathAndQuery::from_static(
503                "/chalk.aggregate.v1.AggregateService/GetAggregateBackfillJob",
504            );
505            let mut req = request.into_request();
506            req.extensions_mut()
507                .insert(
508                    GrpcMethod::new(
509                        "chalk.aggregate.v1.AggregateService",
510                        "GetAggregateBackfillJob",
511                    ),
512                );
513            self.inner.unary(req, path, codec).await
514        }
515        pub async fn get_cron_aggregate_backfill(
516            &mut self,
517            request: impl tonic::IntoRequest<super::GetCronAggregateBackfillRequest>,
518        ) -> std::result::Result<
519            tonic::Response<super::GetCronAggregateBackfillResponse>,
520            tonic::Status,
521        > {
522            self.inner
523                .ready()
524                .await
525                .map_err(|e| {
526                    tonic::Status::unknown(
527                        format!("Service was not ready: {}", e.into()),
528                    )
529                })?;
530            let codec = tonic::codec::ProstCodec::default();
531            let path = http::uri::PathAndQuery::from_static(
532                "/chalk.aggregate.v1.AggregateService/GetCronAggregateBackfill",
533            );
534            let mut req = request.into_request();
535            req.extensions_mut()
536                .insert(
537                    GrpcMethod::new(
538                        "chalk.aggregate.v1.AggregateService",
539                        "GetCronAggregateBackfill",
540                    ),
541                );
542            self.inner.unary(req, path, codec).await
543        }
544        pub async fn get_active_cron_aggregate_backfills(
545            &mut self,
546            request: impl tonic::IntoRequest<
547                super::GetActiveCronAggregateBackfillsRequest,
548            >,
549        ) -> std::result::Result<
550            tonic::Response<super::GetActiveCronAggregateBackfillsResponse>,
551            tonic::Status,
552        > {
553            self.inner
554                .ready()
555                .await
556                .map_err(|e| {
557                    tonic::Status::unknown(
558                        format!("Service was not ready: {}", e.into()),
559                    )
560                })?;
561            let codec = tonic::codec::ProstCodec::default();
562            let path = http::uri::PathAndQuery::from_static(
563                "/chalk.aggregate.v1.AggregateService/GetActiveCronAggregateBackfills",
564            );
565            let mut req = request.into_request();
566            req.extensions_mut()
567                .insert(
568                    GrpcMethod::new(
569                        "chalk.aggregate.v1.AggregateService",
570                        "GetActiveCronAggregateBackfills",
571                    ),
572                );
573            self.inner.unary(req, path, codec).await
574        }
575        pub async fn create_aggregate_backfill_job(
576            &mut self,
577            request: impl tonic::IntoRequest<super::CreateAggregateBackfillJobRequest>,
578        ) -> std::result::Result<
579            tonic::Response<super::CreateAggregateBackfillJobResponse>,
580            tonic::Status,
581        > {
582            self.inner
583                .ready()
584                .await
585                .map_err(|e| {
586                    tonic::Status::unknown(
587                        format!("Service was not ready: {}", e.into()),
588                    )
589                })?;
590            let codec = tonic::codec::ProstCodec::default();
591            let path = http::uri::PathAndQuery::from_static(
592                "/chalk.aggregate.v1.AggregateService/CreateAggregateBackfillJob",
593            );
594            let mut req = request.into_request();
595            req.extensions_mut()
596                .insert(
597                    GrpcMethod::new(
598                        "chalk.aggregate.v1.AggregateService",
599                        "CreateAggregateBackfillJob",
600                    ),
601                );
602            self.inner.unary(req, path, codec).await
603        }
604    }
605}