1#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5pub struct Team {
6    #[prost(message, optional, tag = "2")]
7    pub id: ::core::option::Option<u64>,
8}
9#[derive(serde::Serialize, serde::Deserialize)]
10#[serde(rename_all = "snake_case")]
11#[derive(Clone, Copy, PartialEq, ::prost::Message)]
12pub struct Unit {
13    #[prost(message, optional, tag = "1")]
14    pub value: ::core::option::Option<f32>,
15}
16#[derive(serde::Serialize, serde::Deserialize)]
17#[serde(rename_all = "snake_case")]
18#[derive(Clone, Copy, PartialEq, ::prost::Message)]
19pub struct Gb {
20    #[prost(message, optional, tag = "1")]
21    pub value: ::core::option::Option<f32>,
22}
23#[derive(serde::Serialize, serde::Deserialize)]
24#[serde(rename_all = "snake_case")]
25#[derive(Clone, Copy, PartialEq, ::prost::Message)]
26pub struct Token {
27    #[prost(message, optional, tag = "1")]
28    pub value: ::core::option::Option<f32>,
29}
30#[derive(serde::Serialize, serde::Deserialize)]
31#[serde(rename_all = "snake_case")]
32#[derive(Clone, Copy, PartialEq, ::prost::Message)]
33pub struct DateRange {
34    #[prost(message, optional, tag = "1")]
35    pub from_date: ::core::option::Option<::prost_wkt_types::Timestamp>,
36    #[prost(message, optional, tag = "2")]
37    pub to_date: ::core::option::Option<::prost_wkt_types::Timestamp>,
38}
39#[derive(serde::Serialize, serde::Deserialize)]
40#[serde(rename_all = "snake_case")]
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct GenericDimension {
43    #[prost(string, tag = "1")]
44    pub key: ::prost::alloc::string::String,
45    #[prost(string, tag = "2")]
46    pub value: ::prost::alloc::string::String,
47}
48#[derive(serde::Serialize, serde::Deserialize)]
49#[serde(rename_all = "snake_case")]
50#[derive(Clone, PartialEq, ::prost::Message)]
51pub struct Dimension {
52    #[prost(oneof = "dimension::Dimension", tags = "1, 2, 3, 4, 5")]
53    pub dimension: ::core::option::Option<dimension::Dimension>,
54}
55pub mod dimension {
57    #[derive(serde::Serialize, serde::Deserialize)]
58    #[serde(rename_all = "snake_case")]
59    #[derive(Clone, PartialEq, ::prost::Oneof)]
60    pub enum Dimension {
61        #[prost(enumeration = "super::Pillar", tag = "1")]
62        Pillar(i32),
63        #[prost(message, tag = "2")]
64        GenericDimension(super::GenericDimension),
65        #[prost(enumeration = "super::TcoTier", tag = "3")]
66        Tier(i32),
67        #[prost(enumeration = "super::Severity", tag = "4")]
68        Severity(i32),
69        #[prost(enumeration = "super::Priority", tag = "5")]
70        Priority(i32),
71    }
72}
73#[derive(serde::Serialize, serde::Deserialize)]
75#[serde(rename_all = "snake_case")]
76#[derive(Clone, Copy, PartialEq, ::prost::Message)]
77pub struct DetailedDailyUnits {
78    #[prost(message, optional, tag = "1")]
79    pub stats_date: ::core::option::Option<::prost_wkt_types::Timestamp>,
80    #[prost(message, optional, tag = "2")]
81    pub total_units: ::core::option::Option<Unit>,
82    #[prost(message, optional, tag = "3")]
83    pub blocked_units: ::core::option::Option<Unit>,
84    #[prost(message, optional, tag = "4")]
85    pub low_logs_units: ::core::option::Option<Unit>,
86    #[prost(message, optional, tag = "5")]
87    pub medium_logs_units: ::core::option::Option<Unit>,
88    #[prost(message, optional, tag = "6")]
89    pub high_logs_units: ::core::option::Option<Unit>,
90    #[prost(message, optional, tag = "7")]
91    pub high_metrics_units: ::core::option::Option<Unit>,
92    #[prost(message, optional, tag = "8")]
93    pub low_tracing_units: ::core::option::Option<Unit>,
94    #[prost(message, optional, tag = "9")]
95    pub medium_tracing_units: ::core::option::Option<Unit>,
96    #[prost(message, optional, tag = "10")]
97    pub high_tracing_units: ::core::option::Option<Unit>,
98    #[prost(message, optional, tag = "11")]
99    pub low_session_recording_units: ::core::option::Option<Unit>,
100    #[prost(message, optional, tag = "12")]
101    pub evaluation_units: ::core::option::Option<Unit>,
102    #[prost(message, optional, tag = "13")]
103    pub cpu_profiles_units: ::core::option::Option<Unit>,
104    #[prost(message, optional, tag = "14")]
105    pub blocked_metrics_units: ::core::option::Option<Unit>,
106}
107#[derive(serde::Serialize, serde::Deserialize)]
109#[serde(rename_all = "snake_case")]
110#[derive(Clone, Copy, PartialEq, ::prost::Message)]
111pub struct DetailedDailyProcessedGbs {
112    #[prost(message, optional, tag = "1")]
113    pub stats_date: ::core::option::Option<::prost_wkt_types::Timestamp>,
114    #[prost(message, optional, tag = "2")]
115    pub total_gbs: ::core::option::Option<Gb>,
116    #[prost(message, optional, tag = "3")]
117    pub blocked_gbs: ::core::option::Option<Gb>,
118    #[prost(message, optional, tag = "4")]
119    pub low_logs_gbs: ::core::option::Option<Gb>,
120    #[prost(message, optional, tag = "5")]
121    pub medium_logs_gbs: ::core::option::Option<Gb>,
122    #[prost(message, optional, tag = "6")]
123    pub high_logs_gbs: ::core::option::Option<Gb>,
124    #[prost(message, optional, tag = "7")]
125    pub high_metrics_gbs: ::core::option::Option<Gb>,
126    #[prost(message, optional, tag = "8")]
127    pub low_tracing_gbs: ::core::option::Option<Gb>,
128    #[prost(message, optional, tag = "9")]
129    pub medium_tracing_gbs: ::core::option::Option<Gb>,
130    #[prost(message, optional, tag = "10")]
131    pub high_tracing_gbs: ::core::option::Option<Gb>,
132    #[prost(message, optional, tag = "11")]
133    pub low_session_recording_gbs: ::core::option::Option<Gb>,
134    #[prost(message, optional, tag = "12")]
135    pub cpu_profiles_gbs: ::core::option::Option<Gb>,
136    #[prost(message, optional, tag = "13")]
137    pub blocked_metrics_gbs: ::core::option::Option<Gb>,
138}
139#[derive(serde::Serialize, serde::Deserialize)]
141#[serde(rename_all = "snake_case")]
142#[derive(Clone, PartialEq, ::prost::Message)]
143pub struct DetailedDailyEvaluationTokens {
144    #[prost(message, optional, tag = "1")]
145    pub stats_date: ::core::option::Option<::prost_wkt_types::Timestamp>,
146    #[prost(message, optional, tag = "2")]
147    pub total_tokens: ::core::option::Option<Token>,
148    #[prost(message, repeated, tag = "3")]
149    pub evaluations: ::prost::alloc::vec::Vec<Evaluation>,
150}
151#[derive(serde::Serialize, serde::Deserialize)]
152#[serde(rename_all = "snake_case")]
153#[derive(Clone, PartialEq, ::prost::Message)]
154pub struct Evaluation {
155    #[prost(message, optional, tag = "1")]
156    pub evaluator_name: ::core::option::Option<::prost::alloc::string::String>,
157    #[prost(message, optional, tag = "2")]
158    pub evaluation_tokens: ::core::option::Option<Token>,
159}
160#[derive(serde::Serialize, serde::Deserialize)]
161#[serde(rename_all = "snake_case")]
162#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
163#[repr(i32)]
164pub enum Range {
165    Unspecified = 0,
166    CurrentMonth = 1,
167    Last30Days = 2,
168    Last90Days = 3,
169    LastWeek = 4,
170    LastYear = 5,
171}
172impl Range {
173    pub fn as_str_name(&self) -> &'static str {
178        match self {
179            Self::Unspecified => "RANGE_UNSPECIFIED",
180            Self::CurrentMonth => "RANGE_CURRENT_MONTH",
181            Self::Last30Days => "RANGE_LAST_30_DAYS",
182            Self::Last90Days => "RANGE_LAST_90_DAYS",
183            Self::LastWeek => "RANGE_LAST_WEEK",
184            Self::LastYear => "RANGE_LAST_YEAR",
185        }
186    }
187    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
189        match value {
190            "RANGE_UNSPECIFIED" => Some(Self::Unspecified),
191            "RANGE_CURRENT_MONTH" => Some(Self::CurrentMonth),
192            "RANGE_LAST_30_DAYS" => Some(Self::Last30Days),
193            "RANGE_LAST_90_DAYS" => Some(Self::Last90Days),
194            "RANGE_LAST_WEEK" => Some(Self::LastWeek),
195            "RANGE_LAST_YEAR" => Some(Self::LastYear),
196            _ => None,
197        }
198    }
199}
200#[derive(serde::Serialize, serde::Deserialize)]
201#[serde(rename_all = "snake_case")]
202#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
203#[repr(i32)]
204pub enum Pillar {
205    Unspecified = 0,
206    Metrics = 1,
207    Logs = 2,
208    Spans = 3,
209    Binary = 4,
210    Profiles = 5,
211}
212impl Pillar {
213    pub fn as_str_name(&self) -> &'static str {
218        match self {
219            Self::Unspecified => "PILLAR_UNSPECIFIED",
220            Self::Metrics => "PILLAR_METRICS",
221            Self::Logs => "PILLAR_LOGS",
222            Self::Spans => "PILLAR_SPANS",
223            Self::Binary => "PILLAR_BINARY",
224            Self::Profiles => "PILLAR_PROFILES",
225        }
226    }
227    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
229        match value {
230            "PILLAR_UNSPECIFIED" => Some(Self::Unspecified),
231            "PILLAR_METRICS" => Some(Self::Metrics),
232            "PILLAR_LOGS" => Some(Self::Logs),
233            "PILLAR_SPANS" => Some(Self::Spans),
234            "PILLAR_BINARY" => Some(Self::Binary),
235            "PILLAR_PROFILES" => Some(Self::Profiles),
236            _ => None,
237        }
238    }
239}
240#[derive(serde::Serialize, serde::Deserialize)]
241#[serde(rename_all = "snake_case")]
242#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
243#[repr(i32)]
244pub enum TcoTier {
245    Unspecified = 0,
246    Low = 1,
247    Medium = 2,
248    High = 3,
249    Blocked = 4,
250}
251impl TcoTier {
252    pub fn as_str_name(&self) -> &'static str {
257        match self {
258            Self::Unspecified => "TCO_TIER_UNSPECIFIED",
259            Self::Low => "TCO_TIER_LOW",
260            Self::Medium => "TCO_TIER_MEDIUM",
261            Self::High => "TCO_TIER_HIGH",
262            Self::Blocked => "TCO_TIER_BLOCKED",
263        }
264    }
265    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
267        match value {
268            "TCO_TIER_UNSPECIFIED" => Some(Self::Unspecified),
269            "TCO_TIER_LOW" => Some(Self::Low),
270            "TCO_TIER_MEDIUM" => Some(Self::Medium),
271            "TCO_TIER_HIGH" => Some(Self::High),
272            "TCO_TIER_BLOCKED" => Some(Self::Blocked),
273            _ => None,
274        }
275    }
276}
277#[derive(serde::Serialize, serde::Deserialize)]
278#[serde(rename_all = "snake_case")]
279#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
280#[repr(i32)]
281pub enum Priority {
282    Unspecified = 0,
283    Low = 1,
284    Medium = 2,
285    High = 3,
286    Blocked = 4,
287}
288impl Priority {
289    pub fn as_str_name(&self) -> &'static str {
294        match self {
295            Self::Unspecified => "PRIORITY_UNSPECIFIED",
296            Self::Low => "PRIORITY_LOW",
297            Self::Medium => "PRIORITY_MEDIUM",
298            Self::High => "PRIORITY_HIGH",
299            Self::Blocked => "PRIORITY_BLOCKED",
300        }
301    }
302    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
304        match value {
305            "PRIORITY_UNSPECIFIED" => Some(Self::Unspecified),
306            "PRIORITY_LOW" => Some(Self::Low),
307            "PRIORITY_MEDIUM" => Some(Self::Medium),
308            "PRIORITY_HIGH" => Some(Self::High),
309            "PRIORITY_BLOCKED" => Some(Self::Blocked),
310            _ => None,
311        }
312    }
313}
314#[derive(serde::Serialize, serde::Deserialize)]
315#[serde(rename_all = "snake_case")]
316#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
317#[repr(i32)]
318pub enum Severity {
319    Unspecified = 0,
320    Debug = 1,
321    Verbose = 2,
322    Info = 3,
323    Warning = 4,
324    Error = 5,
325    Critical = 6,
326}
327impl Severity {
328    pub fn as_str_name(&self) -> &'static str {
333        match self {
334            Self::Unspecified => "SEVERITY_UNSPECIFIED",
335            Self::Debug => "SEVERITY_DEBUG",
336            Self::Verbose => "SEVERITY_VERBOSE",
337            Self::Info => "SEVERITY_INFO",
338            Self::Warning => "SEVERITY_WARNING",
339            Self::Error => "SEVERITY_ERROR",
340            Self::Critical => "SEVERITY_CRITICAL",
341        }
342    }
343    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
345        match value {
346            "SEVERITY_UNSPECIFIED" => Some(Self::Unspecified),
347            "SEVERITY_DEBUG" => Some(Self::Debug),
348            "SEVERITY_VERBOSE" => Some(Self::Verbose),
349            "SEVERITY_INFO" => Some(Self::Info),
350            "SEVERITY_WARNING" => Some(Self::Warning),
351            "SEVERITY_ERROR" => Some(Self::Error),
352            "SEVERITY_CRITICAL" => Some(Self::Critical),
353            _ => None,
354        }
355    }
356}
357#[derive(serde::Serialize, serde::Deserialize)]
358#[serde(rename_all = "snake_case")]
359#[derive(Clone, PartialEq, ::prost::Message)]
360pub struct GetTeamDetailedDataUsageRequest {
361    #[prost(message, optional, tag = "2")]
363    pub date_range: ::core::option::Option<DateRange>,
364    #[prost(message, optional, tag = "3")]
372    pub resolution: ::core::option::Option<::prost_wkt_types::Duration>,
373    #[prost(enumeration = "AggregateBy", repeated, tag = "4")]
376    pub aggregate: ::prost::alloc::vec::Vec<i32>,
377}
378#[derive(serde::Serialize, serde::Deserialize)]
379#[serde(rename_all = "snake_case")]
380#[derive(Clone, PartialEq, ::prost::Message)]
381pub struct GetTeamDetailedDataUsageResponse {
382    #[prost(message, optional, tag = "1")]
383    pub timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
384    #[prost(message, optional, tag = "2")]
385    pub size_gb: ::core::option::Option<f32>,
386    #[prost(message, optional, tag = "3")]
387    pub units: ::core::option::Option<f32>,
388    #[prost(message, repeated, tag = "4")]
389    pub dimensions: ::prost::alloc::vec::Vec<Dimension>,
390}
391#[derive(serde::Serialize, serde::Deserialize)]
392#[serde(rename_all = "snake_case")]
393#[derive(Clone, PartialEq, ::prost::Message)]
394pub struct GetSpansCountRequest {
395    #[prost(message, optional, tag = "1")]
396    pub date_range: ::core::option::Option<DateRange>,
397    #[prost(message, optional, tag = "2")]
401    pub resolution: ::core::option::Option<::prost_wkt_types::Duration>,
402    #[prost(message, optional, tag = "3")]
405    pub filters: ::core::option::Option<ScopesFilter>,
406}
407#[derive(serde::Serialize, serde::Deserialize)]
408#[serde(rename_all = "snake_case")]
409#[derive(Clone, PartialEq, ::prost::Message)]
410pub struct ScopesFilter {
411    #[prost(string, repeated, tag = "1")]
412    pub application: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
413    #[prost(string, repeated, tag = "2")]
414    pub subsystem: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
415}
416#[derive(serde::Serialize, serde::Deserialize)]
417#[serde(rename_all = "snake_case")]
418#[derive(Clone, Copy, PartialEq, ::prost::Message)]
419pub struct SpansCount {
420    #[prost(message, optional, tag = "1")]
421    pub timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
422    #[prost(message, optional, tag = "2")]
423    pub success_span_count: ::core::option::Option<i64>,
424    #[prost(message, optional, tag = "3")]
425    pub error_span_count: ::core::option::Option<i64>,
426    #[prost(message, optional, tag = "4")]
427    pub low_success_span_count: ::core::option::Option<i64>,
428    #[prost(message, optional, tag = "5")]
429    pub low_error_span_count: ::core::option::Option<i64>,
430    #[prost(message, optional, tag = "6")]
431    pub medium_success_span_count: ::core::option::Option<i64>,
432    #[prost(message, optional, tag = "7")]
433    pub medium_error_span_count: ::core::option::Option<i64>,
434}
435#[derive(serde::Serialize, serde::Deserialize)]
436#[serde(rename_all = "snake_case")]
437#[derive(Clone, PartialEq, ::prost::Message)]
438pub struct GetSpansCountResponse {
439    #[prost(message, repeated, tag = "1")]
440    pub spans_count: ::prost::alloc::vec::Vec<SpansCount>,
441}
442#[derive(serde::Serialize, serde::Deserialize)]
443#[serde(rename_all = "snake_case")]
444#[derive(Clone, PartialEq, ::prost::Message)]
445pub struct GetLogsCountRequest {
446    #[prost(message, optional, tag = "1")]
447    pub date_range: ::core::option::Option<DateRange>,
448    #[prost(message, optional, tag = "2")]
452    pub resolution: ::core::option::Option<::prost_wkt_types::Duration>,
453    #[prost(message, optional, tag = "3")]
456    pub filters: ::core::option::Option<ScopesFilter>,
457    #[prost(bool, optional, tag = "4")]
458    pub subsystem_aggregation: ::core::option::Option<bool>,
459    #[prost(bool, optional, tag = "5")]
460    pub application_aggregation: ::core::option::Option<bool>,
461}
462#[derive(serde::Serialize, serde::Deserialize)]
463#[serde(rename_all = "snake_case")]
464#[derive(Clone, PartialEq, ::prost::Message)]
465pub struct LogsCount {
466    #[prost(message, optional, tag = "1")]
467    pub timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
468    #[prost(uint64, tag = "2")]
469    pub logs_count: u64,
470    #[prost(enumeration = "Severity", tag = "3")]
471    pub severity: i32,
472    #[prost(enumeration = "Priority", tag = "4")]
473    pub priority: i32,
474    #[prost(string, optional, tag = "5")]
475    pub subsystem_name: ::core::option::Option<::prost::alloc::string::String>,
476    #[prost(string, optional, tag = "6")]
477    pub application_name: ::core::option::Option<::prost::alloc::string::String>,
478}
479#[derive(serde::Serialize, serde::Deserialize)]
480#[serde(rename_all = "snake_case")]
481#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct GetLogsCountResponse {
483    #[prost(message, repeated, tag = "1")]
484    pub logs_count: ::prost::alloc::vec::Vec<LogsCount>,
485}
486#[derive(serde::Serialize, serde::Deserialize)]
487#[serde(rename_all = "snake_case")]
488#[derive(Clone, Copy, PartialEq, ::prost::Message)]
489pub struct GetDataUsageMetricsExportStatusRequest {}
490#[derive(serde::Serialize, serde::Deserialize)]
491#[serde(rename_all = "snake_case")]
492#[derive(Clone, Copy, PartialEq, ::prost::Message)]
493pub struct GetDataUsageMetricsExportStatusResponse {
494    #[prost(bool, tag = "1")]
495    pub enabled: bool,
496}
497#[derive(serde::Serialize, serde::Deserialize)]
498#[serde(rename_all = "snake_case")]
499#[derive(Clone, Copy, PartialEq, ::prost::Message)]
500pub struct UpdateDataUsageMetricsExportStatusRequest {
501    #[prost(bool, tag = "3")]
502    pub enabled: bool,
503}
504#[derive(serde::Serialize, serde::Deserialize)]
505#[serde(rename_all = "snake_case")]
506#[derive(Clone, Copy, PartialEq, ::prost::Message)]
507pub struct UpdateDataUsageMetricsExportStatusResponse {
508    #[prost(bool, tag = "1")]
509    pub enabled: bool,
510}
511#[derive(serde::Serialize, serde::Deserialize)]
512#[serde(rename_all = "snake_case")]
513#[derive(Clone, PartialEq, ::prost::Message)]
514pub struct GetDataUsageRequest {
515    #[prost(message, optional, tag = "1")]
517    pub date_range: ::core::option::Option<DateRange>,
518    #[prost(message, optional, tag = "2")]
526    pub resolution: ::core::option::Option<::prost_wkt_types::Duration>,
527    #[prost(enumeration = "AggregateBy", repeated, tag = "3")]
530    pub aggregate: ::prost::alloc::vec::Vec<i32>,
531    #[prost(message, repeated, tag = "4")]
536    pub dimension_filters: ::prost::alloc::vec::Vec<Dimension>,
537}
538#[derive(serde::Serialize, serde::Deserialize)]
539#[serde(rename_all = "snake_case")]
540#[derive(Clone, PartialEq, ::prost::Message)]
541pub struct DataUsageEntry {
542    #[prost(message, optional, tag = "1")]
543    pub timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
544    #[prost(float, tag = "2")]
545    pub size_gb: f32,
546    #[prost(float, tag = "3")]
547    pub units: f32,
548    #[prost(message, repeated, tag = "4")]
549    pub dimensions: ::prost::alloc::vec::Vec<Dimension>,
550}
551#[derive(serde::Serialize, serde::Deserialize)]
552#[serde(rename_all = "snake_case")]
553#[derive(Clone, PartialEq, ::prost::Message)]
554pub struct GetDataUsageResponse {
555    #[prost(message, repeated, tag = "1")]
556    pub entries: ::prost::alloc::vec::Vec<DataUsageEntry>,
557}
558#[derive(serde::Serialize, serde::Deserialize)]
559#[serde(rename_all = "snake_case")]
560#[derive(Clone, Copy, PartialEq, ::prost::Message)]
561pub struct GetDailyUsageUnitsRequest {
562    #[prost(oneof = "get_daily_usage_units_request::RequestTime", tags = "1, 2")]
563    pub request_time: ::core::option::Option<get_daily_usage_units_request::RequestTime>,
564}
565pub mod get_daily_usage_units_request {
567    #[derive(serde::Serialize, serde::Deserialize)]
568    #[serde(rename_all = "snake_case")]
569    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
570    pub enum RequestTime {
571        #[prost(enumeration = "super::Range", tag = "1")]
572        Range(i32),
573        #[prost(message, tag = "2")]
574        DateRange(super::DateRange),
575    }
576}
577#[derive(serde::Serialize, serde::Deserialize)]
578#[serde(rename_all = "snake_case")]
579#[derive(Clone, PartialEq, ::prost::Message)]
580pub struct GetDailyUsageUnitsResponse {
581    #[prost(message, repeated, tag = "1")]
582    pub units: ::prost::alloc::vec::Vec<DetailedDailyUnits>,
583}
584#[derive(serde::Serialize, serde::Deserialize)]
585#[serde(rename_all = "snake_case")]
586#[derive(Clone, Copy, PartialEq, ::prost::Message)]
587pub struct GetDailyUsageProcessedGbsRequest {
588    #[prost(oneof = "get_daily_usage_processed_gbs_request::RequestTime", tags = "1, 2")]
589    pub request_time: ::core::option::Option<
590        get_daily_usage_processed_gbs_request::RequestTime,
591    >,
592}
593pub mod get_daily_usage_processed_gbs_request {
595    #[derive(serde::Serialize, serde::Deserialize)]
596    #[serde(rename_all = "snake_case")]
597    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
598    pub enum RequestTime {
599        #[prost(enumeration = "super::Range", tag = "1")]
600        Range(i32),
601        #[prost(message, tag = "2")]
602        DateRange(super::DateRange),
603    }
604}
605#[derive(serde::Serialize, serde::Deserialize)]
606#[serde(rename_all = "snake_case")]
607#[derive(Clone, PartialEq, ::prost::Message)]
608pub struct GetDailyUsageProcessedGbsResponse {
609    #[prost(message, repeated, tag = "1")]
610    pub gbs: ::prost::alloc::vec::Vec<DetailedDailyProcessedGbs>,
611}
612#[derive(serde::Serialize, serde::Deserialize)]
613#[serde(rename_all = "snake_case")]
614#[derive(Clone, Copy, PartialEq, ::prost::Message)]
615pub struct GetDailyUsageEvaluationTokensRequest {
616    #[prost(
617        oneof = "get_daily_usage_evaluation_tokens_request::RequestTime",
618        tags = "1, 2"
619    )]
620    pub request_time: ::core::option::Option<
621        get_daily_usage_evaluation_tokens_request::RequestTime,
622    >,
623}
624pub mod get_daily_usage_evaluation_tokens_request {
626    #[derive(serde::Serialize, serde::Deserialize)]
627    #[serde(rename_all = "snake_case")]
628    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
629    pub enum RequestTime {
630        #[prost(enumeration = "super::Range", tag = "1")]
631        Range(i32),
632        #[prost(message, tag = "2")]
633        DateRange(super::DateRange),
634    }
635}
636#[derive(serde::Serialize, serde::Deserialize)]
637#[serde(rename_all = "snake_case")]
638#[derive(Clone, PartialEq, ::prost::Message)]
639pub struct GetDailyUsageEvaluationTokensResponse {
640    #[prost(message, repeated, tag = "1")]
641    pub tokens: ::prost::alloc::vec::Vec<DetailedDailyEvaluationTokens>,
642}
643#[derive(serde::Serialize, serde::Deserialize)]
644#[serde(rename_all = "snake_case")]
645#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
646#[repr(i32)]
647pub enum AggregateBy {
648    Unspecified = 0,
649    Application = 1,
650    Subsystem = 2,
651    Pillar = 3,
652    Priority = 4,
653    PolicyName = 5,
654    Severity = 6,
655}
656impl AggregateBy {
657    pub fn as_str_name(&self) -> &'static str {
662        match self {
663            Self::Unspecified => "AGGREGATE_BY_UNSPECIFIED",
664            Self::Application => "AGGREGATE_BY_APPLICATION",
665            Self::Subsystem => "AGGREGATE_BY_SUBSYSTEM",
666            Self::Pillar => "AGGREGATE_BY_PILLAR",
667            Self::Priority => "AGGREGATE_BY_PRIORITY",
668            Self::PolicyName => "AGGREGATE_BY_POLICY_NAME",
669            Self::Severity => "AGGREGATE_BY_SEVERITY",
670        }
671    }
672    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
674        match value {
675            "AGGREGATE_BY_UNSPECIFIED" => Some(Self::Unspecified),
676            "AGGREGATE_BY_APPLICATION" => Some(Self::Application),
677            "AGGREGATE_BY_SUBSYSTEM" => Some(Self::Subsystem),
678            "AGGREGATE_BY_PILLAR" => Some(Self::Pillar),
679            "AGGREGATE_BY_PRIORITY" => Some(Self::Priority),
680            "AGGREGATE_BY_POLICY_NAME" => Some(Self::PolicyName),
681            "AGGREGATE_BY_SEVERITY" => Some(Self::Severity),
682            _ => None,
683        }
684    }
685}
686pub mod data_usage_service_client {
688    #![allow(
689        unused_variables,
690        dead_code,
691        missing_docs,
692        clippy::wildcard_imports,
693        clippy::let_unit_value,
694    )]
695    use tonic::codegen::*;
696    use tonic::codegen::http::Uri;
697    #[derive(Debug, Clone)]
698    pub struct DataUsageServiceClient<T> {
699        inner: tonic::client::Grpc<T>,
700    }
701    impl DataUsageServiceClient<tonic::transport::Channel> {
702        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
704        where
705            D: TryInto<tonic::transport::Endpoint>,
706            D::Error: Into<StdError>,
707        {
708            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
709            Ok(Self::new(conn))
710        }
711    }
712    impl<T> DataUsageServiceClient<T>
713    where
714        T: tonic::client::GrpcService<tonic::body::BoxBody>,
715        T::Error: Into<StdError>,
716        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
717        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
718    {
719        pub fn new(inner: T) -> Self {
720            let inner = tonic::client::Grpc::new(inner);
721            Self { inner }
722        }
723        pub fn with_origin(inner: T, origin: Uri) -> Self {
724            let inner = tonic::client::Grpc::with_origin(inner, origin);
725            Self { inner }
726        }
727        pub fn with_interceptor<F>(
728            inner: T,
729            interceptor: F,
730        ) -> DataUsageServiceClient<InterceptedService<T, F>>
731        where
732            F: tonic::service::Interceptor,
733            T::ResponseBody: Default,
734            T: tonic::codegen::Service<
735                http::Request<tonic::body::BoxBody>,
736                Response = http::Response<
737                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
738                >,
739            >,
740            <T as tonic::codegen::Service<
741                http::Request<tonic::body::BoxBody>,
742            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
743        {
744            DataUsageServiceClient::new(InterceptedService::new(inner, interceptor))
745        }
746        #[must_use]
751        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
752            self.inner = self.inner.send_compressed(encoding);
753            self
754        }
755        #[must_use]
757        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
758            self.inner = self.inner.accept_compressed(encoding);
759            self
760        }
761        #[must_use]
765        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
766            self.inner = self.inner.max_decoding_message_size(limit);
767            self
768        }
769        #[must_use]
773        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
774            self.inner = self.inner.max_encoding_message_size(limit);
775            self
776        }
777        #[deprecated]
779        pub async fn get_team_detailed_data_usage(
780            &mut self,
781            request: impl tonic::IntoRequest<super::GetTeamDetailedDataUsageRequest>,
782        ) -> std::result::Result<
783            tonic::Response<
784                tonic::codec::Streaming<super::GetTeamDetailedDataUsageResponse>,
785            >,
786            tonic::Status,
787        > {
788            self.inner
789                .ready()
790                .await
791                .map_err(|e| {
792                    tonic::Status::unknown(
793                        format!("Service was not ready: {}", e.into()),
794                    )
795                })?;
796            let codec = tonic::codec::ProstCodec::default();
797            let path = http::uri::PathAndQuery::from_static(
798                "/com.coralogix.datausage.v2.DataUsageService/GetTeamDetailedDataUsage",
799            );
800            let mut req = request.into_request();
801            req.extensions_mut()
802                .insert(
803                    GrpcMethod::new(
804                        "com.coralogix.datausage.v2.DataUsageService",
805                        "GetTeamDetailedDataUsage",
806                    ),
807                );
808            self.inner.server_streaming(req, path, codec).await
809        }
810        pub async fn get_spans_count(
811            &mut self,
812            request: impl tonic::IntoRequest<super::GetSpansCountRequest>,
813        ) -> std::result::Result<
814            tonic::Response<tonic::codec::Streaming<super::GetSpansCountResponse>>,
815            tonic::Status,
816        > {
817            self.inner
818                .ready()
819                .await
820                .map_err(|e| {
821                    tonic::Status::unknown(
822                        format!("Service was not ready: {}", e.into()),
823                    )
824                })?;
825            let codec = tonic::codec::ProstCodec::default();
826            let path = http::uri::PathAndQuery::from_static(
827                "/com.coralogix.datausage.v2.DataUsageService/GetSpansCount",
828            );
829            let mut req = request.into_request();
830            req.extensions_mut()
831                .insert(
832                    GrpcMethod::new(
833                        "com.coralogix.datausage.v2.DataUsageService",
834                        "GetSpansCount",
835                    ),
836                );
837            self.inner.server_streaming(req, path, codec).await
838        }
839        pub async fn get_logs_count(
840            &mut self,
841            request: impl tonic::IntoRequest<super::GetLogsCountRequest>,
842        ) -> std::result::Result<
843            tonic::Response<tonic::codec::Streaming<super::GetLogsCountResponse>>,
844            tonic::Status,
845        > {
846            self.inner
847                .ready()
848                .await
849                .map_err(|e| {
850                    tonic::Status::unknown(
851                        format!("Service was not ready: {}", e.into()),
852                    )
853                })?;
854            let codec = tonic::codec::ProstCodec::default();
855            let path = http::uri::PathAndQuery::from_static(
856                "/com.coralogix.datausage.v2.DataUsageService/GetLogsCount",
857            );
858            let mut req = request.into_request();
859            req.extensions_mut()
860                .insert(
861                    GrpcMethod::new(
862                        "com.coralogix.datausage.v2.DataUsageService",
863                        "GetLogsCount",
864                    ),
865                );
866            self.inner.server_streaming(req, path, codec).await
867        }
868        pub async fn get_data_usage_metrics_export_status(
869            &mut self,
870            request: impl tonic::IntoRequest<
871                super::GetDataUsageMetricsExportStatusRequest,
872            >,
873        ) -> std::result::Result<
874            tonic::Response<super::GetDataUsageMetricsExportStatusResponse>,
875            tonic::Status,
876        > {
877            self.inner
878                .ready()
879                .await
880                .map_err(|e| {
881                    tonic::Status::unknown(
882                        format!("Service was not ready: {}", e.into()),
883                    )
884                })?;
885            let codec = tonic::codec::ProstCodec::default();
886            let path = http::uri::PathAndQuery::from_static(
887                "/com.coralogix.datausage.v2.DataUsageService/GetDataUsageMetricsExportStatus",
888            );
889            let mut req = request.into_request();
890            req.extensions_mut()
891                .insert(
892                    GrpcMethod::new(
893                        "com.coralogix.datausage.v2.DataUsageService",
894                        "GetDataUsageMetricsExportStatus",
895                    ),
896                );
897            self.inner.unary(req, path, codec).await
898        }
899        pub async fn update_data_usage_metrics_export_status(
900            &mut self,
901            request: impl tonic::IntoRequest<
902                super::UpdateDataUsageMetricsExportStatusRequest,
903            >,
904        ) -> std::result::Result<
905            tonic::Response<super::UpdateDataUsageMetricsExportStatusResponse>,
906            tonic::Status,
907        > {
908            self.inner
909                .ready()
910                .await
911                .map_err(|e| {
912                    tonic::Status::unknown(
913                        format!("Service was not ready: {}", e.into()),
914                    )
915                })?;
916            let codec = tonic::codec::ProstCodec::default();
917            let path = http::uri::PathAndQuery::from_static(
918                "/com.coralogix.datausage.v2.DataUsageService/UpdateDataUsageMetricsExportStatus",
919            );
920            let mut req = request.into_request();
921            req.extensions_mut()
922                .insert(
923                    GrpcMethod::new(
924                        "com.coralogix.datausage.v2.DataUsageService",
925                        "UpdateDataUsageMetricsExportStatus",
926                    ),
927                );
928            self.inner.unary(req, path, codec).await
929        }
930        pub async fn get_data_usage(
931            &mut self,
932            request: impl tonic::IntoRequest<super::GetDataUsageRequest>,
933        ) -> std::result::Result<
934            tonic::Response<tonic::codec::Streaming<super::GetDataUsageResponse>>,
935            tonic::Status,
936        > {
937            self.inner
938                .ready()
939                .await
940                .map_err(|e| {
941                    tonic::Status::unknown(
942                        format!("Service was not ready: {}", e.into()),
943                    )
944                })?;
945            let codec = tonic::codec::ProstCodec::default();
946            let path = http::uri::PathAndQuery::from_static(
947                "/com.coralogix.datausage.v2.DataUsageService/GetDataUsage",
948            );
949            let mut req = request.into_request();
950            req.extensions_mut()
951                .insert(
952                    GrpcMethod::new(
953                        "com.coralogix.datausage.v2.DataUsageService",
954                        "GetDataUsage",
955                    ),
956                );
957            self.inner.server_streaming(req, path, codec).await
958        }
959        pub async fn get_daily_usage_units(
961            &mut self,
962            request: impl tonic::IntoRequest<super::GetDailyUsageUnitsRequest>,
963        ) -> std::result::Result<
964            tonic::Response<super::GetDailyUsageUnitsResponse>,
965            tonic::Status,
966        > {
967            self.inner
968                .ready()
969                .await
970                .map_err(|e| {
971                    tonic::Status::unknown(
972                        format!("Service was not ready: {}", e.into()),
973                    )
974                })?;
975            let codec = tonic::codec::ProstCodec::default();
976            let path = http::uri::PathAndQuery::from_static(
977                "/com.coralogix.datausage.v2.DataUsageService/GetDailyUsageUnits",
978            );
979            let mut req = request.into_request();
980            req.extensions_mut()
981                .insert(
982                    GrpcMethod::new(
983                        "com.coralogix.datausage.v2.DataUsageService",
984                        "GetDailyUsageUnits",
985                    ),
986                );
987            self.inner.unary(req, path, codec).await
988        }
989        pub async fn get_daily_usage_processed_gbs(
991            &mut self,
992            request: impl tonic::IntoRequest<super::GetDailyUsageProcessedGbsRequest>,
993        ) -> std::result::Result<
994            tonic::Response<super::GetDailyUsageProcessedGbsResponse>,
995            tonic::Status,
996        > {
997            self.inner
998                .ready()
999                .await
1000                .map_err(|e| {
1001                    tonic::Status::unknown(
1002                        format!("Service was not ready: {}", e.into()),
1003                    )
1004                })?;
1005            let codec = tonic::codec::ProstCodec::default();
1006            let path = http::uri::PathAndQuery::from_static(
1007                "/com.coralogix.datausage.v2.DataUsageService/GetDailyUsageProcessedGbs",
1008            );
1009            let mut req = request.into_request();
1010            req.extensions_mut()
1011                .insert(
1012                    GrpcMethod::new(
1013                        "com.coralogix.datausage.v2.DataUsageService",
1014                        "GetDailyUsageProcessedGbs",
1015                    ),
1016                );
1017            self.inner.unary(req, path, codec).await
1018        }
1019        pub async fn get_daily_usage_evaluation_tokens(
1021            &mut self,
1022            request: impl tonic::IntoRequest<super::GetDailyUsageEvaluationTokensRequest>,
1023        ) -> std::result::Result<
1024            tonic::Response<super::GetDailyUsageEvaluationTokensResponse>,
1025            tonic::Status,
1026        > {
1027            self.inner
1028                .ready()
1029                .await
1030                .map_err(|e| {
1031                    tonic::Status::unknown(
1032                        format!("Service was not ready: {}", e.into()),
1033                    )
1034                })?;
1035            let codec = tonic::codec::ProstCodec::default();
1036            let path = http::uri::PathAndQuery::from_static(
1037                "/com.coralogix.datausage.v2.DataUsageService/GetDailyUsageEvaluationTokens",
1038            );
1039            let mut req = request.into_request();
1040            req.extensions_mut()
1041                .insert(
1042                    GrpcMethod::new(
1043                        "com.coralogix.datausage.v2.DataUsageService",
1044                        "GetDailyUsageEvaluationTokens",
1045                    ),
1046                );
1047            self.inner.unary(req, path, codec).await
1048        }
1049    }
1050}