1#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct ExecutorConnectionRequest {
5 #[prost(message, optional, tag = "1")]
7 pub message: ::core::option::Option<ExecutorMessage>,
8}
9impl ::prost::Name for ExecutorConnectionRequest {
10 const NAME: &'static str = "ExecutorConnectionRequest";
11 const PACKAGE: &'static str = "ora.server.v1";
12 fn full_name() -> ::prost::alloc::string::String {
13 "ora.server.v1.ExecutorConnectionRequest".into()
14 }
15 fn type_url() -> ::prost::alloc::string::String {
16 "/ora.server.v1.ExecutorConnectionRequest".into()
17 }
18}
19#[derive(Clone, PartialEq, ::prost::Message)]
21pub struct ExecutorConnectionResponse {
22 #[prost(message, optional, tag = "1")]
24 pub message: ::core::option::Option<ServerMessage>,
25}
26impl ::prost::Name for ExecutorConnectionResponse {
27 const NAME: &'static str = "ExecutorConnectionResponse";
28 const PACKAGE: &'static str = "ora.server.v1";
29 fn full_name() -> ::prost::alloc::string::String {
30 "ora.server.v1.ExecutorConnectionResponse".into()
31 }
32 fn type_url() -> ::prost::alloc::string::String {
33 "/ora.server.v1.ExecutorConnectionResponse".into()
34 }
35}
36#[derive(Clone, PartialEq, ::prost::Message)]
38pub struct ExecutorMessage {
39 #[prost(oneof = "executor_message::ExecutorMessageKind", tags = "1, 2, 3, 4, 5")]
41 pub executor_message_kind: ::core::option::Option<
42 executor_message::ExecutorMessageKind,
43 >,
44}
45pub mod executor_message {
47 #[derive(Clone, PartialEq, ::prost::Oneof)]
49 pub enum ExecutorMessageKind {
50 #[prost(message, tag = "1")]
57 Capabilities(super::ExecutorCapabilities),
58 #[prost(message, tag = "2")]
60 Heartbeat(super::ExecutorHeartbeat),
61 #[prost(message, tag = "3")]
63 ExecutionStarted(super::ExecutionStarted),
64 #[prost(message, tag = "4")]
66 ExecutionSucceeded(super::ExecutionSucceeded),
67 #[prost(message, tag = "5")]
69 ExecutionFailed(super::ExecutionFailed),
70 }
71}
72impl ::prost::Name for ExecutorMessage {
73 const NAME: &'static str = "ExecutorMessage";
74 const PACKAGE: &'static str = "ora.server.v1";
75 fn full_name() -> ::prost::alloc::string::String {
76 "ora.server.v1.ExecutorMessage".into()
77 }
78 fn type_url() -> ::prost::alloc::string::String {
79 "/ora.server.v1.ExecutorMessage".into()
80 }
81}
82#[derive(Clone, PartialEq, ::prost::Message)]
85pub struct ExecutorCapabilities {
86 #[prost(string, tag = "1")]
88 pub name: ::prost::alloc::string::String,
89 #[prost(message, repeated, tag = "2")]
91 pub supported_job_types: ::prost::alloc::vec::Vec<super::super::common::v1::JobType>,
92 #[prost(uint32, tag = "3")]
101 pub max_concurrent_executions: u32,
102}
103impl ::prost::Name for ExecutorCapabilities {
104 const NAME: &'static str = "ExecutorCapabilities";
105 const PACKAGE: &'static str = "ora.server.v1";
106 fn full_name() -> ::prost::alloc::string::String {
107 "ora.server.v1.ExecutorCapabilities".into()
108 }
109 fn type_url() -> ::prost::alloc::string::String {
110 "/ora.server.v1.ExecutorCapabilities".into()
111 }
112}
113#[derive(Clone, Copy, PartialEq, ::prost::Message)]
115pub struct ExecutorHeartbeat {}
116impl ::prost::Name for ExecutorHeartbeat {
117 const NAME: &'static str = "ExecutorHeartbeat";
118 const PACKAGE: &'static str = "ora.server.v1";
119 fn full_name() -> ::prost::alloc::string::String {
120 "ora.server.v1.ExecutorHeartbeat".into()
121 }
122 fn type_url() -> ::prost::alloc::string::String {
123 "/ora.server.v1.ExecutorHeartbeat".into()
124 }
125}
126#[derive(Clone, PartialEq, ::prost::Message)]
128pub struct ExecutionStarted {
129 #[prost(string, tag = "1")]
131 pub execution_id: ::prost::alloc::string::String,
132 #[prost(message, optional, tag = "2")]
134 pub timestamp: ::core::option::Option<::prost_types::Timestamp>,
135}
136impl ::prost::Name for ExecutionStarted {
137 const NAME: &'static str = "ExecutionStarted";
138 const PACKAGE: &'static str = "ora.server.v1";
139 fn full_name() -> ::prost::alloc::string::String {
140 "ora.server.v1.ExecutionStarted".into()
141 }
142 fn type_url() -> ::prost::alloc::string::String {
143 "/ora.server.v1.ExecutionStarted".into()
144 }
145}
146#[derive(Clone, PartialEq, ::prost::Message)]
148pub struct ExecutionSucceeded {
149 #[prost(string, tag = "1")]
151 pub execution_id: ::prost::alloc::string::String,
152 #[prost(message, optional, tag = "2")]
154 pub timestamp: ::core::option::Option<::prost_types::Timestamp>,
155 #[prost(string, tag = "3")]
157 pub output_payload_json: ::prost::alloc::string::String,
158}
159impl ::prost::Name for ExecutionSucceeded {
160 const NAME: &'static str = "ExecutionSucceeded";
161 const PACKAGE: &'static str = "ora.server.v1";
162 fn full_name() -> ::prost::alloc::string::String {
163 "ora.server.v1.ExecutionSucceeded".into()
164 }
165 fn type_url() -> ::prost::alloc::string::String {
166 "/ora.server.v1.ExecutionSucceeded".into()
167 }
168}
169#[derive(Clone, PartialEq, ::prost::Message)]
171pub struct ExecutionFailed {
172 #[prost(string, tag = "1")]
174 pub execution_id: ::prost::alloc::string::String,
175 #[prost(message, optional, tag = "2")]
177 pub timestamp: ::core::option::Option<::prost_types::Timestamp>,
178 #[prost(string, tag = "3")]
180 pub error_message: ::prost::alloc::string::String,
181}
182impl ::prost::Name for ExecutionFailed {
183 const NAME: &'static str = "ExecutionFailed";
184 const PACKAGE: &'static str = "ora.server.v1";
185 fn full_name() -> ::prost::alloc::string::String {
186 "ora.server.v1.ExecutionFailed".into()
187 }
188 fn type_url() -> ::prost::alloc::string::String {
189 "/ora.server.v1.ExecutionFailed".into()
190 }
191}
192#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct ServerMessage {
195 #[prost(oneof = "server_message::ServerMessageKind", tags = "1, 2, 3")]
197 pub server_message_kind: ::core::option::Option<server_message::ServerMessageKind>,
198}
199pub mod server_message {
201 #[derive(Clone, PartialEq, ::prost::Oneof)]
203 pub enum ServerMessageKind {
204 #[prost(message, tag = "1")]
206 Properties(super::ExecutorProperties),
207 #[prost(message, tag = "2")]
209 ExecutionReady(super::ExecutionReady),
210 #[prost(message, tag = "3")]
212 ExecutionCancelled(super::ExecutionCancelled),
213 }
214}
215impl ::prost::Name for ServerMessage {
216 const NAME: &'static str = "ServerMessage";
217 const PACKAGE: &'static str = "ora.server.v1";
218 fn full_name() -> ::prost::alloc::string::String {
219 "ora.server.v1.ServerMessage".into()
220 }
221 fn type_url() -> ::prost::alloc::string::String {
222 "/ora.server.v1.ServerMessage".into()
223 }
224}
225#[derive(Clone, PartialEq, ::prost::Message)]
227pub struct ExecutorProperties {
228 #[prost(string, tag = "1")]
230 pub executor_id: ::prost::alloc::string::String,
231 #[prost(message, optional, tag = "2")]
241 pub max_heartbeat_interval: ::core::option::Option<::prost_types::Duration>,
242}
243impl ::prost::Name for ExecutorProperties {
244 const NAME: &'static str = "ExecutorProperties";
245 const PACKAGE: &'static str = "ora.server.v1";
246 fn full_name() -> ::prost::alloc::string::String {
247 "ora.server.v1.ExecutorProperties".into()
248 }
249 fn type_url() -> ::prost::alloc::string::String {
250 "/ora.server.v1.ExecutorProperties".into()
251 }
252}
253#[derive(Clone, PartialEq, ::prost::Message)]
255pub struct ExecutionReady {
256 #[prost(string, tag = "1")]
258 pub job_id: ::prost::alloc::string::String,
259 #[prost(string, tag = "2")]
261 pub execution_id: ::prost::alloc::string::String,
262 #[prost(string, tag = "3")]
264 pub job_type_id: ::prost::alloc::string::String,
265 #[prost(uint64, tag = "4")]
269 pub attempt_number: u64,
270 #[prost(string, tag = "5")]
272 pub input_payload_json: ::prost::alloc::string::String,
273 #[prost(message, optional, tag = "6")]
275 pub target_execution_time: ::core::option::Option<::prost_types::Timestamp>,
276}
277impl ::prost::Name for ExecutionReady {
278 const NAME: &'static str = "ExecutionReady";
279 const PACKAGE: &'static str = "ora.server.v1";
280 fn full_name() -> ::prost::alloc::string::String {
281 "ora.server.v1.ExecutionReady".into()
282 }
283 fn type_url() -> ::prost::alloc::string::String {
284 "/ora.server.v1.ExecutionReady".into()
285 }
286}
287#[derive(Clone, PartialEq, ::prost::Message)]
289pub struct ExecutionCancelled {
290 #[prost(string, tag = "1")]
292 pub execution_id: ::prost::alloc::string::String,
293}
294impl ::prost::Name for ExecutionCancelled {
295 const NAME: &'static str = "ExecutionCancelled";
296 const PACKAGE: &'static str = "ora.server.v1";
297 fn full_name() -> ::prost::alloc::string::String {
298 "ora.server.v1.ExecutionCancelled".into()
299 }
300 fn type_url() -> ::prost::alloc::string::String {
301 "/ora.server.v1.ExecutionCancelled".into()
302 }
303}
304pub mod executor_service_client {
306 #![allow(
307 unused_variables,
308 dead_code,
309 missing_docs,
310 clippy::wildcard_imports,
311 clippy::let_unit_value,
312 )]
313 use tonic::codegen::*;
314 use tonic::codegen::http::Uri;
315 #[derive(Debug, Clone)]
317 pub struct ExecutorServiceClient<T> {
318 inner: tonic::client::Grpc<T>,
319 }
320 impl ExecutorServiceClient<tonic::transport::Channel> {
321 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
323 where
324 D: TryInto<tonic::transport::Endpoint>,
325 D::Error: Into<StdError>,
326 {
327 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
328 Ok(Self::new(conn))
329 }
330 }
331 impl<T> ExecutorServiceClient<T>
332 where
333 T: tonic::client::GrpcService<tonic::body::BoxBody>,
334 T::Error: Into<StdError>,
335 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
336 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
337 {
338 pub fn new(inner: T) -> Self {
339 let inner = tonic::client::Grpc::new(inner);
340 Self { inner }
341 }
342 pub fn with_origin(inner: T, origin: Uri) -> Self {
343 let inner = tonic::client::Grpc::with_origin(inner, origin);
344 Self { inner }
345 }
346 pub fn with_interceptor<F>(
347 inner: T,
348 interceptor: F,
349 ) -> ExecutorServiceClient<InterceptedService<T, F>>
350 where
351 F: tonic::service::Interceptor,
352 T::ResponseBody: Default,
353 T: tonic::codegen::Service<
354 http::Request<tonic::body::BoxBody>,
355 Response = http::Response<
356 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
357 >,
358 >,
359 <T as tonic::codegen::Service<
360 http::Request<tonic::body::BoxBody>,
361 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
362 {
363 ExecutorServiceClient::new(InterceptedService::new(inner, interceptor))
364 }
365 #[must_use]
370 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
371 self.inner = self.inner.send_compressed(encoding);
372 self
373 }
374 #[must_use]
376 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
377 self.inner = self.inner.accept_compressed(encoding);
378 self
379 }
380 #[must_use]
384 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
385 self.inner = self.inner.max_decoding_message_size(limit);
386 self
387 }
388 #[must_use]
392 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
393 self.inner = self.inner.max_encoding_message_size(limit);
394 self
395 }
396 pub async fn executor_connection(
398 &mut self,
399 request: impl tonic::IntoStreamingRequest<
400 Message = super::ExecutorConnectionRequest,
401 >,
402 ) -> std::result::Result<
403 tonic::Response<tonic::codec::Streaming<super::ExecutorConnectionResponse>>,
404 tonic::Status,
405 > {
406 self.inner
407 .ready()
408 .await
409 .map_err(|e| {
410 tonic::Status::unknown(
411 format!("Service was not ready: {}", e.into()),
412 )
413 })?;
414 let codec = tonic::codec::ProstCodec::default();
415 let path = http::uri::PathAndQuery::from_static(
416 "/ora.server.v1.ExecutorService/ExecutorConnection",
417 );
418 let mut req = request.into_streaming_request();
419 req.extensions_mut()
420 .insert(
421 GrpcMethod::new(
422 "ora.server.v1.ExecutorService",
423 "ExecutorConnection",
424 ),
425 );
426 self.inner.streaming(req, path, codec).await
427 }
428 }
429}
430pub mod executor_service_server {
432 #![allow(
433 unused_variables,
434 dead_code,
435 missing_docs,
436 clippy::wildcard_imports,
437 clippy::let_unit_value,
438 )]
439 use tonic::codegen::*;
440 #[async_trait]
442 pub trait ExecutorService: std::marker::Send + std::marker::Sync + 'static {
443 async fn executor_connection(
445 &self,
446 request: tonic::Request<tonic::Streaming<super::ExecutorConnectionRequest>>,
447 ) -> std::result::Result<
448 tonic::Response<BoxStream<super::ExecutorConnectionResponse>>,
449 tonic::Status,
450 > {
451 Err(tonic::Status::unimplemented("Not yet implemented"))
452 }
453 }
454 #[derive(Debug)]
456 pub struct ExecutorServiceServer<T> {
457 inner: Arc<T>,
458 accept_compression_encodings: EnabledCompressionEncodings,
459 send_compression_encodings: EnabledCompressionEncodings,
460 max_decoding_message_size: Option<usize>,
461 max_encoding_message_size: Option<usize>,
462 }
463 impl<T> ExecutorServiceServer<T> {
464 pub fn new(inner: T) -> Self {
465 Self::from_arc(Arc::new(inner))
466 }
467 pub fn from_arc(inner: Arc<T>) -> Self {
468 Self {
469 inner,
470 accept_compression_encodings: Default::default(),
471 send_compression_encodings: Default::default(),
472 max_decoding_message_size: None,
473 max_encoding_message_size: None,
474 }
475 }
476 pub fn with_interceptor<F>(
477 inner: T,
478 interceptor: F,
479 ) -> InterceptedService<Self, F>
480 where
481 F: tonic::service::Interceptor,
482 {
483 InterceptedService::new(Self::new(inner), interceptor)
484 }
485 #[must_use]
487 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
488 self.accept_compression_encodings.enable(encoding);
489 self
490 }
491 #[must_use]
493 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
494 self.send_compression_encodings.enable(encoding);
495 self
496 }
497 #[must_use]
501 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
502 self.max_decoding_message_size = Some(limit);
503 self
504 }
505 #[must_use]
509 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
510 self.max_encoding_message_size = Some(limit);
511 self
512 }
513 }
514 impl<T, B> tonic::codegen::Service<http::Request<B>> for ExecutorServiceServer<T>
515 where
516 T: ExecutorService,
517 B: Body + std::marker::Send + 'static,
518 B::Error: Into<StdError> + std::marker::Send + 'static,
519 {
520 type Response = http::Response<tonic::body::BoxBody>;
521 type Error = std::convert::Infallible;
522 type Future = BoxFuture<Self::Response, Self::Error>;
523 fn poll_ready(
524 &mut self,
525 _cx: &mut Context<'_>,
526 ) -> Poll<std::result::Result<(), Self::Error>> {
527 Poll::Ready(Ok(()))
528 }
529 fn call(&mut self, req: http::Request<B>) -> Self::Future {
530 match req.uri().path() {
531 "/ora.server.v1.ExecutorService/ExecutorConnection" => {
532 #[allow(non_camel_case_types)]
533 struct ExecutorConnectionSvc<T: ExecutorService>(pub Arc<T>);
534 impl<
535 T: ExecutorService,
536 > tonic::server::StreamingService<super::ExecutorConnectionRequest>
537 for ExecutorConnectionSvc<T> {
538 type Response = super::ExecutorConnectionResponse;
539 type ResponseStream = BoxStream<
540 super::ExecutorConnectionResponse,
541 >;
542 type Future = BoxFuture<
543 tonic::Response<Self::ResponseStream>,
544 tonic::Status,
545 >;
546 fn call(
547 &mut self,
548 request: tonic::Request<
549 tonic::Streaming<super::ExecutorConnectionRequest>,
550 >,
551 ) -> Self::Future {
552 let inner = Arc::clone(&self.0);
553 let fut = async move {
554 <T as ExecutorService>::executor_connection(&inner, request)
555 .await
556 };
557 Box::pin(fut)
558 }
559 }
560 let accept_compression_encodings = self.accept_compression_encodings;
561 let send_compression_encodings = self.send_compression_encodings;
562 let max_decoding_message_size = self.max_decoding_message_size;
563 let max_encoding_message_size = self.max_encoding_message_size;
564 let inner = self.inner.clone();
565 let fut = async move {
566 let method = ExecutorConnectionSvc(inner);
567 let codec = tonic::codec::ProstCodec::default();
568 let mut grpc = tonic::server::Grpc::new(codec)
569 .apply_compression_config(
570 accept_compression_encodings,
571 send_compression_encodings,
572 )
573 .apply_max_message_size_config(
574 max_decoding_message_size,
575 max_encoding_message_size,
576 );
577 let res = grpc.streaming(method, req).await;
578 Ok(res)
579 };
580 Box::pin(fut)
581 }
582 _ => {
583 Box::pin(async move {
584 let mut response = http::Response::new(empty_body());
585 let headers = response.headers_mut();
586 headers
587 .insert(
588 tonic::Status::GRPC_STATUS,
589 (tonic::Code::Unimplemented as i32).into(),
590 );
591 headers
592 .insert(
593 http::header::CONTENT_TYPE,
594 tonic::metadata::GRPC_CONTENT_TYPE,
595 );
596 Ok(response)
597 })
598 }
599 }
600 }
601 }
602 impl<T> Clone for ExecutorServiceServer<T> {
603 fn clone(&self) -> Self {
604 let inner = self.inner.clone();
605 Self {
606 inner,
607 accept_compression_encodings: self.accept_compression_encodings,
608 send_compression_encodings: self.send_compression_encodings,
609 max_decoding_message_size: self.max_decoding_message_size,
610 max_encoding_message_size: self.max_encoding_message_size,
611 }
612 }
613 }
614 pub const SERVICE_NAME: &str = "ora.server.v1.ExecutorService";
616 impl<T> tonic::server::NamedService for ExecutorServiceServer<T> {
617 const NAME: &'static str = SERVICE_NAME;
618 }
619}
620#[derive(Clone, PartialEq, ::prost::Message)]
622pub struct AddJobsRequest {
623 #[prost(message, repeated, tag = "1")]
625 pub jobs: ::prost::alloc::vec::Vec<super::super::common::v1::JobDefinition>,
626}
627impl ::prost::Name for AddJobsRequest {
628 const NAME: &'static str = "AddJobsRequest";
629 const PACKAGE: &'static str = "ora.server.v1";
630 fn full_name() -> ::prost::alloc::string::String {
631 "ora.server.v1.AddJobsRequest".into()
632 }
633 fn type_url() -> ::prost::alloc::string::String {
634 "/ora.server.v1.AddJobsRequest".into()
635 }
636}
637#[derive(Clone, PartialEq, ::prost::Message)]
639pub struct AddJobsResponse {
640 #[prost(string, repeated, tag = "1")]
642 pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
643}
644impl ::prost::Name for AddJobsResponse {
645 const NAME: &'static str = "AddJobsResponse";
646 const PACKAGE: &'static str = "ora.server.v1";
647 fn full_name() -> ::prost::alloc::string::String {
648 "ora.server.v1.AddJobsResponse".into()
649 }
650 fn type_url() -> ::prost::alloc::string::String {
651 "/ora.server.v1.AddJobsResponse".into()
652 }
653}
654#[derive(Clone, PartialEq, ::prost::Message)]
656pub struct ListJobsRequest {
657 #[prost(string, optional, tag = "1")]
662 pub cursor: ::core::option::Option<::prost::alloc::string::String>,
663 #[prost(message, optional, tag = "2")]
665 pub filter: ::core::option::Option<JobQueryFilter>,
666 #[prost(enumeration = "JobQueryOrder", optional, tag = "3")]
668 pub order: ::core::option::Option<i32>,
669 #[prost(uint32, tag = "4")]
674 pub limit: u32,
675}
676impl ::prost::Name for ListJobsRequest {
677 const NAME: &'static str = "ListJobsRequest";
678 const PACKAGE: &'static str = "ora.server.v1";
679 fn full_name() -> ::prost::alloc::string::String {
680 "ora.server.v1.ListJobsRequest".into()
681 }
682 fn type_url() -> ::prost::alloc::string::String {
683 "/ora.server.v1.ListJobsRequest".into()
684 }
685}
686#[derive(Clone, PartialEq, ::prost::Message)]
688pub struct ListJobsResponse {
689 #[prost(message, repeated, tag = "1")]
691 pub jobs: ::prost::alloc::vec::Vec<Job>,
692 #[prost(string, optional, tag = "2")]
700 pub cursor: ::core::option::Option<::prost::alloc::string::String>,
701 #[prost(bool, tag = "3")]
703 pub has_more: bool,
704}
705impl ::prost::Name for ListJobsResponse {
706 const NAME: &'static str = "ListJobsResponse";
707 const PACKAGE: &'static str = "ora.server.v1";
708 fn full_name() -> ::prost::alloc::string::String {
709 "ora.server.v1.ListJobsResponse".into()
710 }
711 fn type_url() -> ::prost::alloc::string::String {
712 "/ora.server.v1.ListJobsResponse".into()
713 }
714}
715#[derive(Clone, Copy, PartialEq, ::prost::Message)]
717pub struct ListJobTypesRequest {}
718impl ::prost::Name for ListJobTypesRequest {
719 const NAME: &'static str = "ListJobTypesRequest";
720 const PACKAGE: &'static str = "ora.server.v1";
721 fn full_name() -> ::prost::alloc::string::String {
722 "ora.server.v1.ListJobTypesRequest".into()
723 }
724 fn type_url() -> ::prost::alloc::string::String {
725 "/ora.server.v1.ListJobTypesRequest".into()
726 }
727}
728#[derive(Clone, PartialEq, ::prost::Message)]
730pub struct ListJobTypesResponse {
731 #[prost(message, repeated, tag = "1")]
733 pub job_types: ::prost::alloc::vec::Vec<super::super::common::v1::JobType>,
734}
735impl ::prost::Name for ListJobTypesResponse {
736 const NAME: &'static str = "ListJobTypesResponse";
737 const PACKAGE: &'static str = "ora.server.v1";
738 fn full_name() -> ::prost::alloc::string::String {
739 "ora.server.v1.ListJobTypesResponse".into()
740 }
741 fn type_url() -> ::prost::alloc::string::String {
742 "/ora.server.v1.ListJobTypesResponse".into()
743 }
744}
745#[derive(Clone, PartialEq, ::prost::Message)]
747pub struct CountJobsRequest {
748 #[prost(message, optional, tag = "1")]
750 pub filter: ::core::option::Option<JobQueryFilter>,
751}
752impl ::prost::Name for CountJobsRequest {
753 const NAME: &'static str = "CountJobsRequest";
754 const PACKAGE: &'static str = "ora.server.v1";
755 fn full_name() -> ::prost::alloc::string::String {
756 "ora.server.v1.CountJobsRequest".into()
757 }
758 fn type_url() -> ::prost::alloc::string::String {
759 "/ora.server.v1.CountJobsRequest".into()
760 }
761}
762#[derive(Clone, Copy, PartialEq, ::prost::Message)]
764pub struct CountJobsResponse {
765 #[prost(uint64, tag = "1")]
767 pub count: u64,
768}
769impl ::prost::Name for CountJobsResponse {
770 const NAME: &'static str = "CountJobsResponse";
771 const PACKAGE: &'static str = "ora.server.v1";
772 fn full_name() -> ::prost::alloc::string::String {
773 "ora.server.v1.CountJobsResponse".into()
774 }
775 fn type_url() -> ::prost::alloc::string::String {
776 "/ora.server.v1.CountJobsResponse".into()
777 }
778}
779#[derive(Clone, PartialEq, ::prost::Message)]
781pub struct CancelJobsRequest {
782 #[prost(message, optional, tag = "1")]
784 pub filter: ::core::option::Option<JobQueryFilter>,
785}
786impl ::prost::Name for CancelJobsRequest {
787 const NAME: &'static str = "CancelJobsRequest";
788 const PACKAGE: &'static str = "ora.server.v1";
789 fn full_name() -> ::prost::alloc::string::String {
790 "ora.server.v1.CancelJobsRequest".into()
791 }
792 fn type_url() -> ::prost::alloc::string::String {
793 "/ora.server.v1.CancelJobsRequest".into()
794 }
795}
796#[derive(Clone, PartialEq, ::prost::Message)]
798pub struct CancelJobsResponse {
799 #[prost(string, repeated, tag = "1")]
801 pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
802}
803impl ::prost::Name for CancelJobsResponse {
804 const NAME: &'static str = "CancelJobsResponse";
805 const PACKAGE: &'static str = "ora.server.v1";
806 fn full_name() -> ::prost::alloc::string::String {
807 "ora.server.v1.CancelJobsResponse".into()
808 }
809 fn type_url() -> ::prost::alloc::string::String {
810 "/ora.server.v1.CancelJobsResponse".into()
811 }
812}
813#[derive(Clone, PartialEq, ::prost::Message)]
815pub struct DeleteInactiveJobsRequest {
816 #[prost(message, optional, tag = "1")]
818 pub filter: ::core::option::Option<JobQueryFilter>,
819}
820impl ::prost::Name for DeleteInactiveJobsRequest {
821 const NAME: &'static str = "DeleteInactiveJobsRequest";
822 const PACKAGE: &'static str = "ora.server.v1";
823 fn full_name() -> ::prost::alloc::string::String {
824 "ora.server.v1.DeleteInactiveJobsRequest".into()
825 }
826 fn type_url() -> ::prost::alloc::string::String {
827 "/ora.server.v1.DeleteInactiveJobsRequest".into()
828 }
829}
830#[derive(Clone, PartialEq, ::prost::Message)]
832pub struct DeleteInactiveJobsResponse {
833 #[prost(string, repeated, tag = "1")]
835 pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
836}
837impl ::prost::Name for DeleteInactiveJobsResponse {
838 const NAME: &'static str = "DeleteInactiveJobsResponse";
839 const PACKAGE: &'static str = "ora.server.v1";
840 fn full_name() -> ::prost::alloc::string::String {
841 "ora.server.v1.DeleteInactiveJobsResponse".into()
842 }
843 fn type_url() -> ::prost::alloc::string::String {
844 "/ora.server.v1.DeleteInactiveJobsResponse".into()
845 }
846}
847#[derive(Clone, Copy, PartialEq, ::prost::Message)]
849pub struct ListExecutorsRequest {}
850impl ::prost::Name for ListExecutorsRequest {
851 const NAME: &'static str = "ListExecutorsRequest";
852 const PACKAGE: &'static str = "ora.server.v1";
853 fn full_name() -> ::prost::alloc::string::String {
854 "ora.server.v1.ListExecutorsRequest".into()
855 }
856 fn type_url() -> ::prost::alloc::string::String {
857 "/ora.server.v1.ListExecutorsRequest".into()
858 }
859}
860#[derive(Clone, PartialEq, ::prost::Message)]
862pub struct ListExecutorsResponse {
863 #[prost(message, repeated, tag = "1")]
865 pub executors: ::prost::alloc::vec::Vec<ExecutorInfo>,
866}
867impl ::prost::Name for ListExecutorsResponse {
868 const NAME: &'static str = "ListExecutorsResponse";
869 const PACKAGE: &'static str = "ora.server.v1";
870 fn full_name() -> ::prost::alloc::string::String {
871 "ora.server.v1.ListExecutorsResponse".into()
872 }
873 fn type_url() -> ::prost::alloc::string::String {
874 "/ora.server.v1.ListExecutorsResponse".into()
875 }
876}
877#[derive(Clone, PartialEq, ::prost::Message)]
879pub struct CreateSchedulesRequest {
880 #[prost(message, repeated, tag = "1")]
882 pub schedules: ::prost::alloc::vec::Vec<
883 super::super::common::v1::ScheduleDefinition,
884 >,
885}
886impl ::prost::Name for CreateSchedulesRequest {
887 const NAME: &'static str = "CreateSchedulesRequest";
888 const PACKAGE: &'static str = "ora.server.v1";
889 fn full_name() -> ::prost::alloc::string::String {
890 "ora.server.v1.CreateSchedulesRequest".into()
891 }
892 fn type_url() -> ::prost::alloc::string::String {
893 "/ora.server.v1.CreateSchedulesRequest".into()
894 }
895}
896#[derive(Clone, PartialEq, ::prost::Message)]
898pub struct CreateSchedulesResponse {
899 #[prost(string, repeated, tag = "1")]
901 pub schedule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
902}
903impl ::prost::Name for CreateSchedulesResponse {
904 const NAME: &'static str = "CreateSchedulesResponse";
905 const PACKAGE: &'static str = "ora.server.v1";
906 fn full_name() -> ::prost::alloc::string::String {
907 "ora.server.v1.CreateSchedulesResponse".into()
908 }
909 fn type_url() -> ::prost::alloc::string::String {
910 "/ora.server.v1.CreateSchedulesResponse".into()
911 }
912}
913#[derive(Clone, PartialEq, ::prost::Message)]
915pub struct ListSchedulesRequest {
916 #[prost(string, optional, tag = "1")]
921 pub cursor: ::core::option::Option<::prost::alloc::string::String>,
922 #[prost(message, optional, tag = "2")]
924 pub filter: ::core::option::Option<ScheduleQueryFilter>,
925 #[prost(enumeration = "ScheduleQueryOrder", optional, tag = "3")]
927 pub order: ::core::option::Option<i32>,
928 #[prost(uint32, tag = "4")]
933 pub limit: u32,
934}
935impl ::prost::Name for ListSchedulesRequest {
936 const NAME: &'static str = "ListSchedulesRequest";
937 const PACKAGE: &'static str = "ora.server.v1";
938 fn full_name() -> ::prost::alloc::string::String {
939 "ora.server.v1.ListSchedulesRequest".into()
940 }
941 fn type_url() -> ::prost::alloc::string::String {
942 "/ora.server.v1.ListSchedulesRequest".into()
943 }
944}
945#[derive(Clone, PartialEq, ::prost::Message)]
947pub struct ListSchedulesResponse {
948 #[prost(message, repeated, tag = "1")]
950 pub schedules: ::prost::alloc::vec::Vec<Schedule>,
951 #[prost(string, optional, tag = "2")]
959 pub cursor: ::core::option::Option<::prost::alloc::string::String>,
960 #[prost(bool, tag = "3")]
962 pub has_more: bool,
963}
964impl ::prost::Name for ListSchedulesResponse {
965 const NAME: &'static str = "ListSchedulesResponse";
966 const PACKAGE: &'static str = "ora.server.v1";
967 fn full_name() -> ::prost::alloc::string::String {
968 "ora.server.v1.ListSchedulesResponse".into()
969 }
970 fn type_url() -> ::prost::alloc::string::String {
971 "/ora.server.v1.ListSchedulesResponse".into()
972 }
973}
974#[derive(Clone, PartialEq, ::prost::Message)]
976pub struct CountSchedulesRequest {
977 #[prost(message, optional, tag = "1")]
979 pub filter: ::core::option::Option<ScheduleQueryFilter>,
980}
981impl ::prost::Name for CountSchedulesRequest {
982 const NAME: &'static str = "CountSchedulesRequest";
983 const PACKAGE: &'static str = "ora.server.v1";
984 fn full_name() -> ::prost::alloc::string::String {
985 "ora.server.v1.CountSchedulesRequest".into()
986 }
987 fn type_url() -> ::prost::alloc::string::String {
988 "/ora.server.v1.CountSchedulesRequest".into()
989 }
990}
991#[derive(Clone, Copy, PartialEq, ::prost::Message)]
993pub struct CountSchedulesResponse {
994 #[prost(uint64, tag = "1")]
996 pub count: u64,
997}
998impl ::prost::Name for CountSchedulesResponse {
999 const NAME: &'static str = "CountSchedulesResponse";
1000 const PACKAGE: &'static str = "ora.server.v1";
1001 fn full_name() -> ::prost::alloc::string::String {
1002 "ora.server.v1.CountSchedulesResponse".into()
1003 }
1004 fn type_url() -> ::prost::alloc::string::String {
1005 "/ora.server.v1.CountSchedulesResponse".into()
1006 }
1007}
1008#[derive(Clone, PartialEq, ::prost::Message)]
1010pub struct CancelSchedulesRequest {
1011 #[prost(message, optional, tag = "1")]
1013 pub filter: ::core::option::Option<ScheduleQueryFilter>,
1014 #[prost(bool, tag = "2")]
1016 pub cancel_jobs: bool,
1017}
1018impl ::prost::Name for CancelSchedulesRequest {
1019 const NAME: &'static str = "CancelSchedulesRequest";
1020 const PACKAGE: &'static str = "ora.server.v1";
1021 fn full_name() -> ::prost::alloc::string::String {
1022 "ora.server.v1.CancelSchedulesRequest".into()
1023 }
1024 fn type_url() -> ::prost::alloc::string::String {
1025 "/ora.server.v1.CancelSchedulesRequest".into()
1026 }
1027}
1028#[derive(Clone, PartialEq, ::prost::Message)]
1030pub struct CancelSchedulesResponse {
1031 #[prost(string, repeated, tag = "1")]
1033 pub schedule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1034 #[prost(string, repeated, tag = "2")]
1037 pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1038}
1039impl ::prost::Name for CancelSchedulesResponse {
1040 const NAME: &'static str = "CancelSchedulesResponse";
1041 const PACKAGE: &'static str = "ora.server.v1";
1042 fn full_name() -> ::prost::alloc::string::String {
1043 "ora.server.v1.CancelSchedulesResponse".into()
1044 }
1045 fn type_url() -> ::prost::alloc::string::String {
1046 "/ora.server.v1.CancelSchedulesResponse".into()
1047 }
1048}
1049#[derive(Clone, PartialEq, ::prost::Message)]
1051pub struct DeleteInactiveSchedulesRequest {
1052 #[prost(message, optional, tag = "1")]
1054 pub filter: ::core::option::Option<ScheduleQueryFilter>,
1055}
1056impl ::prost::Name for DeleteInactiveSchedulesRequest {
1057 const NAME: &'static str = "DeleteInactiveSchedulesRequest";
1058 const PACKAGE: &'static str = "ora.server.v1";
1059 fn full_name() -> ::prost::alloc::string::String {
1060 "ora.server.v1.DeleteInactiveSchedulesRequest".into()
1061 }
1062 fn type_url() -> ::prost::alloc::string::String {
1063 "/ora.server.v1.DeleteInactiveSchedulesRequest".into()
1064 }
1065}
1066#[derive(Clone, PartialEq, ::prost::Message)]
1068pub struct DeleteInactiveSchedulesResponse {
1069 #[prost(string, repeated, tag = "1")]
1071 pub schedule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1072}
1073impl ::prost::Name for DeleteInactiveSchedulesResponse {
1074 const NAME: &'static str = "DeleteInactiveSchedulesResponse";
1075 const PACKAGE: &'static str = "ora.server.v1";
1076 fn full_name() -> ::prost::alloc::string::String {
1077 "ora.server.v1.DeleteInactiveSchedulesResponse".into()
1078 }
1079 fn type_url() -> ::prost::alloc::string::String {
1080 "/ora.server.v1.DeleteInactiveSchedulesResponse".into()
1081 }
1082}
1083#[derive(Clone, PartialEq, ::prost::Message)]
1085pub struct JobQueryFilter {
1086 #[prost(string, repeated, tag = "1")]
1090 pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1091 #[prost(string, repeated, tag = "2")]
1095 pub job_type_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1096 #[prost(string, repeated, tag = "3")]
1100 pub execution_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1101 #[prost(string, repeated, tag = "4")]
1106 pub schedule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1107 #[prost(enumeration = "JobExecutionStatus", repeated, tag = "5")]
1116 pub status: ::prost::alloc::vec::Vec<i32>,
1117 #[prost(message, repeated, tag = "6")]
1122 pub labels: ::prost::alloc::vec::Vec<JobLabelFilter>,
1123 #[prost(bool, optional, tag = "7")]
1127 pub active: ::core::option::Option<bool>,
1128 #[prost(message, optional, tag = "8")]
1132 pub target_execution_time: ::core::option::Option<
1133 super::super::common::v1::TimeRange,
1134 >,
1135 #[prost(message, optional, tag = "9")]
1139 pub created_at: ::core::option::Option<super::super::common::v1::TimeRange>,
1140}
1141impl ::prost::Name for JobQueryFilter {
1142 const NAME: &'static str = "JobQueryFilter";
1143 const PACKAGE: &'static str = "ora.server.v1";
1144 fn full_name() -> ::prost::alloc::string::String {
1145 "ora.server.v1.JobQueryFilter".into()
1146 }
1147 fn type_url() -> ::prost::alloc::string::String {
1148 "/ora.server.v1.JobQueryFilter".into()
1149 }
1150}
1151#[derive(Clone, PartialEq, ::prost::Message)]
1153pub struct JobLabelFilter {
1154 #[prost(string, tag = "1")]
1156 pub key: ::prost::alloc::string::String,
1157 #[prost(oneof = "job_label_filter::Value", tags = "2, 3")]
1159 pub value: ::core::option::Option<job_label_filter::Value>,
1160}
1161pub mod job_label_filter {
1163 #[derive(Clone, PartialEq, ::prost::Oneof)]
1165 pub enum Value {
1166 #[prost(enumeration = "super::LabelFilterExistCondition", tag = "2")]
1168 Exists(i32),
1169 #[prost(string, tag = "3")]
1171 Equals(::prost::alloc::string::String),
1172 }
1173}
1174impl ::prost::Name for JobLabelFilter {
1175 const NAME: &'static str = "JobLabelFilter";
1176 const PACKAGE: &'static str = "ora.server.v1";
1177 fn full_name() -> ::prost::alloc::string::String {
1178 "ora.server.v1.JobLabelFilter".into()
1179 }
1180 fn type_url() -> ::prost::alloc::string::String {
1181 "/ora.server.v1.JobLabelFilter".into()
1182 }
1183}
1184#[derive(Clone, PartialEq, ::prost::Message)]
1186pub struct Job {
1187 #[prost(string, tag = "1")]
1189 pub id: ::prost::alloc::string::String,
1190 #[prost(string, optional, tag = "2")]
1192 pub schedule_id: ::core::option::Option<::prost::alloc::string::String>,
1193 #[prost(message, optional, tag = "3")]
1195 pub definition: ::core::option::Option<super::super::common::v1::JobDefinition>,
1196 #[prost(message, optional, tag = "4")]
1198 pub created_at: ::core::option::Option<::prost_types::Timestamp>,
1199 #[prost(message, repeated, tag = "5")]
1201 pub executions: ::prost::alloc::vec::Vec<JobExecution>,
1202 #[prost(bool, tag = "6")]
1204 pub active: bool,
1205 #[prost(bool, tag = "7")]
1207 pub cancelled: bool,
1208}
1209impl ::prost::Name for Job {
1210 const NAME: &'static str = "Job";
1211 const PACKAGE: &'static str = "ora.server.v1";
1212 fn full_name() -> ::prost::alloc::string::String {
1213 "ora.server.v1.Job".into()
1214 }
1215 fn type_url() -> ::prost::alloc::string::String {
1216 "/ora.server.v1.Job".into()
1217 }
1218}
1219#[derive(Clone, PartialEq, ::prost::Message)]
1220pub struct JobExecution {
1221 #[prost(string, tag = "1")]
1223 pub id: ::prost::alloc::string::String,
1224 #[prost(string, tag = "2")]
1226 pub job_id: ::prost::alloc::string::String,
1227 #[prost(string, optional, tag = "3")]
1229 pub executor_id: ::core::option::Option<::prost::alloc::string::String>,
1230 #[prost(enumeration = "JobExecutionStatus", tag = "4")]
1232 pub status: i32,
1233 #[prost(message, optional, tag = "5")]
1235 pub created_at: ::core::option::Option<::prost_types::Timestamp>,
1236 #[prost(message, optional, tag = "6")]
1238 pub ready_at: ::core::option::Option<::prost_types::Timestamp>,
1239 #[prost(message, optional, tag = "7")]
1241 pub assigned_at: ::core::option::Option<::prost_types::Timestamp>,
1242 #[prost(message, optional, tag = "8")]
1244 pub started_at: ::core::option::Option<::prost_types::Timestamp>,
1245 #[prost(message, optional, tag = "9")]
1247 pub succeeded_at: ::core::option::Option<::prost_types::Timestamp>,
1248 #[prost(message, optional, tag = "10")]
1250 pub failed_at: ::core::option::Option<::prost_types::Timestamp>,
1251 #[prost(string, optional, tag = "11")]
1253 pub output_payload_json: ::core::option::Option<::prost::alloc::string::String>,
1254 #[prost(string, optional, tag = "12")]
1256 pub failure_reason: ::core::option::Option<::prost::alloc::string::String>,
1257}
1258impl ::prost::Name for JobExecution {
1259 const NAME: &'static str = "JobExecution";
1260 const PACKAGE: &'static str = "ora.server.v1";
1261 fn full_name() -> ::prost::alloc::string::String {
1262 "ora.server.v1.JobExecution".into()
1263 }
1264 fn type_url() -> ::prost::alloc::string::String {
1265 "/ora.server.v1.JobExecution".into()
1266 }
1267}
1268#[derive(Clone, PartialEq, ::prost::Message)]
1270pub struct ExecutorInfo {
1271 #[prost(string, tag = "1")]
1273 pub id: ::prost::alloc::string::String,
1274 #[prost(string, tag = "2")]
1276 pub name: ::prost::alloc::string::String,
1277 #[prost(message, optional, tag = "3")]
1279 pub last_seen_at: ::core::option::Option<::prost_types::Timestamp>,
1280 #[prost(bool, tag = "4")]
1282 pub alive: bool,
1283 #[prost(string, repeated, tag = "5")]
1285 pub supported_job_type_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1286 #[prost(uint32, tag = "6")]
1288 pub max_concurrent_executions: u32,
1289 #[prost(string, repeated, tag = "7")]
1291 pub assigned_execution_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1292}
1293impl ::prost::Name for ExecutorInfo {
1294 const NAME: &'static str = "ExecutorInfo";
1295 const PACKAGE: &'static str = "ora.server.v1";
1296 fn full_name() -> ::prost::alloc::string::String {
1297 "ora.server.v1.ExecutorInfo".into()
1298 }
1299 fn type_url() -> ::prost::alloc::string::String {
1300 "/ora.server.v1.ExecutorInfo".into()
1301 }
1302}
1303#[derive(Clone, PartialEq, ::prost::Message)]
1305pub struct Schedule {
1306 #[prost(string, tag = "1")]
1308 pub id: ::prost::alloc::string::String,
1309 #[prost(message, optional, tag = "2")]
1311 pub definition: ::core::option::Option<super::super::common::v1::ScheduleDefinition>,
1312 #[prost(message, optional, tag = "3")]
1314 pub created_at: ::core::option::Option<::prost_types::Timestamp>,
1315 #[prost(bool, tag = "5")]
1317 pub active: bool,
1318 #[prost(bool, tag = "6")]
1320 pub cancelled: bool,
1321}
1322impl ::prost::Name for Schedule {
1323 const NAME: &'static str = "Schedule";
1324 const PACKAGE: &'static str = "ora.server.v1";
1325 fn full_name() -> ::prost::alloc::string::String {
1326 "ora.server.v1.Schedule".into()
1327 }
1328 fn type_url() -> ::prost::alloc::string::String {
1329 "/ora.server.v1.Schedule".into()
1330 }
1331}
1332#[derive(Clone, PartialEq, ::prost::Message)]
1334pub struct ScheduleQueryFilter {
1335 #[prost(string, repeated, tag = "1")]
1339 pub schedule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1340 #[prost(string, repeated, tag = "2")]
1345 pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1346 #[prost(string, repeated, tag = "3")]
1351 pub job_type_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1352 #[prost(message, repeated, tag = "4")]
1357 pub labels: ::prost::alloc::vec::Vec<ScheduleLabelFilter>,
1358 #[prost(bool, optional, tag = "5")]
1362 pub active: ::core::option::Option<bool>,
1363 #[prost(message, optional, tag = "6")]
1367 pub created_at: ::core::option::Option<super::super::common::v1::TimeRange>,
1368}
1369impl ::prost::Name for ScheduleQueryFilter {
1370 const NAME: &'static str = "ScheduleQueryFilter";
1371 const PACKAGE: &'static str = "ora.server.v1";
1372 fn full_name() -> ::prost::alloc::string::String {
1373 "ora.server.v1.ScheduleQueryFilter".into()
1374 }
1375 fn type_url() -> ::prost::alloc::string::String {
1376 "/ora.server.v1.ScheduleQueryFilter".into()
1377 }
1378}
1379#[derive(Clone, PartialEq, ::prost::Message)]
1381pub struct ScheduleLabelFilter {
1382 #[prost(string, tag = "1")]
1384 pub key: ::prost::alloc::string::String,
1385 #[prost(oneof = "schedule_label_filter::Value", tags = "2, 3")]
1387 pub value: ::core::option::Option<schedule_label_filter::Value>,
1388}
1389pub mod schedule_label_filter {
1391 #[derive(Clone, PartialEq, ::prost::Oneof)]
1393 pub enum Value {
1394 #[prost(enumeration = "super::LabelFilterExistCondition", tag = "2")]
1396 Exists(i32),
1397 #[prost(string, tag = "3")]
1399 Equals(::prost::alloc::string::String),
1400 }
1401}
1402impl ::prost::Name for ScheduleLabelFilter {
1403 const NAME: &'static str = "ScheduleLabelFilter";
1404 const PACKAGE: &'static str = "ora.server.v1";
1405 fn full_name() -> ::prost::alloc::string::String {
1406 "ora.server.v1.ScheduleLabelFilter".into()
1407 }
1408 fn type_url() -> ::prost::alloc::string::String {
1409 "/ora.server.v1.ScheduleLabelFilter".into()
1410 }
1411}
1412#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1414#[repr(i32)]
1415pub enum JobQueryOrder {
1416 Unspecified = 0,
1418 CreatedAtAsc = 1,
1420 CreatedAtDesc = 2,
1422 TargetExecutionTimeAsc = 3,
1424 TargetExecutionTimeDesc = 4,
1426}
1427impl JobQueryOrder {
1428 pub fn as_str_name(&self) -> &'static str {
1433 match self {
1434 Self::Unspecified => "JOB_QUERY_ORDER_UNSPECIFIED",
1435 Self::CreatedAtAsc => "JOB_QUERY_ORDER_CREATED_AT_ASC",
1436 Self::CreatedAtDesc => "JOB_QUERY_ORDER_CREATED_AT_DESC",
1437 Self::TargetExecutionTimeAsc => "JOB_QUERY_ORDER_TARGET_EXECUTION_TIME_ASC",
1438 Self::TargetExecutionTimeDesc => "JOB_QUERY_ORDER_TARGET_EXECUTION_TIME_DESC",
1439 }
1440 }
1441 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1443 match value {
1444 "JOB_QUERY_ORDER_UNSPECIFIED" => Some(Self::Unspecified),
1445 "JOB_QUERY_ORDER_CREATED_AT_ASC" => Some(Self::CreatedAtAsc),
1446 "JOB_QUERY_ORDER_CREATED_AT_DESC" => Some(Self::CreatedAtDesc),
1447 "JOB_QUERY_ORDER_TARGET_EXECUTION_TIME_ASC" => {
1448 Some(Self::TargetExecutionTimeAsc)
1449 }
1450 "JOB_QUERY_ORDER_TARGET_EXECUTION_TIME_DESC" => {
1451 Some(Self::TargetExecutionTimeDesc)
1452 }
1453 _ => None,
1454 }
1455 }
1456}
1457#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1459#[repr(i32)]
1460pub enum JobExecutionStatus {
1461 Unspecified = 0,
1463 Pending = 1,
1465 Ready = 2,
1467 Assigned = 3,
1469 Running = 4,
1471 Succeeded = 5,
1473 Failed = 6,
1475}
1476impl JobExecutionStatus {
1477 pub fn as_str_name(&self) -> &'static str {
1482 match self {
1483 Self::Unspecified => "JOB_EXECUTION_STATUS_UNSPECIFIED",
1484 Self::Pending => "JOB_EXECUTION_STATUS_PENDING",
1485 Self::Ready => "JOB_EXECUTION_STATUS_READY",
1486 Self::Assigned => "JOB_EXECUTION_STATUS_ASSIGNED",
1487 Self::Running => "JOB_EXECUTION_STATUS_RUNNING",
1488 Self::Succeeded => "JOB_EXECUTION_STATUS_SUCCEEDED",
1489 Self::Failed => "JOB_EXECUTION_STATUS_FAILED",
1490 }
1491 }
1492 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1494 match value {
1495 "JOB_EXECUTION_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1496 "JOB_EXECUTION_STATUS_PENDING" => Some(Self::Pending),
1497 "JOB_EXECUTION_STATUS_READY" => Some(Self::Ready),
1498 "JOB_EXECUTION_STATUS_ASSIGNED" => Some(Self::Assigned),
1499 "JOB_EXECUTION_STATUS_RUNNING" => Some(Self::Running),
1500 "JOB_EXECUTION_STATUS_SUCCEEDED" => Some(Self::Succeeded),
1501 "JOB_EXECUTION_STATUS_FAILED" => Some(Self::Failed),
1502 _ => None,
1503 }
1504 }
1505}
1506#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1508#[repr(i32)]
1509pub enum ScheduleQueryOrder {
1510 Unspecified = 0,
1512 CreatedAtAsc = 1,
1514 CreatedAtDesc = 2,
1516}
1517impl ScheduleQueryOrder {
1518 pub fn as_str_name(&self) -> &'static str {
1523 match self {
1524 Self::Unspecified => "SCHEDULE_QUERY_ORDER_UNSPECIFIED",
1525 Self::CreatedAtAsc => "SCHEDULE_QUERY_ORDER_CREATED_AT_ASC",
1526 Self::CreatedAtDesc => "SCHEDULE_QUERY_ORDER_CREATED_AT_DESC",
1527 }
1528 }
1529 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1531 match value {
1532 "SCHEDULE_QUERY_ORDER_UNSPECIFIED" => Some(Self::Unspecified),
1533 "SCHEDULE_QUERY_ORDER_CREATED_AT_ASC" => Some(Self::CreatedAtAsc),
1534 "SCHEDULE_QUERY_ORDER_CREATED_AT_DESC" => Some(Self::CreatedAtDesc),
1535 _ => None,
1536 }
1537 }
1538}
1539#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1540#[repr(i32)]
1541pub enum LabelFilterExistCondition {
1542 Unspecified = 0,
1544 Exists = 1,
1546}
1547impl LabelFilterExistCondition {
1548 pub fn as_str_name(&self) -> &'static str {
1553 match self {
1554 Self::Unspecified => "LABEL_FILTER_EXIST_CONDITION_UNSPECIFIED",
1555 Self::Exists => "LABEL_FILTER_EXIST_CONDITION_EXISTS",
1556 }
1557 }
1558 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1560 match value {
1561 "LABEL_FILTER_EXIST_CONDITION_UNSPECIFIED" => Some(Self::Unspecified),
1562 "LABEL_FILTER_EXIST_CONDITION_EXISTS" => Some(Self::Exists),
1563 _ => None,
1564 }
1565 }
1566}
1567pub mod admin_service_client {
1569 #![allow(
1570 unused_variables,
1571 dead_code,
1572 missing_docs,
1573 clippy::wildcard_imports,
1574 clippy::let_unit_value,
1575 )]
1576 use tonic::codegen::*;
1577 use tonic::codegen::http::Uri;
1578 #[derive(Debug, Clone)]
1580 pub struct AdminServiceClient<T> {
1581 inner: tonic::client::Grpc<T>,
1582 }
1583 impl AdminServiceClient<tonic::transport::Channel> {
1584 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1586 where
1587 D: TryInto<tonic::transport::Endpoint>,
1588 D::Error: Into<StdError>,
1589 {
1590 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1591 Ok(Self::new(conn))
1592 }
1593 }
1594 impl<T> AdminServiceClient<T>
1595 where
1596 T: tonic::client::GrpcService<tonic::body::BoxBody>,
1597 T::Error: Into<StdError>,
1598 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1599 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1600 {
1601 pub fn new(inner: T) -> Self {
1602 let inner = tonic::client::Grpc::new(inner);
1603 Self { inner }
1604 }
1605 pub fn with_origin(inner: T, origin: Uri) -> Self {
1606 let inner = tonic::client::Grpc::with_origin(inner, origin);
1607 Self { inner }
1608 }
1609 pub fn with_interceptor<F>(
1610 inner: T,
1611 interceptor: F,
1612 ) -> AdminServiceClient<InterceptedService<T, F>>
1613 where
1614 F: tonic::service::Interceptor,
1615 T::ResponseBody: Default,
1616 T: tonic::codegen::Service<
1617 http::Request<tonic::body::BoxBody>,
1618 Response = http::Response<
1619 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1620 >,
1621 >,
1622 <T as tonic::codegen::Service<
1623 http::Request<tonic::body::BoxBody>,
1624 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1625 {
1626 AdminServiceClient::new(InterceptedService::new(inner, interceptor))
1627 }
1628 #[must_use]
1633 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1634 self.inner = self.inner.send_compressed(encoding);
1635 self
1636 }
1637 #[must_use]
1639 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1640 self.inner = self.inner.accept_compressed(encoding);
1641 self
1642 }
1643 #[must_use]
1647 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1648 self.inner = self.inner.max_decoding_message_size(limit);
1649 self
1650 }
1651 #[must_use]
1655 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1656 self.inner = self.inner.max_encoding_message_size(limit);
1657 self
1658 }
1659 pub async fn add_jobs(
1661 &mut self,
1662 request: impl tonic::IntoRequest<super::AddJobsRequest>,
1663 ) -> std::result::Result<
1664 tonic::Response<super::AddJobsResponse>,
1665 tonic::Status,
1666 > {
1667 self.inner
1668 .ready()
1669 .await
1670 .map_err(|e| {
1671 tonic::Status::unknown(
1672 format!("Service was not ready: {}", e.into()),
1673 )
1674 })?;
1675 let codec = tonic::codec::ProstCodec::default();
1676 let path = http::uri::PathAndQuery::from_static(
1677 "/ora.server.v1.AdminService/AddJobs",
1678 );
1679 let mut req = request.into_request();
1680 req.extensions_mut()
1681 .insert(GrpcMethod::new("ora.server.v1.AdminService", "AddJobs"));
1682 self.inner.unary(req, path, codec).await
1683 }
1684 pub async fn list_jobs(
1686 &mut self,
1687 request: impl tonic::IntoRequest<super::ListJobsRequest>,
1688 ) -> std::result::Result<
1689 tonic::Response<super::ListJobsResponse>,
1690 tonic::Status,
1691 > {
1692 self.inner
1693 .ready()
1694 .await
1695 .map_err(|e| {
1696 tonic::Status::unknown(
1697 format!("Service was not ready: {}", e.into()),
1698 )
1699 })?;
1700 let codec = tonic::codec::ProstCodec::default();
1701 let path = http::uri::PathAndQuery::from_static(
1702 "/ora.server.v1.AdminService/ListJobs",
1703 );
1704 let mut req = request.into_request();
1705 req.extensions_mut()
1706 .insert(GrpcMethod::new("ora.server.v1.AdminService", "ListJobs"));
1707 self.inner.unary(req, path, codec).await
1708 }
1709 pub async fn count_jobs(
1711 &mut self,
1712 request: impl tonic::IntoRequest<super::CountJobsRequest>,
1713 ) -> std::result::Result<
1714 tonic::Response<super::CountJobsResponse>,
1715 tonic::Status,
1716 > {
1717 self.inner
1718 .ready()
1719 .await
1720 .map_err(|e| {
1721 tonic::Status::unknown(
1722 format!("Service was not ready: {}", e.into()),
1723 )
1724 })?;
1725 let codec = tonic::codec::ProstCodec::default();
1726 let path = http::uri::PathAndQuery::from_static(
1727 "/ora.server.v1.AdminService/CountJobs",
1728 );
1729 let mut req = request.into_request();
1730 req.extensions_mut()
1731 .insert(GrpcMethod::new("ora.server.v1.AdminService", "CountJobs"));
1732 self.inner.unary(req, path, codec).await
1733 }
1734 pub async fn list_job_types(
1736 &mut self,
1737 request: impl tonic::IntoRequest<super::ListJobTypesRequest>,
1738 ) -> std::result::Result<
1739 tonic::Response<super::ListJobTypesResponse>,
1740 tonic::Status,
1741 > {
1742 self.inner
1743 .ready()
1744 .await
1745 .map_err(|e| {
1746 tonic::Status::unknown(
1747 format!("Service was not ready: {}", e.into()),
1748 )
1749 })?;
1750 let codec = tonic::codec::ProstCodec::default();
1751 let path = http::uri::PathAndQuery::from_static(
1752 "/ora.server.v1.AdminService/ListJobTypes",
1753 );
1754 let mut req = request.into_request();
1755 req.extensions_mut()
1756 .insert(GrpcMethod::new("ora.server.v1.AdminService", "ListJobTypes"));
1757 self.inner.unary(req, path, codec).await
1758 }
1759 pub async fn cancel_jobs(
1761 &mut self,
1762 request: impl tonic::IntoRequest<super::CancelJobsRequest>,
1763 ) -> std::result::Result<
1764 tonic::Response<super::CancelJobsResponse>,
1765 tonic::Status,
1766 > {
1767 self.inner
1768 .ready()
1769 .await
1770 .map_err(|e| {
1771 tonic::Status::unknown(
1772 format!("Service was not ready: {}", e.into()),
1773 )
1774 })?;
1775 let codec = tonic::codec::ProstCodec::default();
1776 let path = http::uri::PathAndQuery::from_static(
1777 "/ora.server.v1.AdminService/CancelJobs",
1778 );
1779 let mut req = request.into_request();
1780 req.extensions_mut()
1781 .insert(GrpcMethod::new("ora.server.v1.AdminService", "CancelJobs"));
1782 self.inner.unary(req, path, codec).await
1783 }
1784 pub async fn delete_inactive_jobs(
1786 &mut self,
1787 request: impl tonic::IntoRequest<super::DeleteInactiveJobsRequest>,
1788 ) -> std::result::Result<
1789 tonic::Response<super::DeleteInactiveJobsResponse>,
1790 tonic::Status,
1791 > {
1792 self.inner
1793 .ready()
1794 .await
1795 .map_err(|e| {
1796 tonic::Status::unknown(
1797 format!("Service was not ready: {}", e.into()),
1798 )
1799 })?;
1800 let codec = tonic::codec::ProstCodec::default();
1801 let path = http::uri::PathAndQuery::from_static(
1802 "/ora.server.v1.AdminService/DeleteInactiveJobs",
1803 );
1804 let mut req = request.into_request();
1805 req.extensions_mut()
1806 .insert(
1807 GrpcMethod::new("ora.server.v1.AdminService", "DeleteInactiveJobs"),
1808 );
1809 self.inner.unary(req, path, codec).await
1810 }
1811 pub async fn list_executors(
1813 &mut self,
1814 request: impl tonic::IntoRequest<super::ListExecutorsRequest>,
1815 ) -> std::result::Result<
1816 tonic::Response<super::ListExecutorsResponse>,
1817 tonic::Status,
1818 > {
1819 self.inner
1820 .ready()
1821 .await
1822 .map_err(|e| {
1823 tonic::Status::unknown(
1824 format!("Service was not ready: {}", e.into()),
1825 )
1826 })?;
1827 let codec = tonic::codec::ProstCodec::default();
1828 let path = http::uri::PathAndQuery::from_static(
1829 "/ora.server.v1.AdminService/ListExecutors",
1830 );
1831 let mut req = request.into_request();
1832 req.extensions_mut()
1833 .insert(GrpcMethod::new("ora.server.v1.AdminService", "ListExecutors"));
1834 self.inner.unary(req, path, codec).await
1835 }
1836 pub async fn create_schedules(
1838 &mut self,
1839 request: impl tonic::IntoRequest<super::CreateSchedulesRequest>,
1840 ) -> std::result::Result<
1841 tonic::Response<super::CreateSchedulesResponse>,
1842 tonic::Status,
1843 > {
1844 self.inner
1845 .ready()
1846 .await
1847 .map_err(|e| {
1848 tonic::Status::unknown(
1849 format!("Service was not ready: {}", e.into()),
1850 )
1851 })?;
1852 let codec = tonic::codec::ProstCodec::default();
1853 let path = http::uri::PathAndQuery::from_static(
1854 "/ora.server.v1.AdminService/CreateSchedules",
1855 );
1856 let mut req = request.into_request();
1857 req.extensions_mut()
1858 .insert(
1859 GrpcMethod::new("ora.server.v1.AdminService", "CreateSchedules"),
1860 );
1861 self.inner.unary(req, path, codec).await
1862 }
1863 pub async fn list_schedules(
1865 &mut self,
1866 request: impl tonic::IntoRequest<super::ListSchedulesRequest>,
1867 ) -> std::result::Result<
1868 tonic::Response<super::ListSchedulesResponse>,
1869 tonic::Status,
1870 > {
1871 self.inner
1872 .ready()
1873 .await
1874 .map_err(|e| {
1875 tonic::Status::unknown(
1876 format!("Service was not ready: {}", e.into()),
1877 )
1878 })?;
1879 let codec = tonic::codec::ProstCodec::default();
1880 let path = http::uri::PathAndQuery::from_static(
1881 "/ora.server.v1.AdminService/ListSchedules",
1882 );
1883 let mut req = request.into_request();
1884 req.extensions_mut()
1885 .insert(GrpcMethod::new("ora.server.v1.AdminService", "ListSchedules"));
1886 self.inner.unary(req, path, codec).await
1887 }
1888 pub async fn count_schedules(
1890 &mut self,
1891 request: impl tonic::IntoRequest<super::CountSchedulesRequest>,
1892 ) -> std::result::Result<
1893 tonic::Response<super::CountSchedulesResponse>,
1894 tonic::Status,
1895 > {
1896 self.inner
1897 .ready()
1898 .await
1899 .map_err(|e| {
1900 tonic::Status::unknown(
1901 format!("Service was not ready: {}", e.into()),
1902 )
1903 })?;
1904 let codec = tonic::codec::ProstCodec::default();
1905 let path = http::uri::PathAndQuery::from_static(
1906 "/ora.server.v1.AdminService/CountSchedules",
1907 );
1908 let mut req = request.into_request();
1909 req.extensions_mut()
1910 .insert(GrpcMethod::new("ora.server.v1.AdminService", "CountSchedules"));
1911 self.inner.unary(req, path, codec).await
1912 }
1913 pub async fn cancel_schedules(
1915 &mut self,
1916 request: impl tonic::IntoRequest<super::CancelSchedulesRequest>,
1917 ) -> std::result::Result<
1918 tonic::Response<super::CancelSchedulesResponse>,
1919 tonic::Status,
1920 > {
1921 self.inner
1922 .ready()
1923 .await
1924 .map_err(|e| {
1925 tonic::Status::unknown(
1926 format!("Service was not ready: {}", e.into()),
1927 )
1928 })?;
1929 let codec = tonic::codec::ProstCodec::default();
1930 let path = http::uri::PathAndQuery::from_static(
1931 "/ora.server.v1.AdminService/CancelSchedules",
1932 );
1933 let mut req = request.into_request();
1934 req.extensions_mut()
1935 .insert(
1936 GrpcMethod::new("ora.server.v1.AdminService", "CancelSchedules"),
1937 );
1938 self.inner.unary(req, path, codec).await
1939 }
1940 pub async fn delete_inactive_schedules(
1942 &mut self,
1943 request: impl tonic::IntoRequest<super::DeleteInactiveSchedulesRequest>,
1944 ) -> std::result::Result<
1945 tonic::Response<super::DeleteInactiveSchedulesResponse>,
1946 tonic::Status,
1947 > {
1948 self.inner
1949 .ready()
1950 .await
1951 .map_err(|e| {
1952 tonic::Status::unknown(
1953 format!("Service was not ready: {}", e.into()),
1954 )
1955 })?;
1956 let codec = tonic::codec::ProstCodec::default();
1957 let path = http::uri::PathAndQuery::from_static(
1958 "/ora.server.v1.AdminService/DeleteInactiveSchedules",
1959 );
1960 let mut req = request.into_request();
1961 req.extensions_mut()
1962 .insert(
1963 GrpcMethod::new(
1964 "ora.server.v1.AdminService",
1965 "DeleteInactiveSchedules",
1966 ),
1967 );
1968 self.inner.unary(req, path, codec).await
1969 }
1970 }
1971}
1972pub mod admin_service_server {
1974 #![allow(
1975 unused_variables,
1976 dead_code,
1977 missing_docs,
1978 clippy::wildcard_imports,
1979 clippy::let_unit_value,
1980 )]
1981 use tonic::codegen::*;
1982 #[async_trait]
1984 pub trait AdminService: std::marker::Send + std::marker::Sync + 'static {
1985 async fn add_jobs(
1987 &self,
1988 request: tonic::Request<super::AddJobsRequest>,
1989 ) -> std::result::Result<
1990 tonic::Response<super::AddJobsResponse>,
1991 tonic::Status,
1992 > {
1993 Err(tonic::Status::unimplemented("Not yet implemented"))
1994 }
1995 async fn list_jobs(
1997 &self,
1998 request: tonic::Request<super::ListJobsRequest>,
1999 ) -> std::result::Result<
2000 tonic::Response<super::ListJobsResponse>,
2001 tonic::Status,
2002 > {
2003 Err(tonic::Status::unimplemented("Not yet implemented"))
2004 }
2005 async fn count_jobs(
2007 &self,
2008 request: tonic::Request<super::CountJobsRequest>,
2009 ) -> std::result::Result<
2010 tonic::Response<super::CountJobsResponse>,
2011 tonic::Status,
2012 > {
2013 Err(tonic::Status::unimplemented("Not yet implemented"))
2014 }
2015 async fn list_job_types(
2017 &self,
2018 request: tonic::Request<super::ListJobTypesRequest>,
2019 ) -> std::result::Result<
2020 tonic::Response<super::ListJobTypesResponse>,
2021 tonic::Status,
2022 > {
2023 Err(tonic::Status::unimplemented("Not yet implemented"))
2024 }
2025 async fn cancel_jobs(
2027 &self,
2028 request: tonic::Request<super::CancelJobsRequest>,
2029 ) -> std::result::Result<
2030 tonic::Response<super::CancelJobsResponse>,
2031 tonic::Status,
2032 > {
2033 Err(tonic::Status::unimplemented("Not yet implemented"))
2034 }
2035 async fn delete_inactive_jobs(
2037 &self,
2038 request: tonic::Request<super::DeleteInactiveJobsRequest>,
2039 ) -> std::result::Result<
2040 tonic::Response<super::DeleteInactiveJobsResponse>,
2041 tonic::Status,
2042 > {
2043 Err(tonic::Status::unimplemented("Not yet implemented"))
2044 }
2045 async fn list_executors(
2047 &self,
2048 request: tonic::Request<super::ListExecutorsRequest>,
2049 ) -> std::result::Result<
2050 tonic::Response<super::ListExecutorsResponse>,
2051 tonic::Status,
2052 > {
2053 Err(tonic::Status::unimplemented("Not yet implemented"))
2054 }
2055 async fn create_schedules(
2057 &self,
2058 request: tonic::Request<super::CreateSchedulesRequest>,
2059 ) -> std::result::Result<
2060 tonic::Response<super::CreateSchedulesResponse>,
2061 tonic::Status,
2062 > {
2063 Err(tonic::Status::unimplemented("Not yet implemented"))
2064 }
2065 async fn list_schedules(
2067 &self,
2068 request: tonic::Request<super::ListSchedulesRequest>,
2069 ) -> std::result::Result<
2070 tonic::Response<super::ListSchedulesResponse>,
2071 tonic::Status,
2072 > {
2073 Err(tonic::Status::unimplemented("Not yet implemented"))
2074 }
2075 async fn count_schedules(
2077 &self,
2078 request: tonic::Request<super::CountSchedulesRequest>,
2079 ) -> std::result::Result<
2080 tonic::Response<super::CountSchedulesResponse>,
2081 tonic::Status,
2082 > {
2083 Err(tonic::Status::unimplemented("Not yet implemented"))
2084 }
2085 async fn cancel_schedules(
2087 &self,
2088 request: tonic::Request<super::CancelSchedulesRequest>,
2089 ) -> std::result::Result<
2090 tonic::Response<super::CancelSchedulesResponse>,
2091 tonic::Status,
2092 > {
2093 Err(tonic::Status::unimplemented("Not yet implemented"))
2094 }
2095 async fn delete_inactive_schedules(
2097 &self,
2098 request: tonic::Request<super::DeleteInactiveSchedulesRequest>,
2099 ) -> std::result::Result<
2100 tonic::Response<super::DeleteInactiveSchedulesResponse>,
2101 tonic::Status,
2102 > {
2103 Err(tonic::Status::unimplemented("Not yet implemented"))
2104 }
2105 }
2106 #[derive(Debug)]
2108 pub struct AdminServiceServer<T> {
2109 inner: Arc<T>,
2110 accept_compression_encodings: EnabledCompressionEncodings,
2111 send_compression_encodings: EnabledCompressionEncodings,
2112 max_decoding_message_size: Option<usize>,
2113 max_encoding_message_size: Option<usize>,
2114 }
2115 impl<T> AdminServiceServer<T> {
2116 pub fn new(inner: T) -> Self {
2117 Self::from_arc(Arc::new(inner))
2118 }
2119 pub fn from_arc(inner: Arc<T>) -> Self {
2120 Self {
2121 inner,
2122 accept_compression_encodings: Default::default(),
2123 send_compression_encodings: Default::default(),
2124 max_decoding_message_size: None,
2125 max_encoding_message_size: None,
2126 }
2127 }
2128 pub fn with_interceptor<F>(
2129 inner: T,
2130 interceptor: F,
2131 ) -> InterceptedService<Self, F>
2132 where
2133 F: tonic::service::Interceptor,
2134 {
2135 InterceptedService::new(Self::new(inner), interceptor)
2136 }
2137 #[must_use]
2139 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2140 self.accept_compression_encodings.enable(encoding);
2141 self
2142 }
2143 #[must_use]
2145 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2146 self.send_compression_encodings.enable(encoding);
2147 self
2148 }
2149 #[must_use]
2153 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2154 self.max_decoding_message_size = Some(limit);
2155 self
2156 }
2157 #[must_use]
2161 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2162 self.max_encoding_message_size = Some(limit);
2163 self
2164 }
2165 }
2166 impl<T, B> tonic::codegen::Service<http::Request<B>> for AdminServiceServer<T>
2167 where
2168 T: AdminService,
2169 B: Body + std::marker::Send + 'static,
2170 B::Error: Into<StdError> + std::marker::Send + 'static,
2171 {
2172 type Response = http::Response<tonic::body::BoxBody>;
2173 type Error = std::convert::Infallible;
2174 type Future = BoxFuture<Self::Response, Self::Error>;
2175 fn poll_ready(
2176 &mut self,
2177 _cx: &mut Context<'_>,
2178 ) -> Poll<std::result::Result<(), Self::Error>> {
2179 Poll::Ready(Ok(()))
2180 }
2181 fn call(&mut self, req: http::Request<B>) -> Self::Future {
2182 match req.uri().path() {
2183 "/ora.server.v1.AdminService/AddJobs" => {
2184 #[allow(non_camel_case_types)]
2185 struct AddJobsSvc<T: AdminService>(pub Arc<T>);
2186 impl<
2187 T: AdminService,
2188 > tonic::server::UnaryService<super::AddJobsRequest>
2189 for AddJobsSvc<T> {
2190 type Response = super::AddJobsResponse;
2191 type Future = BoxFuture<
2192 tonic::Response<Self::Response>,
2193 tonic::Status,
2194 >;
2195 fn call(
2196 &mut self,
2197 request: tonic::Request<super::AddJobsRequest>,
2198 ) -> Self::Future {
2199 let inner = Arc::clone(&self.0);
2200 let fut = async move {
2201 <T as AdminService>::add_jobs(&inner, request).await
2202 };
2203 Box::pin(fut)
2204 }
2205 }
2206 let accept_compression_encodings = self.accept_compression_encodings;
2207 let send_compression_encodings = self.send_compression_encodings;
2208 let max_decoding_message_size = self.max_decoding_message_size;
2209 let max_encoding_message_size = self.max_encoding_message_size;
2210 let inner = self.inner.clone();
2211 let fut = async move {
2212 let method = AddJobsSvc(inner);
2213 let codec = tonic::codec::ProstCodec::default();
2214 let mut grpc = tonic::server::Grpc::new(codec)
2215 .apply_compression_config(
2216 accept_compression_encodings,
2217 send_compression_encodings,
2218 )
2219 .apply_max_message_size_config(
2220 max_decoding_message_size,
2221 max_encoding_message_size,
2222 );
2223 let res = grpc.unary(method, req).await;
2224 Ok(res)
2225 };
2226 Box::pin(fut)
2227 }
2228 "/ora.server.v1.AdminService/ListJobs" => {
2229 #[allow(non_camel_case_types)]
2230 struct ListJobsSvc<T: AdminService>(pub Arc<T>);
2231 impl<
2232 T: AdminService,
2233 > tonic::server::UnaryService<super::ListJobsRequest>
2234 for ListJobsSvc<T> {
2235 type Response = super::ListJobsResponse;
2236 type Future = BoxFuture<
2237 tonic::Response<Self::Response>,
2238 tonic::Status,
2239 >;
2240 fn call(
2241 &mut self,
2242 request: tonic::Request<super::ListJobsRequest>,
2243 ) -> Self::Future {
2244 let inner = Arc::clone(&self.0);
2245 let fut = async move {
2246 <T as AdminService>::list_jobs(&inner, request).await
2247 };
2248 Box::pin(fut)
2249 }
2250 }
2251 let accept_compression_encodings = self.accept_compression_encodings;
2252 let send_compression_encodings = self.send_compression_encodings;
2253 let max_decoding_message_size = self.max_decoding_message_size;
2254 let max_encoding_message_size = self.max_encoding_message_size;
2255 let inner = self.inner.clone();
2256 let fut = async move {
2257 let method = ListJobsSvc(inner);
2258 let codec = tonic::codec::ProstCodec::default();
2259 let mut grpc = tonic::server::Grpc::new(codec)
2260 .apply_compression_config(
2261 accept_compression_encodings,
2262 send_compression_encodings,
2263 )
2264 .apply_max_message_size_config(
2265 max_decoding_message_size,
2266 max_encoding_message_size,
2267 );
2268 let res = grpc.unary(method, req).await;
2269 Ok(res)
2270 };
2271 Box::pin(fut)
2272 }
2273 "/ora.server.v1.AdminService/CountJobs" => {
2274 #[allow(non_camel_case_types)]
2275 struct CountJobsSvc<T: AdminService>(pub Arc<T>);
2276 impl<
2277 T: AdminService,
2278 > tonic::server::UnaryService<super::CountJobsRequest>
2279 for CountJobsSvc<T> {
2280 type Response = super::CountJobsResponse;
2281 type Future = BoxFuture<
2282 tonic::Response<Self::Response>,
2283 tonic::Status,
2284 >;
2285 fn call(
2286 &mut self,
2287 request: tonic::Request<super::CountJobsRequest>,
2288 ) -> Self::Future {
2289 let inner = Arc::clone(&self.0);
2290 let fut = async move {
2291 <T as AdminService>::count_jobs(&inner, request).await
2292 };
2293 Box::pin(fut)
2294 }
2295 }
2296 let accept_compression_encodings = self.accept_compression_encodings;
2297 let send_compression_encodings = self.send_compression_encodings;
2298 let max_decoding_message_size = self.max_decoding_message_size;
2299 let max_encoding_message_size = self.max_encoding_message_size;
2300 let inner = self.inner.clone();
2301 let fut = async move {
2302 let method = CountJobsSvc(inner);
2303 let codec = tonic::codec::ProstCodec::default();
2304 let mut grpc = tonic::server::Grpc::new(codec)
2305 .apply_compression_config(
2306 accept_compression_encodings,
2307 send_compression_encodings,
2308 )
2309 .apply_max_message_size_config(
2310 max_decoding_message_size,
2311 max_encoding_message_size,
2312 );
2313 let res = grpc.unary(method, req).await;
2314 Ok(res)
2315 };
2316 Box::pin(fut)
2317 }
2318 "/ora.server.v1.AdminService/ListJobTypes" => {
2319 #[allow(non_camel_case_types)]
2320 struct ListJobTypesSvc<T: AdminService>(pub Arc<T>);
2321 impl<
2322 T: AdminService,
2323 > tonic::server::UnaryService<super::ListJobTypesRequest>
2324 for ListJobTypesSvc<T> {
2325 type Response = super::ListJobTypesResponse;
2326 type Future = BoxFuture<
2327 tonic::Response<Self::Response>,
2328 tonic::Status,
2329 >;
2330 fn call(
2331 &mut self,
2332 request: tonic::Request<super::ListJobTypesRequest>,
2333 ) -> Self::Future {
2334 let inner = Arc::clone(&self.0);
2335 let fut = async move {
2336 <T as AdminService>::list_job_types(&inner, request).await
2337 };
2338 Box::pin(fut)
2339 }
2340 }
2341 let accept_compression_encodings = self.accept_compression_encodings;
2342 let send_compression_encodings = self.send_compression_encodings;
2343 let max_decoding_message_size = self.max_decoding_message_size;
2344 let max_encoding_message_size = self.max_encoding_message_size;
2345 let inner = self.inner.clone();
2346 let fut = async move {
2347 let method = ListJobTypesSvc(inner);
2348 let codec = tonic::codec::ProstCodec::default();
2349 let mut grpc = tonic::server::Grpc::new(codec)
2350 .apply_compression_config(
2351 accept_compression_encodings,
2352 send_compression_encodings,
2353 )
2354 .apply_max_message_size_config(
2355 max_decoding_message_size,
2356 max_encoding_message_size,
2357 );
2358 let res = grpc.unary(method, req).await;
2359 Ok(res)
2360 };
2361 Box::pin(fut)
2362 }
2363 "/ora.server.v1.AdminService/CancelJobs" => {
2364 #[allow(non_camel_case_types)]
2365 struct CancelJobsSvc<T: AdminService>(pub Arc<T>);
2366 impl<
2367 T: AdminService,
2368 > tonic::server::UnaryService<super::CancelJobsRequest>
2369 for CancelJobsSvc<T> {
2370 type Response = super::CancelJobsResponse;
2371 type Future = BoxFuture<
2372 tonic::Response<Self::Response>,
2373 tonic::Status,
2374 >;
2375 fn call(
2376 &mut self,
2377 request: tonic::Request<super::CancelJobsRequest>,
2378 ) -> Self::Future {
2379 let inner = Arc::clone(&self.0);
2380 let fut = async move {
2381 <T as AdminService>::cancel_jobs(&inner, request).await
2382 };
2383 Box::pin(fut)
2384 }
2385 }
2386 let accept_compression_encodings = self.accept_compression_encodings;
2387 let send_compression_encodings = self.send_compression_encodings;
2388 let max_decoding_message_size = self.max_decoding_message_size;
2389 let max_encoding_message_size = self.max_encoding_message_size;
2390 let inner = self.inner.clone();
2391 let fut = async move {
2392 let method = CancelJobsSvc(inner);
2393 let codec = tonic::codec::ProstCodec::default();
2394 let mut grpc = tonic::server::Grpc::new(codec)
2395 .apply_compression_config(
2396 accept_compression_encodings,
2397 send_compression_encodings,
2398 )
2399 .apply_max_message_size_config(
2400 max_decoding_message_size,
2401 max_encoding_message_size,
2402 );
2403 let res = grpc.unary(method, req).await;
2404 Ok(res)
2405 };
2406 Box::pin(fut)
2407 }
2408 "/ora.server.v1.AdminService/DeleteInactiveJobs" => {
2409 #[allow(non_camel_case_types)]
2410 struct DeleteInactiveJobsSvc<T: AdminService>(pub Arc<T>);
2411 impl<
2412 T: AdminService,
2413 > tonic::server::UnaryService<super::DeleteInactiveJobsRequest>
2414 for DeleteInactiveJobsSvc<T> {
2415 type Response = super::DeleteInactiveJobsResponse;
2416 type Future = BoxFuture<
2417 tonic::Response<Self::Response>,
2418 tonic::Status,
2419 >;
2420 fn call(
2421 &mut self,
2422 request: tonic::Request<super::DeleteInactiveJobsRequest>,
2423 ) -> Self::Future {
2424 let inner = Arc::clone(&self.0);
2425 let fut = async move {
2426 <T as AdminService>::delete_inactive_jobs(&inner, request)
2427 .await
2428 };
2429 Box::pin(fut)
2430 }
2431 }
2432 let accept_compression_encodings = self.accept_compression_encodings;
2433 let send_compression_encodings = self.send_compression_encodings;
2434 let max_decoding_message_size = self.max_decoding_message_size;
2435 let max_encoding_message_size = self.max_encoding_message_size;
2436 let inner = self.inner.clone();
2437 let fut = async move {
2438 let method = DeleteInactiveJobsSvc(inner);
2439 let codec = tonic::codec::ProstCodec::default();
2440 let mut grpc = tonic::server::Grpc::new(codec)
2441 .apply_compression_config(
2442 accept_compression_encodings,
2443 send_compression_encodings,
2444 )
2445 .apply_max_message_size_config(
2446 max_decoding_message_size,
2447 max_encoding_message_size,
2448 );
2449 let res = grpc.unary(method, req).await;
2450 Ok(res)
2451 };
2452 Box::pin(fut)
2453 }
2454 "/ora.server.v1.AdminService/ListExecutors" => {
2455 #[allow(non_camel_case_types)]
2456 struct ListExecutorsSvc<T: AdminService>(pub Arc<T>);
2457 impl<
2458 T: AdminService,
2459 > tonic::server::UnaryService<super::ListExecutorsRequest>
2460 for ListExecutorsSvc<T> {
2461 type Response = super::ListExecutorsResponse;
2462 type Future = BoxFuture<
2463 tonic::Response<Self::Response>,
2464 tonic::Status,
2465 >;
2466 fn call(
2467 &mut self,
2468 request: tonic::Request<super::ListExecutorsRequest>,
2469 ) -> Self::Future {
2470 let inner = Arc::clone(&self.0);
2471 let fut = async move {
2472 <T as AdminService>::list_executors(&inner, request).await
2473 };
2474 Box::pin(fut)
2475 }
2476 }
2477 let accept_compression_encodings = self.accept_compression_encodings;
2478 let send_compression_encodings = self.send_compression_encodings;
2479 let max_decoding_message_size = self.max_decoding_message_size;
2480 let max_encoding_message_size = self.max_encoding_message_size;
2481 let inner = self.inner.clone();
2482 let fut = async move {
2483 let method = ListExecutorsSvc(inner);
2484 let codec = tonic::codec::ProstCodec::default();
2485 let mut grpc = tonic::server::Grpc::new(codec)
2486 .apply_compression_config(
2487 accept_compression_encodings,
2488 send_compression_encodings,
2489 )
2490 .apply_max_message_size_config(
2491 max_decoding_message_size,
2492 max_encoding_message_size,
2493 );
2494 let res = grpc.unary(method, req).await;
2495 Ok(res)
2496 };
2497 Box::pin(fut)
2498 }
2499 "/ora.server.v1.AdminService/CreateSchedules" => {
2500 #[allow(non_camel_case_types)]
2501 struct CreateSchedulesSvc<T: AdminService>(pub Arc<T>);
2502 impl<
2503 T: AdminService,
2504 > tonic::server::UnaryService<super::CreateSchedulesRequest>
2505 for CreateSchedulesSvc<T> {
2506 type Response = super::CreateSchedulesResponse;
2507 type Future = BoxFuture<
2508 tonic::Response<Self::Response>,
2509 tonic::Status,
2510 >;
2511 fn call(
2512 &mut self,
2513 request: tonic::Request<super::CreateSchedulesRequest>,
2514 ) -> Self::Future {
2515 let inner = Arc::clone(&self.0);
2516 let fut = async move {
2517 <T as AdminService>::create_schedules(&inner, request).await
2518 };
2519 Box::pin(fut)
2520 }
2521 }
2522 let accept_compression_encodings = self.accept_compression_encodings;
2523 let send_compression_encodings = self.send_compression_encodings;
2524 let max_decoding_message_size = self.max_decoding_message_size;
2525 let max_encoding_message_size = self.max_encoding_message_size;
2526 let inner = self.inner.clone();
2527 let fut = async move {
2528 let method = CreateSchedulesSvc(inner);
2529 let codec = tonic::codec::ProstCodec::default();
2530 let mut grpc = tonic::server::Grpc::new(codec)
2531 .apply_compression_config(
2532 accept_compression_encodings,
2533 send_compression_encodings,
2534 )
2535 .apply_max_message_size_config(
2536 max_decoding_message_size,
2537 max_encoding_message_size,
2538 );
2539 let res = grpc.unary(method, req).await;
2540 Ok(res)
2541 };
2542 Box::pin(fut)
2543 }
2544 "/ora.server.v1.AdminService/ListSchedules" => {
2545 #[allow(non_camel_case_types)]
2546 struct ListSchedulesSvc<T: AdminService>(pub Arc<T>);
2547 impl<
2548 T: AdminService,
2549 > tonic::server::UnaryService<super::ListSchedulesRequest>
2550 for ListSchedulesSvc<T> {
2551 type Response = super::ListSchedulesResponse;
2552 type Future = BoxFuture<
2553 tonic::Response<Self::Response>,
2554 tonic::Status,
2555 >;
2556 fn call(
2557 &mut self,
2558 request: tonic::Request<super::ListSchedulesRequest>,
2559 ) -> Self::Future {
2560 let inner = Arc::clone(&self.0);
2561 let fut = async move {
2562 <T as AdminService>::list_schedules(&inner, request).await
2563 };
2564 Box::pin(fut)
2565 }
2566 }
2567 let accept_compression_encodings = self.accept_compression_encodings;
2568 let send_compression_encodings = self.send_compression_encodings;
2569 let max_decoding_message_size = self.max_decoding_message_size;
2570 let max_encoding_message_size = self.max_encoding_message_size;
2571 let inner = self.inner.clone();
2572 let fut = async move {
2573 let method = ListSchedulesSvc(inner);
2574 let codec = tonic::codec::ProstCodec::default();
2575 let mut grpc = tonic::server::Grpc::new(codec)
2576 .apply_compression_config(
2577 accept_compression_encodings,
2578 send_compression_encodings,
2579 )
2580 .apply_max_message_size_config(
2581 max_decoding_message_size,
2582 max_encoding_message_size,
2583 );
2584 let res = grpc.unary(method, req).await;
2585 Ok(res)
2586 };
2587 Box::pin(fut)
2588 }
2589 "/ora.server.v1.AdminService/CountSchedules" => {
2590 #[allow(non_camel_case_types)]
2591 struct CountSchedulesSvc<T: AdminService>(pub Arc<T>);
2592 impl<
2593 T: AdminService,
2594 > tonic::server::UnaryService<super::CountSchedulesRequest>
2595 for CountSchedulesSvc<T> {
2596 type Response = super::CountSchedulesResponse;
2597 type Future = BoxFuture<
2598 tonic::Response<Self::Response>,
2599 tonic::Status,
2600 >;
2601 fn call(
2602 &mut self,
2603 request: tonic::Request<super::CountSchedulesRequest>,
2604 ) -> Self::Future {
2605 let inner = Arc::clone(&self.0);
2606 let fut = async move {
2607 <T as AdminService>::count_schedules(&inner, request).await
2608 };
2609 Box::pin(fut)
2610 }
2611 }
2612 let accept_compression_encodings = self.accept_compression_encodings;
2613 let send_compression_encodings = self.send_compression_encodings;
2614 let max_decoding_message_size = self.max_decoding_message_size;
2615 let max_encoding_message_size = self.max_encoding_message_size;
2616 let inner = self.inner.clone();
2617 let fut = async move {
2618 let method = CountSchedulesSvc(inner);
2619 let codec = tonic::codec::ProstCodec::default();
2620 let mut grpc = tonic::server::Grpc::new(codec)
2621 .apply_compression_config(
2622 accept_compression_encodings,
2623 send_compression_encodings,
2624 )
2625 .apply_max_message_size_config(
2626 max_decoding_message_size,
2627 max_encoding_message_size,
2628 );
2629 let res = grpc.unary(method, req).await;
2630 Ok(res)
2631 };
2632 Box::pin(fut)
2633 }
2634 "/ora.server.v1.AdminService/CancelSchedules" => {
2635 #[allow(non_camel_case_types)]
2636 struct CancelSchedulesSvc<T: AdminService>(pub Arc<T>);
2637 impl<
2638 T: AdminService,
2639 > tonic::server::UnaryService<super::CancelSchedulesRequest>
2640 for CancelSchedulesSvc<T> {
2641 type Response = super::CancelSchedulesResponse;
2642 type Future = BoxFuture<
2643 tonic::Response<Self::Response>,
2644 tonic::Status,
2645 >;
2646 fn call(
2647 &mut self,
2648 request: tonic::Request<super::CancelSchedulesRequest>,
2649 ) -> Self::Future {
2650 let inner = Arc::clone(&self.0);
2651 let fut = async move {
2652 <T as AdminService>::cancel_schedules(&inner, request).await
2653 };
2654 Box::pin(fut)
2655 }
2656 }
2657 let accept_compression_encodings = self.accept_compression_encodings;
2658 let send_compression_encodings = self.send_compression_encodings;
2659 let max_decoding_message_size = self.max_decoding_message_size;
2660 let max_encoding_message_size = self.max_encoding_message_size;
2661 let inner = self.inner.clone();
2662 let fut = async move {
2663 let method = CancelSchedulesSvc(inner);
2664 let codec = tonic::codec::ProstCodec::default();
2665 let mut grpc = tonic::server::Grpc::new(codec)
2666 .apply_compression_config(
2667 accept_compression_encodings,
2668 send_compression_encodings,
2669 )
2670 .apply_max_message_size_config(
2671 max_decoding_message_size,
2672 max_encoding_message_size,
2673 );
2674 let res = grpc.unary(method, req).await;
2675 Ok(res)
2676 };
2677 Box::pin(fut)
2678 }
2679 "/ora.server.v1.AdminService/DeleteInactiveSchedules" => {
2680 #[allow(non_camel_case_types)]
2681 struct DeleteInactiveSchedulesSvc<T: AdminService>(pub Arc<T>);
2682 impl<
2683 T: AdminService,
2684 > tonic::server::UnaryService<super::DeleteInactiveSchedulesRequest>
2685 for DeleteInactiveSchedulesSvc<T> {
2686 type Response = super::DeleteInactiveSchedulesResponse;
2687 type Future = BoxFuture<
2688 tonic::Response<Self::Response>,
2689 tonic::Status,
2690 >;
2691 fn call(
2692 &mut self,
2693 request: tonic::Request<
2694 super::DeleteInactiveSchedulesRequest,
2695 >,
2696 ) -> Self::Future {
2697 let inner = Arc::clone(&self.0);
2698 let fut = async move {
2699 <T as AdminService>::delete_inactive_schedules(
2700 &inner,
2701 request,
2702 )
2703 .await
2704 };
2705 Box::pin(fut)
2706 }
2707 }
2708 let accept_compression_encodings = self.accept_compression_encodings;
2709 let send_compression_encodings = self.send_compression_encodings;
2710 let max_decoding_message_size = self.max_decoding_message_size;
2711 let max_encoding_message_size = self.max_encoding_message_size;
2712 let inner = self.inner.clone();
2713 let fut = async move {
2714 let method = DeleteInactiveSchedulesSvc(inner);
2715 let codec = tonic::codec::ProstCodec::default();
2716 let mut grpc = tonic::server::Grpc::new(codec)
2717 .apply_compression_config(
2718 accept_compression_encodings,
2719 send_compression_encodings,
2720 )
2721 .apply_max_message_size_config(
2722 max_decoding_message_size,
2723 max_encoding_message_size,
2724 );
2725 let res = grpc.unary(method, req).await;
2726 Ok(res)
2727 };
2728 Box::pin(fut)
2729 }
2730 _ => {
2731 Box::pin(async move {
2732 let mut response = http::Response::new(empty_body());
2733 let headers = response.headers_mut();
2734 headers
2735 .insert(
2736 tonic::Status::GRPC_STATUS,
2737 (tonic::Code::Unimplemented as i32).into(),
2738 );
2739 headers
2740 .insert(
2741 http::header::CONTENT_TYPE,
2742 tonic::metadata::GRPC_CONTENT_TYPE,
2743 );
2744 Ok(response)
2745 })
2746 }
2747 }
2748 }
2749 }
2750 impl<T> Clone for AdminServiceServer<T> {
2751 fn clone(&self) -> Self {
2752 let inner = self.inner.clone();
2753 Self {
2754 inner,
2755 accept_compression_encodings: self.accept_compression_encodings,
2756 send_compression_encodings: self.send_compression_encodings,
2757 max_decoding_message_size: self.max_decoding_message_size,
2758 max_encoding_message_size: self.max_encoding_message_size,
2759 }
2760 }
2761 }
2762 pub const SERVICE_NAME: &str = "ora.server.v1.AdminService";
2764 impl<T> tonic::server::NamedService for AdminServiceServer<T> {
2765 const NAME: &'static str = SERVICE_NAME;
2766 }
2767}