cx_api/generated/
com.coralogixapis.dashboards.v1.services.rs

1// This file is @generated by prost-build.
2#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5pub struct GetDashboardCatalogRequest {}
6#[derive(serde::Serialize, serde::Deserialize)]
7#[serde(rename_all = "snake_case")]
8#[derive(Clone, PartialEq, ::prost::Message)]
9pub struct GetDashboardCatalogResponse {
10    #[prost(message, repeated, tag = "1")]
11    pub items: ::prost::alloc::vec::Vec<DashboardCatalogItem>,
12}
13#[derive(serde::Serialize, serde::Deserialize)]
14#[serde(rename_all = "snake_case")]
15#[derive(Clone, PartialEq, ::prost::Message)]
16pub struct DashboardCatalogItem {
17    /// Dashboard unique identifier
18    #[prost(message, optional, tag = "1")]
19    pub id: ::core::option::Option<::prost::alloc::string::String>,
20    #[prost(message, optional, tag = "2")]
21    pub name: ::core::option::Option<::prost::alloc::string::String>,
22    #[prost(message, optional, tag = "3")]
23    pub description: ::core::option::Option<::prost::alloc::string::String>,
24    #[prost(message, optional, tag = "4")]
25    pub is_default: ::core::option::Option<bool>,
26    #[prost(message, optional, tag = "5")]
27    pub is_pinned: ::core::option::Option<bool>,
28    #[prost(message, optional, tag = "6")]
29    pub create_time: ::core::option::Option<::prost_wkt_types::Timestamp>,
30    #[prost(message, optional, tag = "7")]
31    pub update_time: ::core::option::Option<::prost_wkt_types::Timestamp>,
32    #[prost(message, optional, tag = "8")]
33    pub folder: ::core::option::Option<super::common::DashboardFolder>,
34    #[prost(message, optional, tag = "9")]
35    pub author_id: ::core::option::Option<::prost::alloc::string::String>,
36    #[prost(message, optional, tag = "10")]
37    pub is_locked: ::core::option::Option<bool>,
38    #[prost(message, optional, tag = "11")]
39    pub locker_author_id: ::core::option::Option<::prost::alloc::string::String>,
40    #[prost(message, optional, tag = "12")]
41    pub slug_name: ::core::option::Option<::prost::alloc::string::String>,
42}
43/// Generated client implementations.
44pub mod dashboard_catalog_service_client {
45    #![allow(
46        unused_variables,
47        dead_code,
48        missing_docs,
49        clippy::wildcard_imports,
50        clippy::let_unit_value,
51    )]
52    use tonic::codegen::*;
53    use tonic::codegen::http::Uri;
54    #[derive(Debug, Clone)]
55    pub struct DashboardCatalogServiceClient<T> {
56        inner: tonic::client::Grpc<T>,
57    }
58    impl DashboardCatalogServiceClient<tonic::transport::Channel> {
59        /// Attempt to create a new client by connecting to a given endpoint.
60        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
61        where
62            D: TryInto<tonic::transport::Endpoint>,
63            D::Error: Into<StdError>,
64        {
65            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
66            Ok(Self::new(conn))
67        }
68    }
69    impl<T> DashboardCatalogServiceClient<T>
70    where
71        T: tonic::client::GrpcService<tonic::body::BoxBody>,
72        T::Error: Into<StdError>,
73        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
74        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
75    {
76        pub fn new(inner: T) -> Self {
77            let inner = tonic::client::Grpc::new(inner);
78            Self { inner }
79        }
80        pub fn with_origin(inner: T, origin: Uri) -> Self {
81            let inner = tonic::client::Grpc::with_origin(inner, origin);
82            Self { inner }
83        }
84        pub fn with_interceptor<F>(
85            inner: T,
86            interceptor: F,
87        ) -> DashboardCatalogServiceClient<InterceptedService<T, F>>
88        where
89            F: tonic::service::Interceptor,
90            T::ResponseBody: Default,
91            T: tonic::codegen::Service<
92                http::Request<tonic::body::BoxBody>,
93                Response = http::Response<
94                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
95                >,
96            >,
97            <T as tonic::codegen::Service<
98                http::Request<tonic::body::BoxBody>,
99            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
100        {
101            DashboardCatalogServiceClient::new(
102                InterceptedService::new(inner, interceptor),
103            )
104        }
105        /// Compress requests with the given encoding.
106        ///
107        /// This requires the server to support it otherwise it might respond with an
108        /// error.
109        #[must_use]
110        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
111            self.inner = self.inner.send_compressed(encoding);
112            self
113        }
114        /// Enable decompressing responses.
115        #[must_use]
116        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
117            self.inner = self.inner.accept_compressed(encoding);
118            self
119        }
120        /// Limits the maximum size of a decoded message.
121        ///
122        /// Default: `4MB`
123        #[must_use]
124        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
125            self.inner = self.inner.max_decoding_message_size(limit);
126            self
127        }
128        /// Limits the maximum size of an encoded message.
129        ///
130        /// Default: `usize::MAX`
131        #[must_use]
132        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
133            self.inner = self.inner.max_encoding_message_size(limit);
134            self
135        }
136        pub async fn get_dashboard_catalog(
137            &mut self,
138            request: impl tonic::IntoRequest<super::GetDashboardCatalogRequest>,
139        ) -> std::result::Result<
140            tonic::Response<super::GetDashboardCatalogResponse>,
141            tonic::Status,
142        > {
143            self.inner
144                .ready()
145                .await
146                .map_err(|e| {
147                    tonic::Status::unknown(
148                        format!("Service was not ready: {}", e.into()),
149                    )
150                })?;
151            let codec = tonic::codec::ProstCodec::default();
152            let path = http::uri::PathAndQuery::from_static(
153                "/com.coralogixapis.dashboards.v1.services.DashboardCatalogService/GetDashboardCatalog",
154            );
155            let mut req = request.into_request();
156            req.extensions_mut()
157                .insert(
158                    GrpcMethod::new(
159                        "com.coralogixapis.dashboards.v1.services.DashboardCatalogService",
160                        "GetDashboardCatalog",
161                    ),
162                );
163            self.inner.unary(req, path, codec).await
164        }
165    }
166}
167#[derive(serde::Serialize, serde::Deserialize)]
168#[serde(rename_all = "snake_case")]
169#[derive(Clone, PartialEq, ::prost::Message)]
170pub struct CreateDashboardFolderRequest {
171    #[prost(message, optional, tag = "1")]
172    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
173    #[prost(message, optional, tag = "2")]
174    pub folder: ::core::option::Option<super::common::DashboardFolder>,
175}
176#[derive(serde::Serialize, serde::Deserialize)]
177#[serde(rename_all = "snake_case")]
178#[derive(Clone, PartialEq, ::prost::Message)]
179pub struct CreateDashboardFolderResponse {
180    #[prost(message, optional, tag = "1")]
181    pub folder_id: ::core::option::Option<::prost::alloc::string::String>,
182}
183#[derive(serde::Serialize, serde::Deserialize)]
184#[serde(rename_all = "snake_case")]
185#[derive(Clone, PartialEq, ::prost::Message)]
186pub struct ReplaceDashboardFolderRequest {
187    #[prost(message, optional, tag = "1")]
188    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
189    #[prost(message, optional, tag = "2")]
190    pub folder: ::core::option::Option<super::common::DashboardFolder>,
191}
192#[derive(serde::Serialize, serde::Deserialize)]
193#[serde(rename_all = "snake_case")]
194#[derive(Clone, Copy, PartialEq, ::prost::Message)]
195pub struct ReplaceDashboardFolderResponse {}
196#[derive(serde::Serialize, serde::Deserialize)]
197#[serde(rename_all = "snake_case")]
198#[derive(Clone, PartialEq, ::prost::Message)]
199pub struct DeleteDashboardFolderRequest {
200    #[prost(message, optional, tag = "1")]
201    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
202    #[prost(message, optional, tag = "2")]
203    pub folder_id: ::core::option::Option<::prost::alloc::string::String>,
204}
205#[derive(serde::Serialize, serde::Deserialize)]
206#[serde(rename_all = "snake_case")]
207#[derive(Clone, Copy, PartialEq, ::prost::Message)]
208pub struct DeleteDashboardFolderResponse {}
209#[derive(serde::Serialize, serde::Deserialize)]
210#[serde(rename_all = "snake_case")]
211#[derive(Clone, Copy, PartialEq, ::prost::Message)]
212pub struct ListDashboardFoldersRequest {}
213#[derive(serde::Serialize, serde::Deserialize)]
214#[serde(rename_all = "snake_case")]
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct ListDashboardFoldersResponse {
217    #[prost(message, repeated, tag = "1")]
218    pub folder: ::prost::alloc::vec::Vec<super::common::DashboardFolder>,
219}
220#[derive(serde::Serialize, serde::Deserialize)]
221#[serde(rename_all = "snake_case")]
222#[derive(Clone, PartialEq, ::prost::Message)]
223pub struct GetDashboardFolderRequest {
224    #[prost(message, optional, tag = "1")]
225    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
226    #[prost(message, optional, tag = "2")]
227    pub folder_id: ::core::option::Option<::prost::alloc::string::String>,
228}
229#[derive(serde::Serialize, serde::Deserialize)]
230#[serde(rename_all = "snake_case")]
231#[derive(Clone, PartialEq, ::prost::Message)]
232pub struct GetDashboardFolderResponse {
233    #[prost(message, optional, tag = "1")]
234    pub folder: ::core::option::Option<super::common::DashboardFolder>,
235}
236/// Generated client implementations.
237pub mod dashboard_folders_service_client {
238    #![allow(
239        unused_variables,
240        dead_code,
241        missing_docs,
242        clippy::wildcard_imports,
243        clippy::let_unit_value,
244    )]
245    use tonic::codegen::*;
246    use tonic::codegen::http::Uri;
247    #[derive(Debug, Clone)]
248    pub struct DashboardFoldersServiceClient<T> {
249        inner: tonic::client::Grpc<T>,
250    }
251    impl DashboardFoldersServiceClient<tonic::transport::Channel> {
252        /// Attempt to create a new client by connecting to a given endpoint.
253        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
254        where
255            D: TryInto<tonic::transport::Endpoint>,
256            D::Error: Into<StdError>,
257        {
258            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
259            Ok(Self::new(conn))
260        }
261    }
262    impl<T> DashboardFoldersServiceClient<T>
263    where
264        T: tonic::client::GrpcService<tonic::body::BoxBody>,
265        T::Error: Into<StdError>,
266        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
267        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
268    {
269        pub fn new(inner: T) -> Self {
270            let inner = tonic::client::Grpc::new(inner);
271            Self { inner }
272        }
273        pub fn with_origin(inner: T, origin: Uri) -> Self {
274            let inner = tonic::client::Grpc::with_origin(inner, origin);
275            Self { inner }
276        }
277        pub fn with_interceptor<F>(
278            inner: T,
279            interceptor: F,
280        ) -> DashboardFoldersServiceClient<InterceptedService<T, F>>
281        where
282            F: tonic::service::Interceptor,
283            T::ResponseBody: Default,
284            T: tonic::codegen::Service<
285                http::Request<tonic::body::BoxBody>,
286                Response = http::Response<
287                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
288                >,
289            >,
290            <T as tonic::codegen::Service<
291                http::Request<tonic::body::BoxBody>,
292            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
293        {
294            DashboardFoldersServiceClient::new(
295                InterceptedService::new(inner, interceptor),
296            )
297        }
298        /// Compress requests with the given encoding.
299        ///
300        /// This requires the server to support it otherwise it might respond with an
301        /// error.
302        #[must_use]
303        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
304            self.inner = self.inner.send_compressed(encoding);
305            self
306        }
307        /// Enable decompressing responses.
308        #[must_use]
309        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
310            self.inner = self.inner.accept_compressed(encoding);
311            self
312        }
313        /// Limits the maximum size of a decoded message.
314        ///
315        /// Default: `4MB`
316        #[must_use]
317        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
318            self.inner = self.inner.max_decoding_message_size(limit);
319            self
320        }
321        /// Limits the maximum size of an encoded message.
322        ///
323        /// Default: `usize::MAX`
324        #[must_use]
325        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
326            self.inner = self.inner.max_encoding_message_size(limit);
327            self
328        }
329        pub async fn list_dashboard_folders(
330            &mut self,
331            request: impl tonic::IntoRequest<super::ListDashboardFoldersRequest>,
332        ) -> std::result::Result<
333            tonic::Response<super::ListDashboardFoldersResponse>,
334            tonic::Status,
335        > {
336            self.inner
337                .ready()
338                .await
339                .map_err(|e| {
340                    tonic::Status::unknown(
341                        format!("Service was not ready: {}", e.into()),
342                    )
343                })?;
344            let codec = tonic::codec::ProstCodec::default();
345            let path = http::uri::PathAndQuery::from_static(
346                "/com.coralogixapis.dashboards.v1.services.DashboardFoldersService/ListDashboardFolders",
347            );
348            let mut req = request.into_request();
349            req.extensions_mut()
350                .insert(
351                    GrpcMethod::new(
352                        "com.coralogixapis.dashboards.v1.services.DashboardFoldersService",
353                        "ListDashboardFolders",
354                    ),
355                );
356            self.inner.unary(req, path, codec).await
357        }
358        pub async fn get_dashboard_folder(
359            &mut self,
360            request: impl tonic::IntoRequest<super::GetDashboardFolderRequest>,
361        ) -> std::result::Result<
362            tonic::Response<super::GetDashboardFolderResponse>,
363            tonic::Status,
364        > {
365            self.inner
366                .ready()
367                .await
368                .map_err(|e| {
369                    tonic::Status::unknown(
370                        format!("Service was not ready: {}", e.into()),
371                    )
372                })?;
373            let codec = tonic::codec::ProstCodec::default();
374            let path = http::uri::PathAndQuery::from_static(
375                "/com.coralogixapis.dashboards.v1.services.DashboardFoldersService/GetDashboardFolder",
376            );
377            let mut req = request.into_request();
378            req.extensions_mut()
379                .insert(
380                    GrpcMethod::new(
381                        "com.coralogixapis.dashboards.v1.services.DashboardFoldersService",
382                        "GetDashboardFolder",
383                    ),
384                );
385            self.inner.unary(req, path, codec).await
386        }
387        pub async fn create_dashboard_folder(
388            &mut self,
389            request: impl tonic::IntoRequest<super::CreateDashboardFolderRequest>,
390        ) -> std::result::Result<
391            tonic::Response<super::CreateDashboardFolderResponse>,
392            tonic::Status,
393        > {
394            self.inner
395                .ready()
396                .await
397                .map_err(|e| {
398                    tonic::Status::unknown(
399                        format!("Service was not ready: {}", e.into()),
400                    )
401                })?;
402            let codec = tonic::codec::ProstCodec::default();
403            let path = http::uri::PathAndQuery::from_static(
404                "/com.coralogixapis.dashboards.v1.services.DashboardFoldersService/CreateDashboardFolder",
405            );
406            let mut req = request.into_request();
407            req.extensions_mut()
408                .insert(
409                    GrpcMethod::new(
410                        "com.coralogixapis.dashboards.v1.services.DashboardFoldersService",
411                        "CreateDashboardFolder",
412                    ),
413                );
414            self.inner.unary(req, path, codec).await
415        }
416        pub async fn replace_dashboard_folder(
417            &mut self,
418            request: impl tonic::IntoRequest<super::ReplaceDashboardFolderRequest>,
419        ) -> std::result::Result<
420            tonic::Response<super::ReplaceDashboardFolderResponse>,
421            tonic::Status,
422        > {
423            self.inner
424                .ready()
425                .await
426                .map_err(|e| {
427                    tonic::Status::unknown(
428                        format!("Service was not ready: {}", e.into()),
429                    )
430                })?;
431            let codec = tonic::codec::ProstCodec::default();
432            let path = http::uri::PathAndQuery::from_static(
433                "/com.coralogixapis.dashboards.v1.services.DashboardFoldersService/ReplaceDashboardFolder",
434            );
435            let mut req = request.into_request();
436            req.extensions_mut()
437                .insert(
438                    GrpcMethod::new(
439                        "com.coralogixapis.dashboards.v1.services.DashboardFoldersService",
440                        "ReplaceDashboardFolder",
441                    ),
442                );
443            self.inner.unary(req, path, codec).await
444        }
445        pub async fn delete_dashboard_folder(
446            &mut self,
447            request: impl tonic::IntoRequest<super::DeleteDashboardFolderRequest>,
448        ) -> std::result::Result<
449            tonic::Response<super::DeleteDashboardFolderResponse>,
450            tonic::Status,
451        > {
452            self.inner
453                .ready()
454                .await
455                .map_err(|e| {
456                    tonic::Status::unknown(
457                        format!("Service was not ready: {}", e.into()),
458                    )
459                })?;
460            let codec = tonic::codec::ProstCodec::default();
461            let path = http::uri::PathAndQuery::from_static(
462                "/com.coralogixapis.dashboards.v1.services.DashboardFoldersService/DeleteDashboardFolder",
463            );
464            let mut req = request.into_request();
465            req.extensions_mut()
466                .insert(
467                    GrpcMethod::new(
468                        "com.coralogixapis.dashboards.v1.services.DashboardFoldersService",
469                        "DeleteDashboardFolder",
470                    ),
471                );
472            self.inner.unary(req, path, codec).await
473        }
474    }
475}
476#[derive(serde::Serialize, serde::Deserialize)]
477#[serde(rename_all = "snake_case")]
478#[derive(Clone, PartialEq, ::prost::Message)]
479pub struct CreateDashboardRequest {
480    #[prost(message, optional, tag = "1")]
481    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
482    #[prost(message, optional, tag = "2")]
483    pub dashboard: ::core::option::Option<super::ast::Dashboard>,
484    #[prost(message, optional, tag = "3")]
485    pub is_locked: ::core::option::Option<bool>,
486}
487#[derive(serde::Serialize, serde::Deserialize)]
488#[serde(rename_all = "snake_case")]
489#[derive(Clone, PartialEq, ::prost::Message)]
490pub struct CreateDashboardResponse {
491    #[prost(message, optional, tag = "1")]
492    pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
493}
494#[derive(serde::Serialize, serde::Deserialize)]
495#[serde(rename_all = "snake_case")]
496#[derive(Clone, PartialEq, ::prost::Message)]
497pub struct ReplaceDashboardRequest {
498    #[prost(message, optional, tag = "1")]
499    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
500    #[prost(message, optional, tag = "2")]
501    pub dashboard: ::core::option::Option<super::ast::Dashboard>,
502    #[prost(message, optional, tag = "3")]
503    pub is_locked: ::core::option::Option<bool>,
504}
505#[derive(serde::Serialize, serde::Deserialize)]
506#[serde(rename_all = "snake_case")]
507#[derive(Clone, Copy, PartialEq, ::prost::Message)]
508pub struct ReplaceDashboardResponse {}
509#[derive(serde::Serialize, serde::Deserialize)]
510#[serde(rename_all = "snake_case")]
511#[derive(Clone, PartialEq, ::prost::Message)]
512pub struct DeleteDashboardRequest {
513    #[prost(message, optional, tag = "1")]
514    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
515    #[prost(message, optional, tag = "2")]
516    pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
517}
518#[derive(serde::Serialize, serde::Deserialize)]
519#[serde(rename_all = "snake_case")]
520#[derive(Clone, Copy, PartialEq, ::prost::Message)]
521pub struct DeleteDashboardResponse {}
522#[derive(serde::Serialize, serde::Deserialize)]
523#[serde(rename_all = "snake_case")]
524#[derive(Clone, PartialEq, ::prost::Message)]
525pub struct GetDashboardRequest {
526    #[prost(message, optional, tag = "1")]
527    pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
528}
529#[derive(serde::Serialize, serde::Deserialize)]
530#[serde(rename_all = "snake_case")]
531#[derive(Clone, PartialEq, ::prost::Message)]
532pub struct GetDashboardBySlugRequest {
533    #[prost(message, optional, tag = "1")]
534    pub slug: ::core::option::Option<::prost::alloc::string::String>,
535}
536#[derive(serde::Serialize, serde::Deserialize)]
537#[serde(rename_all = "snake_case")]
538#[derive(Clone, PartialEq, ::prost::Message)]
539pub struct GetDashboardBySlugResponse {
540    #[prost(message, optional, tag = "1")]
541    pub dashboard: ::core::option::Option<super::ast::Dashboard>,
542    #[prost(message, optional, tag = "2")]
543    pub updated_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
544    #[prost(message, optional, tag = "3")]
545    pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
546    #[prost(message, optional, tag = "4")]
547    pub updater_author_id: ::core::option::Option<::prost::alloc::string::String>,
548    #[prost(message, optional, tag = "8")]
549    pub updater_name: ::core::option::Option<::prost::alloc::string::String>,
550    #[prost(message, optional, tag = "5")]
551    pub author_id: ::core::option::Option<::prost::alloc::string::String>,
552    #[prost(message, optional, tag = "9")]
553    pub author_name: ::core::option::Option<::prost::alloc::string::String>,
554    #[prost(enumeration = "TokenOriginType", tag = "6")]
555    pub updated_origin_type: i32,
556    #[prost(enumeration = "TokenOriginType", tag = "7")]
557    pub created_origin_type: i32,
558    #[prost(message, optional, tag = "10")]
559    pub is_locked: ::core::option::Option<bool>,
560    #[prost(message, optional, tag = "11")]
561    pub locker_author_id: ::core::option::Option<::prost::alloc::string::String>,
562    #[prost(message, optional, tag = "12")]
563    pub locker_name: ::core::option::Option<::prost::alloc::string::String>,
564}
565#[derive(serde::Serialize, serde::Deserialize)]
566#[serde(rename_all = "snake_case")]
567#[derive(Clone, PartialEq, ::prost::Message)]
568pub struct GetDashboardResponse {
569    #[prost(message, optional, tag = "1")]
570    pub dashboard: ::core::option::Option<super::ast::Dashboard>,
571    #[prost(message, optional, tag = "2")]
572    pub updated_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
573    #[prost(message, optional, tag = "3")]
574    pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
575    #[prost(message, optional, tag = "4")]
576    pub updater_author_id: ::core::option::Option<::prost::alloc::string::String>,
577    #[prost(message, optional, tag = "8")]
578    pub updater_name: ::core::option::Option<::prost::alloc::string::String>,
579    #[prost(message, optional, tag = "5")]
580    pub author_id: ::core::option::Option<::prost::alloc::string::String>,
581    #[prost(message, optional, tag = "9")]
582    pub author_name: ::core::option::Option<::prost::alloc::string::String>,
583    #[prost(enumeration = "TokenOriginType", tag = "6")]
584    pub updated_origin_type: i32,
585    #[prost(enumeration = "TokenOriginType", tag = "7")]
586    pub created_origin_type: i32,
587    #[prost(message, optional, tag = "10")]
588    pub is_locked: ::core::option::Option<bool>,
589    #[prost(message, optional, tag = "11")]
590    pub locker_author_id: ::core::option::Option<::prost::alloc::string::String>,
591    #[prost(message, optional, tag = "12")]
592    pub locker_name: ::core::option::Option<::prost::alloc::string::String>,
593}
594#[derive(serde::Serialize, serde::Deserialize)]
595#[serde(rename_all = "snake_case")]
596#[derive(Clone, PartialEq, ::prost::Message)]
597pub struct PinDashboardRequest {
598    #[prost(message, optional, tag = "1")]
599    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
600    #[prost(message, optional, tag = "2")]
601    pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
602}
603#[derive(serde::Serialize, serde::Deserialize)]
604#[serde(rename_all = "snake_case")]
605#[derive(Clone, Copy, PartialEq, ::prost::Message)]
606pub struct PinDashboardResponse {}
607#[derive(serde::Serialize, serde::Deserialize)]
608#[serde(rename_all = "snake_case")]
609#[derive(Clone, PartialEq, ::prost::Message)]
610pub struct UnpinDashboardRequest {
611    #[prost(message, optional, tag = "1")]
612    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
613    #[prost(message, optional, tag = "2")]
614    pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
615}
616#[derive(serde::Serialize, serde::Deserialize)]
617#[serde(rename_all = "snake_case")]
618#[derive(Clone, Copy, PartialEq, ::prost::Message)]
619pub struct UnpinDashboardResponse {}
620#[derive(serde::Serialize, serde::Deserialize)]
621#[serde(rename_all = "snake_case")]
622#[derive(Clone, PartialEq, ::prost::Message)]
623pub struct ReplaceDefaultDashboardRequest {
624    #[prost(message, optional, tag = "1")]
625    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
626    #[prost(message, optional, tag = "2")]
627    pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
628}
629#[derive(serde::Serialize, serde::Deserialize)]
630#[serde(rename_all = "snake_case")]
631#[derive(Clone, Copy, PartialEq, ::prost::Message)]
632pub struct ReplaceDefaultDashboardResponse {}
633#[derive(serde::Serialize, serde::Deserialize)]
634#[serde(rename_all = "snake_case")]
635#[derive(Clone, PartialEq, ::prost::Message)]
636pub struct AssignDashboardFolderRequest {
637    #[prost(message, optional, tag = "1")]
638    pub request_id: ::core::option::Option<::prost::alloc::string::String>,
639    #[prost(message, optional, tag = "2")]
640    pub dashboard_id: ::core::option::Option<::prost::alloc::string::String>,
641    /// could be null to assign the dashboard to root
642    #[prost(message, optional, tag = "3")]
643    pub folder_id: ::core::option::Option<::prost::alloc::string::String>,
644}
645#[derive(serde::Serialize, serde::Deserialize)]
646#[serde(rename_all = "snake_case")]
647#[derive(Clone, Copy, PartialEq, ::prost::Message)]
648pub struct AssignDashboardFolderResponse {}
649#[derive(serde::Serialize, serde::Deserialize)]
650#[serde(rename_all = "snake_case")]
651#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
652#[repr(i32)]
653pub enum TokenOriginType {
654    Unspecified = 0,
655    User = 1,
656    Api = 2,
657}
658impl TokenOriginType {
659    /// String value of the enum field names used in the ProtoBuf definition.
660    ///
661    /// The values are not transformed in any way and thus are considered stable
662    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
663    pub fn as_str_name(&self) -> &'static str {
664        match self {
665            Self::Unspecified => "TOKEN_ORIGIN_TYPE_UNSPECIFIED",
666            Self::User => "TOKEN_ORIGIN_TYPE_USER",
667            Self::Api => "TOKEN_ORIGIN_TYPE_API",
668        }
669    }
670    /// Creates an enum from field names used in the ProtoBuf definition.
671    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
672        match value {
673            "TOKEN_ORIGIN_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
674            "TOKEN_ORIGIN_TYPE_USER" => Some(Self::User),
675            "TOKEN_ORIGIN_TYPE_API" => Some(Self::Api),
676            _ => None,
677        }
678    }
679}
680/// Generated client implementations.
681pub mod dashboards_service_client {
682    #![allow(
683        unused_variables,
684        dead_code,
685        missing_docs,
686        clippy::wildcard_imports,
687        clippy::let_unit_value,
688    )]
689    use tonic::codegen::*;
690    use tonic::codegen::http::Uri;
691    #[derive(Debug, Clone)]
692    pub struct DashboardsServiceClient<T> {
693        inner: tonic::client::Grpc<T>,
694    }
695    impl DashboardsServiceClient<tonic::transport::Channel> {
696        /// Attempt to create a new client by connecting to a given endpoint.
697        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
698        where
699            D: TryInto<tonic::transport::Endpoint>,
700            D::Error: Into<StdError>,
701        {
702            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
703            Ok(Self::new(conn))
704        }
705    }
706    impl<T> DashboardsServiceClient<T>
707    where
708        T: tonic::client::GrpcService<tonic::body::BoxBody>,
709        T::Error: Into<StdError>,
710        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
711        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
712    {
713        pub fn new(inner: T) -> Self {
714            let inner = tonic::client::Grpc::new(inner);
715            Self { inner }
716        }
717        pub fn with_origin(inner: T, origin: Uri) -> Self {
718            let inner = tonic::client::Grpc::with_origin(inner, origin);
719            Self { inner }
720        }
721        pub fn with_interceptor<F>(
722            inner: T,
723            interceptor: F,
724        ) -> DashboardsServiceClient<InterceptedService<T, F>>
725        where
726            F: tonic::service::Interceptor,
727            T::ResponseBody: Default,
728            T: tonic::codegen::Service<
729                http::Request<tonic::body::BoxBody>,
730                Response = http::Response<
731                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
732                >,
733            >,
734            <T as tonic::codegen::Service<
735                http::Request<tonic::body::BoxBody>,
736            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
737        {
738            DashboardsServiceClient::new(InterceptedService::new(inner, interceptor))
739        }
740        /// Compress requests with the given encoding.
741        ///
742        /// This requires the server to support it otherwise it might respond with an
743        /// error.
744        #[must_use]
745        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
746            self.inner = self.inner.send_compressed(encoding);
747            self
748        }
749        /// Enable decompressing responses.
750        #[must_use]
751        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
752            self.inner = self.inner.accept_compressed(encoding);
753            self
754        }
755        /// Limits the maximum size of a decoded message.
756        ///
757        /// Default: `4MB`
758        #[must_use]
759        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
760            self.inner = self.inner.max_decoding_message_size(limit);
761            self
762        }
763        /// Limits the maximum size of an encoded message.
764        ///
765        /// Default: `usize::MAX`
766        #[must_use]
767        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
768            self.inner = self.inner.max_encoding_message_size(limit);
769            self
770        }
771        pub async fn create_dashboard(
772            &mut self,
773            request: impl tonic::IntoRequest<super::CreateDashboardRequest>,
774        ) -> std::result::Result<
775            tonic::Response<super::CreateDashboardResponse>,
776            tonic::Status,
777        > {
778            self.inner
779                .ready()
780                .await
781                .map_err(|e| {
782                    tonic::Status::unknown(
783                        format!("Service was not ready: {}", e.into()),
784                    )
785                })?;
786            let codec = tonic::codec::ProstCodec::default();
787            let path = http::uri::PathAndQuery::from_static(
788                "/com.coralogixapis.dashboards.v1.services.DashboardsService/CreateDashboard",
789            );
790            let mut req = request.into_request();
791            req.extensions_mut()
792                .insert(
793                    GrpcMethod::new(
794                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
795                        "CreateDashboard",
796                    ),
797                );
798            self.inner.unary(req, path, codec).await
799        }
800        pub async fn replace_dashboard(
801            &mut self,
802            request: impl tonic::IntoRequest<super::ReplaceDashboardRequest>,
803        ) -> std::result::Result<
804            tonic::Response<super::ReplaceDashboardResponse>,
805            tonic::Status,
806        > {
807            self.inner
808                .ready()
809                .await
810                .map_err(|e| {
811                    tonic::Status::unknown(
812                        format!("Service was not ready: {}", e.into()),
813                    )
814                })?;
815            let codec = tonic::codec::ProstCodec::default();
816            let path = http::uri::PathAndQuery::from_static(
817                "/com.coralogixapis.dashboards.v1.services.DashboardsService/ReplaceDashboard",
818            );
819            let mut req = request.into_request();
820            req.extensions_mut()
821                .insert(
822                    GrpcMethod::new(
823                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
824                        "ReplaceDashboard",
825                    ),
826                );
827            self.inner.unary(req, path, codec).await
828        }
829        pub async fn delete_dashboard(
830            &mut self,
831            request: impl tonic::IntoRequest<super::DeleteDashboardRequest>,
832        ) -> std::result::Result<
833            tonic::Response<super::DeleteDashboardResponse>,
834            tonic::Status,
835        > {
836            self.inner
837                .ready()
838                .await
839                .map_err(|e| {
840                    tonic::Status::unknown(
841                        format!("Service was not ready: {}", e.into()),
842                    )
843                })?;
844            let codec = tonic::codec::ProstCodec::default();
845            let path = http::uri::PathAndQuery::from_static(
846                "/com.coralogixapis.dashboards.v1.services.DashboardsService/DeleteDashboard",
847            );
848            let mut req = request.into_request();
849            req.extensions_mut()
850                .insert(
851                    GrpcMethod::new(
852                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
853                        "DeleteDashboard",
854                    ),
855                );
856            self.inner.unary(req, path, codec).await
857        }
858        pub async fn get_dashboard(
859            &mut self,
860            request: impl tonic::IntoRequest<super::GetDashboardRequest>,
861        ) -> std::result::Result<
862            tonic::Response<super::GetDashboardResponse>,
863            tonic::Status,
864        > {
865            self.inner
866                .ready()
867                .await
868                .map_err(|e| {
869                    tonic::Status::unknown(
870                        format!("Service was not ready: {}", e.into()),
871                    )
872                })?;
873            let codec = tonic::codec::ProstCodec::default();
874            let path = http::uri::PathAndQuery::from_static(
875                "/com.coralogixapis.dashboards.v1.services.DashboardsService/GetDashboard",
876            );
877            let mut req = request.into_request();
878            req.extensions_mut()
879                .insert(
880                    GrpcMethod::new(
881                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
882                        "GetDashboard",
883                    ),
884                );
885            self.inner.unary(req, path, codec).await
886        }
887        pub async fn get_dashboard_by_slug(
888            &mut self,
889            request: impl tonic::IntoRequest<super::GetDashboardBySlugRequest>,
890        ) -> std::result::Result<
891            tonic::Response<super::GetDashboardBySlugResponse>,
892            tonic::Status,
893        > {
894            self.inner
895                .ready()
896                .await
897                .map_err(|e| {
898                    tonic::Status::unknown(
899                        format!("Service was not ready: {}", e.into()),
900                    )
901                })?;
902            let codec = tonic::codec::ProstCodec::default();
903            let path = http::uri::PathAndQuery::from_static(
904                "/com.coralogixapis.dashboards.v1.services.DashboardsService/GetDashboardBySlug",
905            );
906            let mut req = request.into_request();
907            req.extensions_mut()
908                .insert(
909                    GrpcMethod::new(
910                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
911                        "GetDashboardBySlug",
912                    ),
913                );
914            self.inner.unary(req, path, codec).await
915        }
916        pub async fn pin_dashboard(
917            &mut self,
918            request: impl tonic::IntoRequest<super::PinDashboardRequest>,
919        ) -> std::result::Result<
920            tonic::Response<super::PinDashboardResponse>,
921            tonic::Status,
922        > {
923            self.inner
924                .ready()
925                .await
926                .map_err(|e| {
927                    tonic::Status::unknown(
928                        format!("Service was not ready: {}", e.into()),
929                    )
930                })?;
931            let codec = tonic::codec::ProstCodec::default();
932            let path = http::uri::PathAndQuery::from_static(
933                "/com.coralogixapis.dashboards.v1.services.DashboardsService/PinDashboard",
934            );
935            let mut req = request.into_request();
936            req.extensions_mut()
937                .insert(
938                    GrpcMethod::new(
939                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
940                        "PinDashboard",
941                    ),
942                );
943            self.inner.unary(req, path, codec).await
944        }
945        pub async fn unpin_dashboard(
946            &mut self,
947            request: impl tonic::IntoRequest<super::UnpinDashboardRequest>,
948        ) -> std::result::Result<
949            tonic::Response<super::UnpinDashboardResponse>,
950            tonic::Status,
951        > {
952            self.inner
953                .ready()
954                .await
955                .map_err(|e| {
956                    tonic::Status::unknown(
957                        format!("Service was not ready: {}", e.into()),
958                    )
959                })?;
960            let codec = tonic::codec::ProstCodec::default();
961            let path = http::uri::PathAndQuery::from_static(
962                "/com.coralogixapis.dashboards.v1.services.DashboardsService/UnpinDashboard",
963            );
964            let mut req = request.into_request();
965            req.extensions_mut()
966                .insert(
967                    GrpcMethod::new(
968                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
969                        "UnpinDashboard",
970                    ),
971                );
972            self.inner.unary(req, path, codec).await
973        }
974        pub async fn replace_default_dashboard(
975            &mut self,
976            request: impl tonic::IntoRequest<super::ReplaceDefaultDashboardRequest>,
977        ) -> std::result::Result<
978            tonic::Response<super::ReplaceDefaultDashboardResponse>,
979            tonic::Status,
980        > {
981            self.inner
982                .ready()
983                .await
984                .map_err(|e| {
985                    tonic::Status::unknown(
986                        format!("Service was not ready: {}", e.into()),
987                    )
988                })?;
989            let codec = tonic::codec::ProstCodec::default();
990            let path = http::uri::PathAndQuery::from_static(
991                "/com.coralogixapis.dashboards.v1.services.DashboardsService/ReplaceDefaultDashboard",
992            );
993            let mut req = request.into_request();
994            req.extensions_mut()
995                .insert(
996                    GrpcMethod::new(
997                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
998                        "ReplaceDefaultDashboard",
999                    ),
1000                );
1001            self.inner.unary(req, path, codec).await
1002        }
1003        pub async fn assign_dashboard_folder(
1004            &mut self,
1005            request: impl tonic::IntoRequest<super::AssignDashboardFolderRequest>,
1006        ) -> std::result::Result<
1007            tonic::Response<super::AssignDashboardFolderResponse>,
1008            tonic::Status,
1009        > {
1010            self.inner
1011                .ready()
1012                .await
1013                .map_err(|e| {
1014                    tonic::Status::unknown(
1015                        format!("Service was not ready: {}", e.into()),
1016                    )
1017                })?;
1018            let codec = tonic::codec::ProstCodec::default();
1019            let path = http::uri::PathAndQuery::from_static(
1020                "/com.coralogixapis.dashboards.v1.services.DashboardsService/AssignDashboardFolder",
1021            );
1022            let mut req = request.into_request();
1023            req.extensions_mut()
1024                .insert(
1025                    GrpcMethod::new(
1026                        "com.coralogixapis.dashboards.v1.services.DashboardsService",
1027                        "AssignDashboardFolder",
1028                    ),
1029                );
1030            self.inner.unary(req, path, codec).await
1031        }
1032    }
1033}