Skip to main content

nominal_api_proto/proto/
nominal.run.v1.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct Unit {
4    #[prost(string, optional, tag = "1")]
5    pub name: ::core::option::Option<::prost::alloc::string::String>,
6    #[prost(string, tag = "2")]
7    pub symbol: ::prost::alloc::string::String,
8}
9#[derive(Clone, Copy, PartialEq, ::prost::Message)]
10pub struct UtcTimestamp {
11    #[prost(int64, tag = "1")]
12    pub seconds_since_epoch: i64,
13    #[prost(int64, optional, tag = "2")]
14    pub offset_nanoseconds: ::core::option::Option<i64>,
15}
16#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
17#[repr(i32)]
18pub enum WeakTimestampType {
19    Unspecified = 0,
20    Absolute = 1,
21    Relative = 2,
22    Pending = 3,
23}
24impl WeakTimestampType {
25    /// String value of the enum field names used in the ProtoBuf definition.
26    ///
27    /// The values are not transformed in any way and thus are considered stable
28    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
29    pub fn as_str_name(&self) -> &'static str {
30        match self {
31            Self::Unspecified => "WEAK_TIMESTAMP_TYPE_UNSPECIFIED",
32            Self::Absolute => "ABSOLUTE",
33            Self::Relative => "RELATIVE",
34            Self::Pending => "PENDING",
35        }
36    }
37    /// Creates an enum from field names used in the ProtoBuf definition.
38    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
39        match value {
40            "WEAK_TIMESTAMP_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
41            "ABSOLUTE" => Some(Self::Absolute),
42            "RELATIVE" => Some(Self::Relative),
43            "PENDING" => Some(Self::Pending),
44            _ => None,
45        }
46    }
47}
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct DataSource {
50    #[prost(oneof = "data_source::DataSource", tags = "1, 2, 3, 4, 5")]
51    pub data_source: ::core::option::Option<data_source::DataSource>,
52}
53/// Nested message and enum types in `DataSource`.
54pub mod data_source {
55    #[derive(Clone, PartialEq, ::prost::Oneof)]
56    pub enum DataSource {
57        #[prost(string, tag = "1")]
58        Dataset(::prost::alloc::string::String),
59        #[prost(string, tag = "2")]
60        Connection(::prost::alloc::string::String),
61        #[prost(string, tag = "3")]
62        LogSet(::prost::alloc::string::String),
63        #[prost(string, tag = "4")]
64        Video(::prost::alloc::string::String),
65        #[prost(string, tag = "5")]
66        Spatial(::prost::alloc::string::String),
67    }
68}
69#[derive(Clone, Copy, PartialEq, ::prost::Message)]
70pub struct Duration {
71    #[prost(int64, tag = "1")]
72    pub seconds: i64,
73    #[prost(int64, tag = "2")]
74    pub nanos: i64,
75}
76#[derive(Clone, PartialEq, ::prost::Message)]
77pub struct Link {
78    #[prost(string, optional, tag = "1")]
79    pub title: ::core::option::Option<::prost::alloc::string::String>,
80    #[prost(string, tag = "2")]
81    pub url: ::prost::alloc::string::String,
82}
83#[derive(Clone, PartialEq, ::prost::Message)]
84pub struct PropertiesFilter {
85    #[prost(string, tag = "1")]
86    pub name: ::prost::alloc::string::String,
87    #[prost(string, repeated, tag = "2")]
88    pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
89}
90#[derive(Clone, PartialEq, ::prost::Message)]
91pub struct LabelsFilter {
92    #[prost(enumeration = "SetOperator", tag = "1")]
93    pub operator: i32,
94    #[prost(string, repeated, tag = "2")]
95    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
96}
97#[derive(Clone, PartialEq, ::prost::Message)]
98pub struct CheckAlertState {
99    #[prost(oneof = "check_alert_state::CheckAlertState", tags = "1, 2, 3")]
100    pub check_alert_state: ::core::option::Option<check_alert_state::CheckAlertState>,
101}
102/// Nested message and enum types in `CheckAlertState`.
103pub mod check_alert_state {
104    #[derive(Clone, PartialEq, ::prost::Oneof)]
105    pub enum CheckAlertState {
106        #[prost(message, tag = "1")]
107        PendingReview(super::PendingReviewAlertState),
108        #[prost(message, tag = "2")]
109        ClosedWithFurtherAction(super::ClosedWithFurtherActionAlertState),
110        #[prost(message, tag = "3")]
111        ClosedWithIgnore(super::ClosedWithIgnoreAlertState),
112    }
113}
114#[derive(Clone, Copy, PartialEq, ::prost::Message)]
115pub struct PendingReviewAlertState {}
116#[derive(Clone, PartialEq, ::prost::Message)]
117pub struct ClosedWithFurtherActionAlertState {
118    #[prost(string, tag = "1")]
119    pub comment: ::prost::alloc::string::String,
120    #[prost(string, tag = "2")]
121    pub closed_by: ::prost::alloc::string::String,
122}
123#[derive(Clone, PartialEq, ::prost::Message)]
124pub struct ClosedWithIgnoreAlertState {
125    #[prost(string, tag = "1")]
126    pub comment: ::prost::alloc::string::String,
127    #[prost(string, tag = "2")]
128    pub closed_by: ::prost::alloc::string::String,
129}
130#[derive(Clone, PartialEq, ::prost::Message)]
131pub struct DataScope {
132    #[prost(string, tag = "1")]
133    pub data_scope_name: ::prost::alloc::string::String,
134    #[prost(message, optional, tag = "2")]
135    pub data_source: ::core::option::Option<DataSource>,
136    #[prost(message, optional, tag = "3")]
137    pub offset: ::core::option::Option<Duration>,
138    #[prost(enumeration = "WeakTimestampType", tag = "4")]
139    pub timestamp_type: i32,
140    #[prost(map = "string, string", tag = "5")]
141    pub series_tags: ::std::collections::HashMap<
142        ::prost::alloc::string::String,
143        ::prost::alloc::string::String,
144    >,
145}
146#[derive(Clone, PartialEq, ::prost::Message)]
147pub struct MetadataChange {
148    #[prost(oneof = "metadata_change::MetadataChange", tags = "1, 2, 3")]
149    pub metadata_change: ::core::option::Option<metadata_change::MetadataChange>,
150}
151/// Nested message and enum types in `MetadataChange`.
152pub mod metadata_change {
153    #[derive(Clone, PartialEq, ::prost::Oneof)]
154    pub enum MetadataChange {
155        #[prost(message, tag = "1")]
156        RenameLabel(super::RenameLabel),
157        #[prost(message, tag = "2")]
158        RenamePropertyKey(super::RenamePropertyKey),
159        #[prost(message, tag = "3")]
160        MergePropertyValuesForKey(super::MergePropertyValuesForKey),
161    }
162}
163#[derive(Clone, PartialEq, ::prost::Message)]
164pub struct RenameLabel {
165    #[prost(string, repeated, tag = "1")]
166    pub source: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
167    #[prost(string, tag = "2")]
168    pub target: ::prost::alloc::string::String,
169}
170#[derive(Clone, PartialEq, ::prost::Message)]
171pub struct RenamePropertyKey {
172    #[prost(string, repeated, tag = "1")]
173    pub source: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
174    #[prost(string, tag = "2")]
175    pub target: ::prost::alloc::string::String,
176    #[prost(message, optional, tag = "3")]
177    pub on_conflict: ::core::option::Option<ConflictBehavior>,
178}
179#[derive(Clone, PartialEq, ::prost::Message)]
180pub struct MergePropertyValuesForKey {
181    #[prost(string, tag = "1")]
182    pub key: ::prost::alloc::string::String,
183    #[prost(string, repeated, tag = "2")]
184    pub source: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
185    #[prost(string, tag = "3")]
186    pub target: ::prost::alloc::string::String,
187}
188#[derive(Clone, PartialEq, ::prost::Message)]
189pub struct ConflictBehavior {
190    #[prost(oneof = "conflict_behavior::ConflictBehavior", tags = "1, 2")]
191    pub conflict_behavior: ::core::option::Option<conflict_behavior::ConflictBehavior>,
192}
193/// Nested message and enum types in `ConflictBehavior`.
194pub mod conflict_behavior {
195    #[derive(Clone, PartialEq, ::prost::Oneof)]
196    pub enum ConflictBehavior {
197        #[prost(message, tag = "1")]
198        Skip(super::SkipOnConflict),
199        #[prost(message, tag = "2")]
200        Overwrite(super::OverwriteOnConflict),
201    }
202}
203#[derive(Clone, Copy, PartialEq, ::prost::Message)]
204pub struct SkipOnConflict {}
205#[derive(Clone, PartialEq, ::prost::Message)]
206pub struct OverwriteOnConflict {
207    #[prost(string, repeated, tag = "1")]
208    pub priority: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
209}
210#[derive(Clone, PartialEq, ::prost::Message)]
211pub struct Run {
212    #[prost(string, tag = "1")]
213    pub rid: ::prost::alloc::string::String,
214    #[prost(int64, tag = "2")]
215    pub run_number: i64,
216    #[prost(string, optional, tag = "3")]
217    pub run_prefix: ::core::option::Option<::prost::alloc::string::String>,
218    #[prost(string, tag = "4")]
219    pub title: ::prost::alloc::string::String,
220    #[prost(string, tag = "5")]
221    pub description: ::prost::alloc::string::String,
222    #[prost(string, optional, tag = "6")]
223    pub author_rid: ::core::option::Option<::prost::alloc::string::String>,
224    #[prost(message, optional, tag = "7")]
225    pub start_time: ::core::option::Option<UtcTimestamp>,
226    #[prost(message, optional, tag = "8")]
227    pub end_time: ::core::option::Option<UtcTimestamp>,
228    #[prost(map = "string, string", tag = "9")]
229    pub properties: ::std::collections::HashMap<
230        ::prost::alloc::string::String,
231        ::prost::alloc::string::String,
232    >,
233    #[prost(string, repeated, tag = "10")]
234    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
235    #[prost(message, repeated, tag = "11")]
236    pub links: ::prost::alloc::vec::Vec<Link>,
237    #[prost(message, optional, tag = "12")]
238    pub created_at: ::core::option::Option<
239        super::super::super::google::protobuf::Timestamp,
240    >,
241    #[prost(message, optional, tag = "13")]
242    pub updated_at: ::core::option::Option<
243        super::super::super::google::protobuf::Timestamp,
244    >,
245    #[prost(map = "string, message", tag = "14")]
246    pub asset_data_scopes_map: ::std::collections::HashMap<
247        ::prost::alloc::string::String,
248        DataScopes,
249    >,
250    #[prost(message, repeated, tag = "15")]
251    pub asset_data_scopes: ::prost::alloc::vec::Vec<DataScope>,
252    #[prost(map = "string, message", tag = "16")]
253    pub data_sources: ::std::collections::HashMap<
254        ::prost::alloc::string::String,
255        RunDataSource,
256    >,
257    #[prost(string, repeated, tag = "17")]
258    pub attachments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
259    #[prost(string, optional, tag = "18")]
260    pub asset: ::core::option::Option<::prost::alloc::string::String>,
261    #[prost(string, repeated, tag = "19")]
262    pub assets: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
263    #[prost(bool, tag = "20")]
264    pub is_archived: bool,
265    #[prost(map = "string, message", tag = "21")]
266    pub typed_properties: ::std::collections::HashMap<
267        ::prost::alloc::string::String,
268        super::super::types::TypedPropertyValue,
269    >,
270    #[prost(enumeration = "LockStatus", tag = "22")]
271    pub lock_status: i32,
272}
273#[derive(Clone, PartialEq, ::prost::Message)]
274pub struct DataScopes {
275    #[prost(map = "string, message", tag = "1")]
276    pub data_scopes: ::std::collections::HashMap<
277        ::prost::alloc::string::String,
278        DataScope,
279    >,
280}
281#[derive(Clone, PartialEq, ::prost::Message)]
282pub struct RunDataSource {
283    #[prost(message, optional, tag = "1")]
284    pub data_source: ::core::option::Option<DataSource>,
285    #[prost(message, optional, tag = "2")]
286    pub offset: ::core::option::Option<Duration>,
287    #[prost(string, tag = "3")]
288    pub ref_name: ::prost::alloc::string::String,
289    #[prost(enumeration = "WeakTimestampType", tag = "4")]
290    pub timestamp_type: i32,
291    #[prost(map = "string, string", tag = "5")]
292    pub series_tags: ::std::collections::HashMap<
293        ::prost::alloc::string::String,
294        ::prost::alloc::string::String,
295    >,
296}
297#[derive(Clone, PartialEq, ::prost::Message)]
298pub struct CreateRunDataSource {
299    #[prost(message, optional, tag = "1")]
300    pub data_source: ::core::option::Option<DataSource>,
301    #[prost(string, optional, tag = "2")]
302    pub data_source_rid: ::core::option::Option<::prost::alloc::string::String>,
303    #[prost(message, optional, tag = "3")]
304    pub offset: ::core::option::Option<Duration>,
305    #[prost(map = "string, string", tag = "4")]
306    pub series_tags: ::std::collections::HashMap<
307        ::prost::alloc::string::String,
308        ::prost::alloc::string::String,
309    >,
310}
311#[derive(Clone, PartialEq, ::prost::Message)]
312pub struct RefNameAndType {
313    #[prost(string, tag = "1")]
314    pub name: ::prost::alloc::string::String,
315    #[prost(enumeration = "DataSourceType", tag = "2")]
316    pub r#type: i32,
317}
318#[derive(Clone, PartialEq, ::prost::Message)]
319pub struct DataSourceSeriesTag {
320    #[prost(string, tag = "1")]
321    pub name: ::prost::alloc::string::String,
322    #[prost(string, tag = "2")]
323    pub value: ::prost::alloc::string::String,
324}
325#[derive(Clone, Copy, PartialEq, ::prost::Message)]
326pub struct DataReviewAlertMetrics {
327    #[prost(int32, tag = "1")]
328    pub pending_review: i32,
329    #[prost(int32, tag = "2")]
330    pub closed_with_ignore: i32,
331    #[prost(int32, tag = "3")]
332    pub closed_with_further_action: i32,
333}
334#[derive(Clone, Copy, PartialEq, ::prost::Message)]
335pub struct DataReviewCheckMetrics {
336    #[prost(int32, tag = "1")]
337    pub pending_execution: i32,
338    #[prost(int32, tag = "2")]
339    pub executing: i32,
340    #[prost(int32, tag = "3")]
341    pub passing_automatic: i32,
342    #[prost(int32, tag = "4")]
343    pub pending_review: i32,
344    #[prost(int32, tag = "5")]
345    pub closed_with_ignore: i32,
346    #[prost(int32, tag = "6")]
347    pub closed_with_further_action: i32,
348    #[prost(int32, tag = "7")]
349    pub failed_to_execute_pending_review: i32,
350    #[prost(int32, tag = "8")]
351    pub failed_to_execute_closed_with_ignore: i32,
352    #[prost(int32, tag = "9")]
353    pub failed_to_execute_closed_with_further_action: i32,
354}
355#[derive(Clone, Copy, PartialEq, ::prost::Message)]
356pub struct DataReviewMetrics {
357    #[prost(message, optional, tag = "1")]
358    pub checks: ::core::option::Option<DataReviewCheckMetrics>,
359    #[prost(message, optional, tag = "2")]
360    pub alerts: ::core::option::Option<DataReviewAlertMetrics>,
361}
362#[derive(Clone, Copy, PartialEq, ::prost::Message)]
363pub struct RunDataReviewSummary {
364    #[prost(enumeration = "RunDataReviewEvaluationStatus", tag = "1")]
365    pub evaluation_status: i32,
366    #[prost(int32, tag = "2")]
367    pub total_issue_count: i32,
368    #[prost(int32, tag = "3")]
369    pub reviewed_issue_count: i32,
370    #[prost(int32, tag = "4")]
371    pub issues_with_further_action_count: i32,
372    #[prost(int32, tag = "5")]
373    pub execution_error_count: i32,
374}
375#[derive(Clone, PartialEq, ::prost::Message)]
376pub struct RunWithDataReviewMetrics {
377    #[prost(message, optional, tag = "1")]
378    pub run: ::core::option::Option<Run>,
379    #[prost(message, optional, tag = "2")]
380    pub data_review_metrics: ::core::option::Option<DataReviewMetrics>,
381}
382#[derive(Clone, PartialEq, ::prost::Message)]
383pub struct RunWithDataReviewSummary {
384    #[prost(message, optional, tag = "1")]
385    pub run: ::core::option::Option<Run>,
386    #[prost(message, optional, tag = "2")]
387    pub data_review_summary: ::core::option::Option<RunDataReviewSummary>,
388}
389#[derive(Clone, PartialEq, ::prost::Message)]
390pub struct AssetsFilter {
391    #[prost(string, repeated, tag = "1")]
392    pub assets: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
393}
394#[derive(Clone, PartialEq, ::prost::Message)]
395pub struct DatasetRidsFilter {
396    #[prost(string, repeated, tag = "1")]
397    pub dataset_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
398}
399#[derive(Clone, PartialEq, ::prost::Message)]
400pub struct CheckAlertStatesFilter {
401    #[prost(message, optional, tag = "1")]
402    pub check_alert_state: ::core::option::Option<CheckAlertState>,
403    #[prost(enumeration = "Operator", tag = "2")]
404    pub operator: i32,
405    #[prost(int64, tag = "3")]
406    pub threshold: i64,
407}
408#[derive(Clone, Copy, PartialEq, ::prost::Message)]
409pub struct CustomTimeframeFilter {
410    #[prost(message, optional, tag = "1")]
411    pub start_time: ::core::option::Option<UtcTimestamp>,
412    #[prost(message, optional, tag = "2")]
413    pub end_time: ::core::option::Option<UtcTimestamp>,
414}
415#[derive(Clone, Copy, PartialEq, ::prost::Message)]
416pub struct PresetTimeframeFilter {
417    #[prost(enumeration = "PresetTimeframeDuration", tag = "1")]
418    pub duration: i32,
419}
420#[derive(Clone, Copy, PartialEq, ::prost::Message)]
421pub struct TimeframeFilter {
422    #[prost(oneof = "timeframe_filter::TimeframeFilter", tags = "1, 2")]
423    pub timeframe_filter: ::core::option::Option<timeframe_filter::TimeframeFilter>,
424}
425/// Nested message and enum types in `TimeframeFilter`.
426pub mod timeframe_filter {
427    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
428    pub enum TimeframeFilter {
429        #[prost(message, tag = "1")]
430        Custom(super::CustomTimeframeFilter),
431        #[prost(message, tag = "2")]
432        Preset(super::PresetTimeframeFilter),
433    }
434}
435#[derive(Clone, Copy, PartialEq, ::prost::Message)]
436pub struct TimeRangeFilter {
437    #[prost(message, optional, tag = "1")]
438    pub start: ::core::option::Option<UtcTimestamp>,
439    #[prost(message, optional, tag = "2")]
440    pub end: ::core::option::Option<UtcTimestamp>,
441}
442#[derive(Clone, PartialEq, ::prost::Message)]
443pub struct SearchQuery {
444    #[prost(
445        oneof = "search_query::Query",
446        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31"
447    )]
448    pub query: ::core::option::Option<search_query::Query>,
449}
450/// Nested message and enum types in `SearchQuery`.
451pub mod search_query {
452    #[derive(Clone, PartialEq, ::prost::Oneof)]
453    pub enum Query {
454        #[prost(message, tag = "1")]
455        StartTimeInclusive(super::UtcTimestamp),
456        #[prost(message, tag = "2")]
457        StartTime(super::TimeframeFilter),
458        #[prost(message, tag = "3")]
459        EndTimeInclusive(super::UtcTimestamp),
460        #[prost(message, tag = "4")]
461        EndTime(super::TimeframeFilter),
462        #[prost(message, tag = "5")]
463        TimeRange(super::TimeRangeFilter),
464        #[prost(message, tag = "6")]
465        CreatedAt(super::TimeframeFilter),
466        #[prost(string, tag = "7")]
467        ExactMatch(::prost::alloc::string::String),
468        #[prost(string, tag = "8")]
469        SearchText(::prost::alloc::string::String),
470        #[prost(string, tag = "9")]
471        Asset(::prost::alloc::string::String),
472        #[prost(message, tag = "10")]
473        Assets(super::AssetsFilter),
474        #[prost(bool, tag = "11")]
475        IsSingleAsset(bool),
476        #[prost(string, tag = "12")]
477        Label(::prost::alloc::string::String),
478        #[prost(message, tag = "13")]
479        Labels(super::LabelsFilter),
480        #[prost(message, tag = "14")]
481        Property(super::super::super::types::Property),
482        #[prost(string, tag = "15")]
483        PropertyKey(::prost::alloc::string::String),
484        #[prost(message, tag = "16")]
485        Properties(super::PropertiesFilter),
486        #[prost(message, tag = "17")]
487        DataSourceSeriesTag(super::DataSourceSeriesTag),
488        #[prost(string, tag = "18")]
489        DataSourceRefName(::prost::alloc::string::String),
490        #[prost(message, tag = "19")]
491        DataSource(super::DataSource),
492        #[prost(int64, tag = "20")]
493        RunNumber(i64),
494        #[prost(string, tag = "21")]
495        RunPrefix(::prost::alloc::string::String),
496        #[prost(message, tag = "22")]
497        CheckAlertStatesFilter(super::CheckAlertStatesFilter),
498        #[prost(bool, tag = "23")]
499        Archived(bool),
500        #[prost(message, tag = "24")]
501        AllOf(super::SearchQueryList),
502        #[prost(message, tag = "25")]
503        AnyOf(super::SearchQueryList),
504        #[prost(message, tag = "26")]
505        Negated(::prost::alloc::boxed::Box<super::SearchQuery>),
506        #[prost(string, tag = "27")]
507        Workspace(::prost::alloc::string::String),
508        #[prost(message, tag = "28")]
509        NumericProperty(super::super::super::types::NumericPropertyPredicate),
510        #[prost(enumeration = "super::LockStatus", tag = "29")]
511        LockStatus(i32),
512        #[prost(message, tag = "30")]
513        DatasetRids(super::DatasetRidsFilter),
514        #[prost(message, tag = "31")]
515        NumericPropertyRange(super::super::super::types::NumericPropertyRangePredicate),
516    }
517}
518#[derive(Clone, PartialEq, ::prost::Message)]
519pub struct SearchQueryList {
520    #[prost(message, repeated, tag = "1")]
521    pub queries: ::prost::alloc::vec::Vec<SearchQuery>,
522}
523#[derive(Clone, PartialEq, ::prost::Message)]
524pub struct SortProperty {
525    #[prost(string, tag = "1")]
526    pub name: ::prost::alloc::string::String,
527}
528#[derive(Clone, PartialEq, ::prost::Message)]
529pub struct SortKey {
530    #[prost(oneof = "sort_key::SortKey", tags = "1, 2, 3")]
531    pub sort_key: ::core::option::Option<sort_key::SortKey>,
532}
533/// Nested message and enum types in `SortKey`.
534pub mod sort_key {
535    #[derive(Clone, PartialEq, ::prost::Oneof)]
536    pub enum SortKey {
537        #[prost(enumeration = "super::SortField", tag = "1")]
538        Field(i32),
539        #[prost(message, tag = "2")]
540        Property(super::SortProperty),
541        #[prost(message, tag = "3")]
542        NumericProperty(super::SortProperty),
543    }
544}
545#[derive(Clone, PartialEq, ::prost::Message)]
546pub struct SortKeyWithDirection {
547    #[prost(message, optional, tag = "1")]
548    pub sort_key: ::core::option::Option<SortKey>,
549    #[prost(bool, tag = "2")]
550    pub is_descending: bool,
551}
552#[derive(Clone, PartialEq, ::prost::Message)]
553pub struct SortOptions {
554    #[prost(bool, tag = "1")]
555    pub is_descending: bool,
556    #[deprecated]
557    #[prost(enumeration = "SortField", optional, tag = "2")]
558    pub field: ::core::option::Option<i32>,
559    #[prost(message, optional, tag = "3")]
560    pub sort_key: ::core::option::Option<SortKey>,
561    #[prost(message, repeated, tag = "4")]
562    pub additional_sort_keys: ::prost::alloc::vec::Vec<SortKeyWithDirection>,
563}
564#[derive(Clone, PartialEq, ::prost::Message)]
565pub struct ArchivedStatusSet {
566    #[prost(enumeration = "super::super::types::ArchivedStatus", repeated, tag = "1")]
567    pub archived_statuses: ::prost::alloc::vec::Vec<i32>,
568}
569#[derive(Clone, PartialEq, ::prost::Message)]
570pub struct PropertyMap {
571    #[prost(map = "string, string", tag = "1")]
572    pub properties: ::std::collections::HashMap<
573        ::prost::alloc::string::String,
574        ::prost::alloc::string::String,
575    >,
576}
577#[derive(Clone, PartialEq, ::prost::Message)]
578pub struct LabelSet {
579    #[prost(string, repeated, tag = "1")]
580    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
581}
582#[derive(Clone, PartialEq, ::prost::Message)]
583pub struct LinkList {
584    #[prost(message, repeated, tag = "1")]
585    pub links: ::prost::alloc::vec::Vec<Link>,
586}
587#[derive(Clone, PartialEq, ::prost::Message)]
588pub struct CreateRunDataSourceMap {
589    #[prost(map = "string, message", tag = "1")]
590    pub data_sources: ::std::collections::HashMap<
591        ::prost::alloc::string::String,
592        CreateRunDataSource,
593    >,
594}
595#[derive(Clone, PartialEq, ::prost::Message)]
596pub struct AttachmentRidSet {
597    #[prost(string, repeated, tag = "1")]
598    pub attachments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
599}
600#[derive(Clone, PartialEq, ::prost::Message)]
601pub struct CreateRunRequest {
602    #[prost(string, tag = "1")]
603    pub title: ::prost::alloc::string::String,
604    #[prost(string, tag = "2")]
605    pub description: ::prost::alloc::string::String,
606    #[prost(message, optional, tag = "3")]
607    pub start_time: ::core::option::Option<UtcTimestamp>,
608    #[prost(message, optional, tag = "4")]
609    pub end_time: ::core::option::Option<UtcTimestamp>,
610    #[prost(map = "string, string", tag = "5")]
611    pub properties: ::std::collections::HashMap<
612        ::prost::alloc::string::String,
613        ::prost::alloc::string::String,
614    >,
615    #[prost(string, repeated, tag = "6")]
616    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
617    #[prost(message, repeated, tag = "7")]
618    pub links: ::prost::alloc::vec::Vec<Link>,
619    #[prost(string, optional, tag = "8")]
620    pub run_prefix: ::core::option::Option<::prost::alloc::string::String>,
621    #[prost(map = "string, message", tag = "9")]
622    pub data_sources: ::std::collections::HashMap<
623        ::prost::alloc::string::String,
624        CreateRunDataSource,
625    >,
626    #[prost(string, repeated, tag = "10")]
627    pub attachments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
628    #[prost(string, optional, tag = "11")]
629    pub asset: ::core::option::Option<::prost::alloc::string::String>,
630    #[prost(string, repeated, tag = "12")]
631    pub assets: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
632    #[prost(string, optional, tag = "13")]
633    pub workspace: ::core::option::Option<::prost::alloc::string::String>,
634    #[prost(map = "string, message", tag = "14")]
635    pub typed_properties: ::std::collections::HashMap<
636        ::prost::alloc::string::String,
637        super::super::types::TypedPropertyValue,
638    >,
639}
640#[derive(Clone, PartialEq, ::prost::Message)]
641pub struct CreateRunResponse {
642    #[prost(message, optional, tag = "1")]
643    pub run: ::core::option::Option<Run>,
644}
645#[derive(Clone, PartialEq, ::prost::Message)]
646pub struct UpdateRunRequest {
647    #[prost(string, tag = "1")]
648    pub rid: ::prost::alloc::string::String,
649    #[prost(string, optional, tag = "2")]
650    pub title: ::core::option::Option<::prost::alloc::string::String>,
651    #[prost(string, optional, tag = "3")]
652    pub description: ::core::option::Option<::prost::alloc::string::String>,
653    #[prost(message, optional, tag = "4")]
654    pub start_time: ::core::option::Option<UtcTimestamp>,
655    #[prost(message, optional, tag = "5")]
656    pub end_time: ::core::option::Option<UtcTimestamp>,
657    #[prost(message, optional, tag = "6")]
658    pub properties: ::core::option::Option<PropertyMap>,
659    #[prost(message, optional, tag = "7")]
660    pub labels: ::core::option::Option<LabelSet>,
661    #[prost(message, optional, tag = "8")]
662    pub links: ::core::option::Option<LinkList>,
663    #[prost(string, optional, tag = "9")]
664    pub run_prefix: ::core::option::Option<::prost::alloc::string::String>,
665    #[prost(message, optional, tag = "10")]
666    pub data_sources: ::core::option::Option<CreateRunDataSourceMap>,
667    #[prost(message, optional, tag = "11")]
668    pub attachments: ::core::option::Option<AttachmentRidSet>,
669    #[prost(string, optional, tag = "12")]
670    pub asset: ::core::option::Option<::prost::alloc::string::String>,
671    #[prost(string, repeated, tag = "13")]
672    pub assets: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
673    #[prost(bool, optional, tag = "14")]
674    pub strict_overwrite: ::core::option::Option<bool>,
675    #[prost(message, optional, tag = "15")]
676    pub typed_properties: ::core::option::Option<
677        super::super::types::TypedPropertyUpdateWrapper,
678    >,
679}
680#[derive(Clone, PartialEq, ::prost::Message)]
681pub struct UpdateRunResponse {
682    #[prost(message, optional, tag = "1")]
683    pub run: ::core::option::Option<Run>,
684}
685#[derive(Clone, PartialEq, ::prost::Message)]
686pub struct CreateOrUpdateRunRequest {
687    #[prost(string, optional, tag = "1")]
688    pub run_rid: ::core::option::Option<::prost::alloc::string::String>,
689    #[prost(message, optional, tag = "2")]
690    pub create_run_request: ::core::option::Option<CreateRunRequest>,
691}
692#[derive(Clone, PartialEq, ::prost::Message)]
693pub struct CreateOrUpdateRunResponse {
694    #[prost(message, optional, tag = "1")]
695    pub run: ::core::option::Option<Run>,
696}
697#[derive(Clone, PartialEq, ::prost::Message)]
698pub struct AddDataSourcesToRunRequest {
699    #[prost(string, tag = "1")]
700    pub run_rid: ::prost::alloc::string::String,
701    #[prost(map = "string, message", tag = "2")]
702    pub data_sources: ::std::collections::HashMap<
703        ::prost::alloc::string::String,
704        CreateRunDataSource,
705    >,
706}
707#[derive(Clone, PartialEq, ::prost::Message)]
708pub struct AddDataSourcesToRunResponse {
709    #[prost(message, optional, tag = "1")]
710    pub run: ::core::option::Option<Run>,
711}
712#[derive(Clone, PartialEq, ::prost::Message)]
713pub struct BatchEditRunMetadataRequest {
714    #[prost(message, optional, tag = "1")]
715    pub run_search_query: ::core::option::Option<SearchQuery>,
716    #[prost(message, optional, tag = "2")]
717    pub operation: ::core::option::Option<MetadataChange>,
718}
719#[derive(Clone, PartialEq, ::prost::Message)]
720pub struct BatchEditRunMetadataResponse {
721    #[prost(string, repeated, tag = "1")]
722    pub modified_run_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
723    #[prost(string, repeated, tag = "2")]
724    pub conflicting_run_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
725}
726#[derive(Clone, PartialEq, ::prost::Message)]
727pub struct GetRunRequest {
728    #[prost(string, tag = "1")]
729    pub rid: ::prost::alloc::string::String,
730}
731#[derive(Clone, PartialEq, ::prost::Message)]
732pub struct GetRunResponse {
733    #[prost(message, optional, tag = "1")]
734    pub run: ::core::option::Option<Run>,
735}
736#[derive(Clone, PartialEq, ::prost::Message)]
737pub struct GetRunWithDataReviewMetricsRequest {
738    #[prost(string, tag = "1")]
739    pub rid: ::prost::alloc::string::String,
740}
741#[derive(Clone, PartialEq, ::prost::Message)]
742pub struct GetRunWithDataReviewMetricsResponse {
743    #[prost(message, optional, tag = "1")]
744    pub run_with_data_review_metrics: ::core::option::Option<RunWithDataReviewMetrics>,
745}
746#[derive(Clone, PartialEq, ::prost::Message)]
747pub struct GetRunWithDataReviewSummaryRequest {
748    #[prost(string, tag = "1")]
749    pub rid: ::prost::alloc::string::String,
750}
751#[derive(Clone, PartialEq, ::prost::Message)]
752pub struct GetRunWithDataReviewSummaryResponse {
753    #[prost(message, optional, tag = "1")]
754    pub run_with_data_review_summary: ::core::option::Option<RunWithDataReviewSummary>,
755}
756#[derive(Clone, PartialEq, ::prost::Message)]
757pub struct GetRunByIdRequest {
758    #[prost(int64, tag = "1")]
759    pub run_number: i64,
760    #[prost(string, optional, tag = "2")]
761    pub run_prefix: ::core::option::Option<::prost::alloc::string::String>,
762    #[prost(string, optional, tag = "3")]
763    pub workspace: ::core::option::Option<::prost::alloc::string::String>,
764}
765#[derive(Clone, PartialEq, ::prost::Message)]
766pub struct GetRunByIdResponse {
767    #[prost(message, optional, tag = "1")]
768    pub run: ::core::option::Option<Run>,
769}
770#[derive(Clone, PartialEq, ::prost::Message)]
771pub struct GetRunsRequest {
772    #[prost(string, repeated, tag = "1")]
773    pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
774}
775#[derive(Clone, PartialEq, ::prost::Message)]
776pub struct GetRunsResponse {
777    #[prost(map = "string, message", tag = "1")]
778    pub runs: ::std::collections::HashMap<::prost::alloc::string::String, Run>,
779}
780#[derive(Clone, PartialEq, ::prost::Message)]
781pub struct GetRunsByAssetRequest {
782    #[prost(string, tag = "1")]
783    pub asset: ::prost::alloc::string::String,
784    #[prost(string, optional, tag = "2")]
785    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
786}
787#[derive(Clone, PartialEq, ::prost::Message)]
788pub struct GetRunsByAssetResponse {
789    #[prost(message, repeated, tag = "1")]
790    pub results: ::prost::alloc::vec::Vec<Run>,
791    #[prost(string, optional, tag = "2")]
792    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
793}
794#[derive(Clone, PartialEq, ::prost::Message)]
795pub struct GetLatestRunForAssetsRequest {
796    #[prost(string, repeated, tag = "1")]
797    pub asset_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
798}
799#[derive(Clone, PartialEq, ::prost::Message)]
800pub struct GetLatestRunForAssetsResponse {
801    #[prost(map = "string, message", tag = "1")]
802    pub runs: ::std::collections::HashMap<::prost::alloc::string::String, Run>,
803}
804#[derive(Clone, PartialEq, ::prost::Message)]
805pub struct GetAllRunsPropertiesAndLabelsRequest {
806    #[prost(string, repeated, tag = "1")]
807    pub workspaces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
808}
809#[derive(Clone, PartialEq, ::prost::Message)]
810pub struct GetAllRunsPropertiesAndLabelsResponse {
811    #[prost(map = "string, message", tag = "1")]
812    pub properties: ::std::collections::HashMap<
813        ::prost::alloc::string::String,
814        PropertyValueList,
815    >,
816    #[prost(string, repeated, tag = "2")]
817    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
818}
819#[derive(Clone, PartialEq, ::prost::Message)]
820pub struct PropertyValueList {
821    #[prost(string, repeated, tag = "1")]
822    pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
823}
824#[derive(Clone, PartialEq, ::prost::Message)]
825pub struct SearchRunsRequest {
826    #[prost(message, optional, tag = "1")]
827    pub sort: ::core::option::Option<SortOptions>,
828    #[prost(int32, tag = "2")]
829    pub page_size: i32,
830    #[prost(string, optional, tag = "3")]
831    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
832    #[prost(message, optional, tag = "4")]
833    pub query: ::core::option::Option<SearchQuery>,
834    #[deprecated]
835    #[prost(message, optional, tag = "5")]
836    pub archived_statuses: ::core::option::Option<ArchivedStatusSet>,
837    #[prost(bool, optional, tag = "6")]
838    pub include_match_count: ::core::option::Option<bool>,
839}
840#[derive(Clone, PartialEq, ::prost::Message)]
841pub struct SearchRunsResponse {
842    #[prost(message, repeated, tag = "1")]
843    pub results: ::prost::alloc::vec::Vec<Run>,
844    #[prost(string, optional, tag = "2")]
845    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
846    #[prost(int32, optional, tag = "3")]
847    pub total_count: ::core::option::Option<i32>,
848}
849#[derive(Clone, PartialEq, ::prost::Message)]
850pub struct SearchRunsWithDataReviewMetricsRequest {
851    #[prost(message, optional, tag = "1")]
852    pub sort: ::core::option::Option<SortOptions>,
853    #[prost(int32, tag = "2")]
854    pub page_size: i32,
855    #[prost(string, optional, tag = "3")]
856    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
857    #[prost(message, optional, tag = "4")]
858    pub query: ::core::option::Option<SearchQuery>,
859    #[deprecated]
860    #[prost(message, optional, tag = "5")]
861    pub archived_statuses: ::core::option::Option<ArchivedStatusSet>,
862}
863#[derive(Clone, PartialEq, ::prost::Message)]
864pub struct SearchRunsWithDataReviewMetricsResponse {
865    #[prost(message, repeated, tag = "1")]
866    pub results: ::prost::alloc::vec::Vec<RunWithDataReviewMetrics>,
867    #[prost(string, optional, tag = "2")]
868    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
869}
870#[derive(Clone, PartialEq, ::prost::Message)]
871pub struct SearchRunsWithDataReviewSummaryRequest {
872    #[prost(message, optional, tag = "1")]
873    pub sort: ::core::option::Option<SortOptions>,
874    #[prost(int32, tag = "2")]
875    pub page_size: i32,
876    #[prost(string, optional, tag = "3")]
877    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
878    #[prost(message, optional, tag = "4")]
879    pub query: ::core::option::Option<SearchQuery>,
880    #[deprecated]
881    #[prost(message, optional, tag = "5")]
882    pub archived_statuses: ::core::option::Option<ArchivedStatusSet>,
883}
884#[derive(Clone, PartialEq, ::prost::Message)]
885pub struct SearchRunsWithDataReviewSummaryResponse {
886    #[prost(message, repeated, tag = "1")]
887    pub results: ::prost::alloc::vec::Vec<RunWithDataReviewSummary>,
888    #[prost(string, optional, tag = "2")]
889    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
890}
891#[derive(Clone, PartialEq, ::prost::Message)]
892pub struct ArchiveRunRequest {
893    #[prost(string, tag = "1")]
894    pub rid: ::prost::alloc::string::String,
895    #[prost(bool, optional, tag = "2")]
896    pub include_linked_workbooks: ::core::option::Option<bool>,
897}
898#[derive(Clone, Copy, PartialEq, ::prost::Message)]
899pub struct ArchiveRunResponse {}
900#[derive(Clone, PartialEq, ::prost::Message)]
901pub struct UnarchiveRunRequest {
902    #[prost(string, tag = "1")]
903    pub rid: ::prost::alloc::string::String,
904    #[prost(bool, optional, tag = "2")]
905    pub include_linked_workbooks: ::core::option::Option<bool>,
906}
907#[derive(Clone, Copy, PartialEq, ::prost::Message)]
908pub struct UnarchiveRunResponse {}
909#[derive(Clone, PartialEq, ::prost::Message)]
910pub struct ArchiveRunsRequest {
911    #[prost(string, repeated, tag = "1")]
912    pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
913    #[prost(bool, optional, tag = "2")]
914    pub include_linked_workbooks: ::core::option::Option<bool>,
915}
916#[derive(Clone, Copy, PartialEq, ::prost::Message)]
917pub struct ArchiveRunsResponse {}
918#[derive(Clone, PartialEq, ::prost::Message)]
919pub struct UnarchiveRunsRequest {
920    #[prost(string, repeated, tag = "1")]
921    pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
922    #[prost(bool, optional, tag = "2")]
923    pub include_linked_workbooks: ::core::option::Option<bool>,
924}
925#[derive(Clone, Copy, PartialEq, ::prost::Message)]
926pub struct UnarchiveRunsResponse {}
927#[derive(Clone, PartialEq, ::prost::Message)]
928pub struct GetDataSourceRefNameAndTypeListRequest {
929    #[prost(string, repeated, tag = "1")]
930    pub workspaces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
931}
932#[derive(Clone, PartialEq, ::prost::Message)]
933pub struct GetDataSourceRefNameAndTypeListResponse {
934    #[prost(message, repeated, tag = "1")]
935    pub ref_name_and_types: ::prost::alloc::vec::Vec<RefNameAndType>,
936}
937#[derive(Clone, PartialEq, ::prost::Message)]
938pub struct UpdateRunAttachmentRequest {
939    #[prost(string, tag = "1")]
940    pub rid: ::prost::alloc::string::String,
941    #[prost(string, repeated, tag = "2")]
942    pub attachments_to_add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
943    #[prost(string, repeated, tag = "3")]
944    pub attachments_to_remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
945}
946#[derive(Clone, Copy, PartialEq, ::prost::Message)]
947pub struct UpdateRunAttachmentResponse {}
948#[derive(Clone, PartialEq, ::prost::Message)]
949pub struct UpdateLockStatusRequest {
950    #[prost(string, tag = "1")]
951    pub rid: ::prost::alloc::string::String,
952    #[prost(enumeration = "LockStatus", tag = "2")]
953    pub lock_status: i32,
954}
955#[derive(Clone, Copy, PartialEq, ::prost::Message)]
956pub struct UpdateLockStatusResponse {}
957#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
958#[repr(i32)]
959pub enum DataSourceType {
960    Unspecified = 0,
961    Dataset = 1,
962    Connection = 2,
963    Logset = 3,
964    Video = 4,
965    Spatial = 5,
966}
967impl DataSourceType {
968    /// String value of the enum field names used in the ProtoBuf definition.
969    ///
970    /// The values are not transformed in any way and thus are considered stable
971    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
972    pub fn as_str_name(&self) -> &'static str {
973        match self {
974            Self::Unspecified => "DATA_SOURCE_TYPE_UNSPECIFIED",
975            Self::Dataset => "DATASET",
976            Self::Connection => "CONNECTION",
977            Self::Logset => "LOGSET",
978            Self::Video => "VIDEO",
979            Self::Spatial => "SPATIAL",
980        }
981    }
982    /// Creates an enum from field names used in the ProtoBuf definition.
983    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
984        match value {
985            "DATA_SOURCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
986            "DATASET" => Some(Self::Dataset),
987            "CONNECTION" => Some(Self::Connection),
988            "LOGSET" => Some(Self::Logset),
989            "VIDEO" => Some(Self::Video),
990            "SPATIAL" => Some(Self::Spatial),
991            _ => None,
992        }
993    }
994}
995#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
996#[repr(i32)]
997pub enum SetOperator {
998    Unspecified = 0,
999    And = 1,
1000    Or = 2,
1001}
1002impl SetOperator {
1003    /// String value of the enum field names used in the ProtoBuf definition.
1004    ///
1005    /// The values are not transformed in any way and thus are considered stable
1006    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1007    pub fn as_str_name(&self) -> &'static str {
1008        match self {
1009            Self::Unspecified => "SET_OPERATOR_UNSPECIFIED",
1010            Self::And => "AND",
1011            Self::Or => "OR",
1012        }
1013    }
1014    /// Creates an enum from field names used in the ProtoBuf definition.
1015    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1016        match value {
1017            "SET_OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
1018            "AND" => Some(Self::And),
1019            "OR" => Some(Self::Or),
1020            _ => None,
1021        }
1022    }
1023}
1024#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1025#[repr(i32)]
1026pub enum Operator {
1027    Unspecified = 0,
1028    Leq = 1,
1029    Lt = 2,
1030    Geq = 3,
1031    Gt = 4,
1032    Eq = 5,
1033}
1034impl Operator {
1035    /// String value of the enum field names used in the ProtoBuf definition.
1036    ///
1037    /// The values are not transformed in any way and thus are considered stable
1038    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1039    pub fn as_str_name(&self) -> &'static str {
1040        match self {
1041            Self::Unspecified => "OPERATOR_UNSPECIFIED",
1042            Self::Leq => "LEQ",
1043            Self::Lt => "LT",
1044            Self::Geq => "GEQ",
1045            Self::Gt => "GT",
1046            Self::Eq => "EQ",
1047        }
1048    }
1049    /// Creates an enum from field names used in the ProtoBuf definition.
1050    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1051        match value {
1052            "OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
1053            "LEQ" => Some(Self::Leq),
1054            "LT" => Some(Self::Lt),
1055            "GEQ" => Some(Self::Geq),
1056            "GT" => Some(Self::Gt),
1057            "EQ" => Some(Self::Eq),
1058            _ => None,
1059        }
1060    }
1061}
1062#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1063#[repr(i32)]
1064pub enum LockStatus {
1065    Unspecified = 0,
1066    Locked = 1,
1067    Unlocked = 2,
1068}
1069impl LockStatus {
1070    /// String value of the enum field names used in the ProtoBuf definition.
1071    ///
1072    /// The values are not transformed in any way and thus are considered stable
1073    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1074    pub fn as_str_name(&self) -> &'static str {
1075        match self {
1076            Self::Unspecified => "LOCK_STATUS_UNSPECIFIED",
1077            Self::Locked => "LOCK_STATUS_LOCKED",
1078            Self::Unlocked => "LOCK_STATUS_UNLOCKED",
1079        }
1080    }
1081    /// Creates an enum from field names used in the ProtoBuf definition.
1082    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1083        match value {
1084            "LOCK_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1085            "LOCK_STATUS_LOCKED" => Some(Self::Locked),
1086            "LOCK_STATUS_UNLOCKED" => Some(Self::Unlocked),
1087            _ => None,
1088        }
1089    }
1090}
1091#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1092#[repr(i32)]
1093pub enum RunDataReviewEvaluationStatus {
1094    Unspecified = 0,
1095    NoChecksApplied = 1,
1096    FailedToExecute = 2,
1097    Executing = 3,
1098    PendingExecution = 4,
1099    ClosedWithFurtherAction = 5,
1100    GeneratedAlerts = 6,
1101    ClosedWithIgnore = 7,
1102    Passing = 8,
1103}
1104impl RunDataReviewEvaluationStatus {
1105    /// String value of the enum field names used in the ProtoBuf definition.
1106    ///
1107    /// The values are not transformed in any way and thus are considered stable
1108    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1109    pub fn as_str_name(&self) -> &'static str {
1110        match self {
1111            Self::Unspecified => "RUN_DATA_REVIEW_EVALUATION_STATUS_UNSPECIFIED",
1112            Self::NoChecksApplied => "NO_CHECKS_APPLIED",
1113            Self::FailedToExecute => "FAILED_TO_EXECUTE",
1114            Self::Executing => "EXECUTING",
1115            Self::PendingExecution => "PENDING_EXECUTION",
1116            Self::ClosedWithFurtherAction => "CLOSED_WITH_FURTHER_ACTION",
1117            Self::GeneratedAlerts => "GENERATED_ALERTS",
1118            Self::ClosedWithIgnore => "CLOSED_WITH_IGNORE",
1119            Self::Passing => "PASSING",
1120        }
1121    }
1122    /// Creates an enum from field names used in the ProtoBuf definition.
1123    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1124        match value {
1125            "RUN_DATA_REVIEW_EVALUATION_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1126            "NO_CHECKS_APPLIED" => Some(Self::NoChecksApplied),
1127            "FAILED_TO_EXECUTE" => Some(Self::FailedToExecute),
1128            "EXECUTING" => Some(Self::Executing),
1129            "PENDING_EXECUTION" => Some(Self::PendingExecution),
1130            "CLOSED_WITH_FURTHER_ACTION" => Some(Self::ClosedWithFurtherAction),
1131            "GENERATED_ALERTS" => Some(Self::GeneratedAlerts),
1132            "CLOSED_WITH_IGNORE" => Some(Self::ClosedWithIgnore),
1133            "PASSING" => Some(Self::Passing),
1134            _ => None,
1135        }
1136    }
1137}
1138#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1139#[repr(i32)]
1140pub enum PresetTimeframeDuration {
1141    Unspecified = 0,
1142    AllTime = 1,
1143    LastDay = 2,
1144    LastWeek = 3,
1145    LastMonth = 4,
1146    LastYear = 5,
1147}
1148impl PresetTimeframeDuration {
1149    /// String value of the enum field names used in the ProtoBuf definition.
1150    ///
1151    /// The values are not transformed in any way and thus are considered stable
1152    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1153    pub fn as_str_name(&self) -> &'static str {
1154        match self {
1155            Self::Unspecified => "PRESET_TIMEFRAME_DURATION_UNSPECIFIED",
1156            Self::AllTime => "ALL_TIME",
1157            Self::LastDay => "LAST_DAY",
1158            Self::LastWeek => "LAST_WEEK",
1159            Self::LastMonth => "LAST_MONTH",
1160            Self::LastYear => "LAST_YEAR",
1161        }
1162    }
1163    /// Creates an enum from field names used in the ProtoBuf definition.
1164    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1165        match value {
1166            "PRESET_TIMEFRAME_DURATION_UNSPECIFIED" => Some(Self::Unspecified),
1167            "ALL_TIME" => Some(Self::AllTime),
1168            "LAST_DAY" => Some(Self::LastDay),
1169            "LAST_WEEK" => Some(Self::LastWeek),
1170            "LAST_MONTH" => Some(Self::LastMonth),
1171            "LAST_YEAR" => Some(Self::LastYear),
1172            _ => None,
1173        }
1174    }
1175}
1176#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1177#[repr(i32)]
1178pub enum SortField {
1179    Unspecified = 0,
1180    Name = 1,
1181    Id = 2,
1182    CreatedAt = 3,
1183    StartTime = 4,
1184    EndTime = 5,
1185    PendingCheckAlerts = 6,
1186}
1187impl SortField {
1188    /// String value of the enum field names used in the ProtoBuf definition.
1189    ///
1190    /// The values are not transformed in any way and thus are considered stable
1191    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1192    pub fn as_str_name(&self) -> &'static str {
1193        match self {
1194            Self::Unspecified => "SORT_FIELD_UNSPECIFIED",
1195            Self::Name => "NAME",
1196            Self::Id => "ID",
1197            Self::CreatedAt => "CREATED_AT",
1198            Self::StartTime => "START_TIME",
1199            Self::EndTime => "END_TIME",
1200            Self::PendingCheckAlerts => "PENDING_CHECK_ALERTS",
1201        }
1202    }
1203    /// Creates an enum from field names used in the ProtoBuf definition.
1204    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1205        match value {
1206            "SORT_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
1207            "NAME" => Some(Self::Name),
1208            "ID" => Some(Self::Id),
1209            "CREATED_AT" => Some(Self::CreatedAt),
1210            "START_TIME" => Some(Self::StartTime),
1211            "END_TIME" => Some(Self::EndTime),
1212            "PENDING_CHECK_ALERTS" => Some(Self::PendingCheckAlerts),
1213            _ => None,
1214        }
1215    }
1216}
1217#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1218#[repr(i32)]
1219pub enum RunError {
1220    InvalidRequest = 0,
1221}
1222impl RunError {
1223    /// String value of the enum field names used in the ProtoBuf definition.
1224    ///
1225    /// The values are not transformed in any way and thus are considered stable
1226    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1227    pub fn as_str_name(&self) -> &'static str {
1228        match self {
1229            Self::InvalidRequest => "RUN_ERROR_INVALID_REQUEST",
1230        }
1231    }
1232    /// Creates an enum from field names used in the ProtoBuf definition.
1233    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1234        match value {
1235            "RUN_ERROR_INVALID_REQUEST" => Some(Self::InvalidRequest),
1236            _ => None,
1237        }
1238    }
1239}
1240/// Generated client implementations.
1241pub mod run_service_client {
1242    #![allow(
1243        unused_variables,
1244        dead_code,
1245        missing_docs,
1246        clippy::wildcard_imports,
1247        clippy::let_unit_value,
1248    )]
1249    use tonic::codegen::*;
1250    use tonic::codegen::http::Uri;
1251    #[derive(Debug, Clone)]
1252    pub struct RunServiceClient<T> {
1253        inner: tonic::client::Grpc<T>,
1254    }
1255    impl RunServiceClient<tonic::transport::Channel> {
1256        /// Attempt to create a new client by connecting to a given endpoint.
1257        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1258        where
1259            D: TryInto<tonic::transport::Endpoint>,
1260            D::Error: Into<StdError>,
1261        {
1262            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1263            Ok(Self::new(conn))
1264        }
1265    }
1266    impl<T> RunServiceClient<T>
1267    where
1268        T: tonic::client::GrpcService<tonic::body::Body>,
1269        T::Error: Into<StdError>,
1270        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1271        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1272    {
1273        pub fn new(inner: T) -> Self {
1274            let inner = tonic::client::Grpc::new(inner);
1275            Self { inner }
1276        }
1277        pub fn with_origin(inner: T, origin: Uri) -> Self {
1278            let inner = tonic::client::Grpc::with_origin(inner, origin);
1279            Self { inner }
1280        }
1281        pub fn with_interceptor<F>(
1282            inner: T,
1283            interceptor: F,
1284        ) -> RunServiceClient<InterceptedService<T, F>>
1285        where
1286            F: tonic::service::Interceptor,
1287            T::ResponseBody: Default,
1288            T: tonic::codegen::Service<
1289                http::Request<tonic::body::Body>,
1290                Response = http::Response<
1291                    <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
1292                >,
1293            >,
1294            <T as tonic::codegen::Service<
1295                http::Request<tonic::body::Body>,
1296            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1297        {
1298            RunServiceClient::new(InterceptedService::new(inner, interceptor))
1299        }
1300        /// Compress requests with the given encoding.
1301        ///
1302        /// This requires the server to support it otherwise it might respond with an
1303        /// error.
1304        #[must_use]
1305        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1306            self.inner = self.inner.send_compressed(encoding);
1307            self
1308        }
1309        /// Enable decompressing responses.
1310        #[must_use]
1311        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1312            self.inner = self.inner.accept_compressed(encoding);
1313            self
1314        }
1315        /// Limits the maximum size of a decoded message.
1316        ///
1317        /// Default: `4MB`
1318        #[must_use]
1319        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1320            self.inner = self.inner.max_decoding_message_size(limit);
1321            self
1322        }
1323        /// Limits the maximum size of an encoded message.
1324        ///
1325        /// Default: `usize::MAX`
1326        #[must_use]
1327        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1328            self.inner = self.inner.max_encoding_message_size(limit);
1329            self
1330        }
1331        pub async fn create_run(
1332            &mut self,
1333            request: impl tonic::IntoRequest<super::CreateRunRequest>,
1334        ) -> std::result::Result<
1335            tonic::Response<super::CreateRunResponse>,
1336            tonic::Status,
1337        > {
1338            self.inner
1339                .ready()
1340                .await
1341                .map_err(|e| {
1342                    tonic::Status::unknown(
1343                        format!("Service was not ready: {}", e.into()),
1344                    )
1345                })?;
1346            let codec = tonic::codec::ProstCodec::default();
1347            let path = http::uri::PathAndQuery::from_static(
1348                "/nominal.run.v1.RunService/CreateRun",
1349            );
1350            let mut req = request.into_request();
1351            req.extensions_mut()
1352                .insert(GrpcMethod::new("nominal.run.v1.RunService", "CreateRun"));
1353            self.inner.unary(req, path, codec).await
1354        }
1355        pub async fn update_run(
1356            &mut self,
1357            request: impl tonic::IntoRequest<super::UpdateRunRequest>,
1358        ) -> std::result::Result<
1359            tonic::Response<super::UpdateRunResponse>,
1360            tonic::Status,
1361        > {
1362            self.inner
1363                .ready()
1364                .await
1365                .map_err(|e| {
1366                    tonic::Status::unknown(
1367                        format!("Service was not ready: {}", e.into()),
1368                    )
1369                })?;
1370            let codec = tonic::codec::ProstCodec::default();
1371            let path = http::uri::PathAndQuery::from_static(
1372                "/nominal.run.v1.RunService/UpdateRun",
1373            );
1374            let mut req = request.into_request();
1375            req.extensions_mut()
1376                .insert(GrpcMethod::new("nominal.run.v1.RunService", "UpdateRun"));
1377            self.inner.unary(req, path, codec).await
1378        }
1379        pub async fn create_or_update_run(
1380            &mut self,
1381            request: impl tonic::IntoRequest<super::CreateOrUpdateRunRequest>,
1382        ) -> std::result::Result<
1383            tonic::Response<super::CreateOrUpdateRunResponse>,
1384            tonic::Status,
1385        > {
1386            self.inner
1387                .ready()
1388                .await
1389                .map_err(|e| {
1390                    tonic::Status::unknown(
1391                        format!("Service was not ready: {}", e.into()),
1392                    )
1393                })?;
1394            let codec = tonic::codec::ProstCodec::default();
1395            let path = http::uri::PathAndQuery::from_static(
1396                "/nominal.run.v1.RunService/CreateOrUpdateRun",
1397            );
1398            let mut req = request.into_request();
1399            req.extensions_mut()
1400                .insert(
1401                    GrpcMethod::new("nominal.run.v1.RunService", "CreateOrUpdateRun"),
1402                );
1403            self.inner.unary(req, path, codec).await
1404        }
1405        pub async fn add_data_sources_to_run(
1406            &mut self,
1407            request: impl tonic::IntoRequest<super::AddDataSourcesToRunRequest>,
1408        ) -> std::result::Result<
1409            tonic::Response<super::AddDataSourcesToRunResponse>,
1410            tonic::Status,
1411        > {
1412            self.inner
1413                .ready()
1414                .await
1415                .map_err(|e| {
1416                    tonic::Status::unknown(
1417                        format!("Service was not ready: {}", e.into()),
1418                    )
1419                })?;
1420            let codec = tonic::codec::ProstCodec::default();
1421            let path = http::uri::PathAndQuery::from_static(
1422                "/nominal.run.v1.RunService/AddDataSourcesToRun",
1423            );
1424            let mut req = request.into_request();
1425            req.extensions_mut()
1426                .insert(
1427                    GrpcMethod::new("nominal.run.v1.RunService", "AddDataSourcesToRun"),
1428                );
1429            self.inner.unary(req, path, codec).await
1430        }
1431        pub async fn batch_edit_run_metadata(
1432            &mut self,
1433            request: impl tonic::IntoRequest<super::BatchEditRunMetadataRequest>,
1434        ) -> std::result::Result<
1435            tonic::Response<super::BatchEditRunMetadataResponse>,
1436            tonic::Status,
1437        > {
1438            self.inner
1439                .ready()
1440                .await
1441                .map_err(|e| {
1442                    tonic::Status::unknown(
1443                        format!("Service was not ready: {}", e.into()),
1444                    )
1445                })?;
1446            let codec = tonic::codec::ProstCodec::default();
1447            let path = http::uri::PathAndQuery::from_static(
1448                "/nominal.run.v1.RunService/BatchEditRunMetadata",
1449            );
1450            let mut req = request.into_request();
1451            req.extensions_mut()
1452                .insert(
1453                    GrpcMethod::new("nominal.run.v1.RunService", "BatchEditRunMetadata"),
1454                );
1455            self.inner.unary(req, path, codec).await
1456        }
1457        pub async fn get_run(
1458            &mut self,
1459            request: impl tonic::IntoRequest<super::GetRunRequest>,
1460        ) -> std::result::Result<tonic::Response<super::GetRunResponse>, tonic::Status> {
1461            self.inner
1462                .ready()
1463                .await
1464                .map_err(|e| {
1465                    tonic::Status::unknown(
1466                        format!("Service was not ready: {}", e.into()),
1467                    )
1468                })?;
1469            let codec = tonic::codec::ProstCodec::default();
1470            let path = http::uri::PathAndQuery::from_static(
1471                "/nominal.run.v1.RunService/GetRun",
1472            );
1473            let mut req = request.into_request();
1474            req.extensions_mut()
1475                .insert(GrpcMethod::new("nominal.run.v1.RunService", "GetRun"));
1476            self.inner.unary(req, path, codec).await
1477        }
1478        pub async fn get_run_with_data_review_metrics(
1479            &mut self,
1480            request: impl tonic::IntoRequest<super::GetRunWithDataReviewMetricsRequest>,
1481        ) -> std::result::Result<
1482            tonic::Response<super::GetRunWithDataReviewMetricsResponse>,
1483            tonic::Status,
1484        > {
1485            self.inner
1486                .ready()
1487                .await
1488                .map_err(|e| {
1489                    tonic::Status::unknown(
1490                        format!("Service was not ready: {}", e.into()),
1491                    )
1492                })?;
1493            let codec = tonic::codec::ProstCodec::default();
1494            let path = http::uri::PathAndQuery::from_static(
1495                "/nominal.run.v1.RunService/GetRunWithDataReviewMetrics",
1496            );
1497            let mut req = request.into_request();
1498            req.extensions_mut()
1499                .insert(
1500                    GrpcMethod::new(
1501                        "nominal.run.v1.RunService",
1502                        "GetRunWithDataReviewMetrics",
1503                    ),
1504                );
1505            self.inner.unary(req, path, codec).await
1506        }
1507        pub async fn get_run_with_data_review_summary(
1508            &mut self,
1509            request: impl tonic::IntoRequest<super::GetRunWithDataReviewSummaryRequest>,
1510        ) -> std::result::Result<
1511            tonic::Response<super::GetRunWithDataReviewSummaryResponse>,
1512            tonic::Status,
1513        > {
1514            self.inner
1515                .ready()
1516                .await
1517                .map_err(|e| {
1518                    tonic::Status::unknown(
1519                        format!("Service was not ready: {}", e.into()),
1520                    )
1521                })?;
1522            let codec = tonic::codec::ProstCodec::default();
1523            let path = http::uri::PathAndQuery::from_static(
1524                "/nominal.run.v1.RunService/GetRunWithDataReviewSummary",
1525            );
1526            let mut req = request.into_request();
1527            req.extensions_mut()
1528                .insert(
1529                    GrpcMethod::new(
1530                        "nominal.run.v1.RunService",
1531                        "GetRunWithDataReviewSummary",
1532                    ),
1533                );
1534            self.inner.unary(req, path, codec).await
1535        }
1536        pub async fn get_run_by_id(
1537            &mut self,
1538            request: impl tonic::IntoRequest<super::GetRunByIdRequest>,
1539        ) -> std::result::Result<
1540            tonic::Response<super::GetRunByIdResponse>,
1541            tonic::Status,
1542        > {
1543            self.inner
1544                .ready()
1545                .await
1546                .map_err(|e| {
1547                    tonic::Status::unknown(
1548                        format!("Service was not ready: {}", e.into()),
1549                    )
1550                })?;
1551            let codec = tonic::codec::ProstCodec::default();
1552            let path = http::uri::PathAndQuery::from_static(
1553                "/nominal.run.v1.RunService/GetRunById",
1554            );
1555            let mut req = request.into_request();
1556            req.extensions_mut()
1557                .insert(GrpcMethod::new("nominal.run.v1.RunService", "GetRunById"));
1558            self.inner.unary(req, path, codec).await
1559        }
1560        pub async fn get_runs(
1561            &mut self,
1562            request: impl tonic::IntoRequest<super::GetRunsRequest>,
1563        ) -> std::result::Result<
1564            tonic::Response<super::GetRunsResponse>,
1565            tonic::Status,
1566        > {
1567            self.inner
1568                .ready()
1569                .await
1570                .map_err(|e| {
1571                    tonic::Status::unknown(
1572                        format!("Service was not ready: {}", e.into()),
1573                    )
1574                })?;
1575            let codec = tonic::codec::ProstCodec::default();
1576            let path = http::uri::PathAndQuery::from_static(
1577                "/nominal.run.v1.RunService/GetRuns",
1578            );
1579            let mut req = request.into_request();
1580            req.extensions_mut()
1581                .insert(GrpcMethod::new("nominal.run.v1.RunService", "GetRuns"));
1582            self.inner.unary(req, path, codec).await
1583        }
1584        pub async fn get_runs_by_asset(
1585            &mut self,
1586            request: impl tonic::IntoRequest<super::GetRunsByAssetRequest>,
1587        ) -> std::result::Result<
1588            tonic::Response<super::GetRunsByAssetResponse>,
1589            tonic::Status,
1590        > {
1591            self.inner
1592                .ready()
1593                .await
1594                .map_err(|e| {
1595                    tonic::Status::unknown(
1596                        format!("Service was not ready: {}", e.into()),
1597                    )
1598                })?;
1599            let codec = tonic::codec::ProstCodec::default();
1600            let path = http::uri::PathAndQuery::from_static(
1601                "/nominal.run.v1.RunService/GetRunsByAsset",
1602            );
1603            let mut req = request.into_request();
1604            req.extensions_mut()
1605                .insert(GrpcMethod::new("nominal.run.v1.RunService", "GetRunsByAsset"));
1606            self.inner.unary(req, path, codec).await
1607        }
1608        pub async fn get_latest_run_for_assets(
1609            &mut self,
1610            request: impl tonic::IntoRequest<super::GetLatestRunForAssetsRequest>,
1611        ) -> std::result::Result<
1612            tonic::Response<super::GetLatestRunForAssetsResponse>,
1613            tonic::Status,
1614        > {
1615            self.inner
1616                .ready()
1617                .await
1618                .map_err(|e| {
1619                    tonic::Status::unknown(
1620                        format!("Service was not ready: {}", e.into()),
1621                    )
1622                })?;
1623            let codec = tonic::codec::ProstCodec::default();
1624            let path = http::uri::PathAndQuery::from_static(
1625                "/nominal.run.v1.RunService/GetLatestRunForAssets",
1626            );
1627            let mut req = request.into_request();
1628            req.extensions_mut()
1629                .insert(
1630                    GrpcMethod::new("nominal.run.v1.RunService", "GetLatestRunForAssets"),
1631                );
1632            self.inner.unary(req, path, codec).await
1633        }
1634        #[deprecated]
1635        pub async fn get_all_runs_properties_and_labels(
1636            &mut self,
1637            request: impl tonic::IntoRequest<super::GetAllRunsPropertiesAndLabelsRequest>,
1638        ) -> std::result::Result<
1639            tonic::Response<super::GetAllRunsPropertiesAndLabelsResponse>,
1640            tonic::Status,
1641        > {
1642            self.inner
1643                .ready()
1644                .await
1645                .map_err(|e| {
1646                    tonic::Status::unknown(
1647                        format!("Service was not ready: {}", e.into()),
1648                    )
1649                })?;
1650            let codec = tonic::codec::ProstCodec::default();
1651            let path = http::uri::PathAndQuery::from_static(
1652                "/nominal.run.v1.RunService/GetAllRunsPropertiesAndLabels",
1653            );
1654            let mut req = request.into_request();
1655            req.extensions_mut()
1656                .insert(
1657                    GrpcMethod::new(
1658                        "nominal.run.v1.RunService",
1659                        "GetAllRunsPropertiesAndLabels",
1660                    ),
1661                );
1662            self.inner.unary(req, path, codec).await
1663        }
1664        pub async fn search_runs(
1665            &mut self,
1666            request: impl tonic::IntoRequest<super::SearchRunsRequest>,
1667        ) -> std::result::Result<
1668            tonic::Response<super::SearchRunsResponse>,
1669            tonic::Status,
1670        > {
1671            self.inner
1672                .ready()
1673                .await
1674                .map_err(|e| {
1675                    tonic::Status::unknown(
1676                        format!("Service was not ready: {}", e.into()),
1677                    )
1678                })?;
1679            let codec = tonic::codec::ProstCodec::default();
1680            let path = http::uri::PathAndQuery::from_static(
1681                "/nominal.run.v1.RunService/SearchRuns",
1682            );
1683            let mut req = request.into_request();
1684            req.extensions_mut()
1685                .insert(GrpcMethod::new("nominal.run.v1.RunService", "SearchRuns"));
1686            self.inner.unary(req, path, codec).await
1687        }
1688        pub async fn search_runs_with_data_review_metrics(
1689            &mut self,
1690            request: impl tonic::IntoRequest<
1691                super::SearchRunsWithDataReviewMetricsRequest,
1692            >,
1693        ) -> std::result::Result<
1694            tonic::Response<super::SearchRunsWithDataReviewMetricsResponse>,
1695            tonic::Status,
1696        > {
1697            self.inner
1698                .ready()
1699                .await
1700                .map_err(|e| {
1701                    tonic::Status::unknown(
1702                        format!("Service was not ready: {}", e.into()),
1703                    )
1704                })?;
1705            let codec = tonic::codec::ProstCodec::default();
1706            let path = http::uri::PathAndQuery::from_static(
1707                "/nominal.run.v1.RunService/SearchRunsWithDataReviewMetrics",
1708            );
1709            let mut req = request.into_request();
1710            req.extensions_mut()
1711                .insert(
1712                    GrpcMethod::new(
1713                        "nominal.run.v1.RunService",
1714                        "SearchRunsWithDataReviewMetrics",
1715                    ),
1716                );
1717            self.inner.unary(req, path, codec).await
1718        }
1719        #[deprecated]
1720        pub async fn search_runs_with_data_review_summary(
1721            &mut self,
1722            request: impl tonic::IntoRequest<
1723                super::SearchRunsWithDataReviewSummaryRequest,
1724            >,
1725        ) -> std::result::Result<
1726            tonic::Response<super::SearchRunsWithDataReviewSummaryResponse>,
1727            tonic::Status,
1728        > {
1729            self.inner
1730                .ready()
1731                .await
1732                .map_err(|e| {
1733                    tonic::Status::unknown(
1734                        format!("Service was not ready: {}", e.into()),
1735                    )
1736                })?;
1737            let codec = tonic::codec::ProstCodec::default();
1738            let path = http::uri::PathAndQuery::from_static(
1739                "/nominal.run.v1.RunService/SearchRunsWithDataReviewSummary",
1740            );
1741            let mut req = request.into_request();
1742            req.extensions_mut()
1743                .insert(
1744                    GrpcMethod::new(
1745                        "nominal.run.v1.RunService",
1746                        "SearchRunsWithDataReviewSummary",
1747                    ),
1748                );
1749            self.inner.unary(req, path, codec).await
1750        }
1751        pub async fn archive_run(
1752            &mut self,
1753            request: impl tonic::IntoRequest<super::ArchiveRunRequest>,
1754        ) -> std::result::Result<
1755            tonic::Response<super::ArchiveRunResponse>,
1756            tonic::Status,
1757        > {
1758            self.inner
1759                .ready()
1760                .await
1761                .map_err(|e| {
1762                    tonic::Status::unknown(
1763                        format!("Service was not ready: {}", e.into()),
1764                    )
1765                })?;
1766            let codec = tonic::codec::ProstCodec::default();
1767            let path = http::uri::PathAndQuery::from_static(
1768                "/nominal.run.v1.RunService/ArchiveRun",
1769            );
1770            let mut req = request.into_request();
1771            req.extensions_mut()
1772                .insert(GrpcMethod::new("nominal.run.v1.RunService", "ArchiveRun"));
1773            self.inner.unary(req, path, codec).await
1774        }
1775        pub async fn unarchive_run(
1776            &mut self,
1777            request: impl tonic::IntoRequest<super::UnarchiveRunRequest>,
1778        ) -> std::result::Result<
1779            tonic::Response<super::UnarchiveRunResponse>,
1780            tonic::Status,
1781        > {
1782            self.inner
1783                .ready()
1784                .await
1785                .map_err(|e| {
1786                    tonic::Status::unknown(
1787                        format!("Service was not ready: {}", e.into()),
1788                    )
1789                })?;
1790            let codec = tonic::codec::ProstCodec::default();
1791            let path = http::uri::PathAndQuery::from_static(
1792                "/nominal.run.v1.RunService/UnarchiveRun",
1793            );
1794            let mut req = request.into_request();
1795            req.extensions_mut()
1796                .insert(GrpcMethod::new("nominal.run.v1.RunService", "UnarchiveRun"));
1797            self.inner.unary(req, path, codec).await
1798        }
1799        pub async fn archive_runs(
1800            &mut self,
1801            request: impl tonic::IntoRequest<super::ArchiveRunsRequest>,
1802        ) -> std::result::Result<
1803            tonic::Response<super::ArchiveRunsResponse>,
1804            tonic::Status,
1805        > {
1806            self.inner
1807                .ready()
1808                .await
1809                .map_err(|e| {
1810                    tonic::Status::unknown(
1811                        format!("Service was not ready: {}", e.into()),
1812                    )
1813                })?;
1814            let codec = tonic::codec::ProstCodec::default();
1815            let path = http::uri::PathAndQuery::from_static(
1816                "/nominal.run.v1.RunService/ArchiveRuns",
1817            );
1818            let mut req = request.into_request();
1819            req.extensions_mut()
1820                .insert(GrpcMethod::new("nominal.run.v1.RunService", "ArchiveRuns"));
1821            self.inner.unary(req, path, codec).await
1822        }
1823        pub async fn unarchive_runs(
1824            &mut self,
1825            request: impl tonic::IntoRequest<super::UnarchiveRunsRequest>,
1826        ) -> std::result::Result<
1827            tonic::Response<super::UnarchiveRunsResponse>,
1828            tonic::Status,
1829        > {
1830            self.inner
1831                .ready()
1832                .await
1833                .map_err(|e| {
1834                    tonic::Status::unknown(
1835                        format!("Service was not ready: {}", e.into()),
1836                    )
1837                })?;
1838            let codec = tonic::codec::ProstCodec::default();
1839            let path = http::uri::PathAndQuery::from_static(
1840                "/nominal.run.v1.RunService/UnarchiveRuns",
1841            );
1842            let mut req = request.into_request();
1843            req.extensions_mut()
1844                .insert(GrpcMethod::new("nominal.run.v1.RunService", "UnarchiveRuns"));
1845            self.inner.unary(req, path, codec).await
1846        }
1847        pub async fn get_data_source_ref_name_and_type_list(
1848            &mut self,
1849            request: impl tonic::IntoRequest<
1850                super::GetDataSourceRefNameAndTypeListRequest,
1851            >,
1852        ) -> std::result::Result<
1853            tonic::Response<super::GetDataSourceRefNameAndTypeListResponse>,
1854            tonic::Status,
1855        > {
1856            self.inner
1857                .ready()
1858                .await
1859                .map_err(|e| {
1860                    tonic::Status::unknown(
1861                        format!("Service was not ready: {}", e.into()),
1862                    )
1863                })?;
1864            let codec = tonic::codec::ProstCodec::default();
1865            let path = http::uri::PathAndQuery::from_static(
1866                "/nominal.run.v1.RunService/GetDataSourceRefNameAndTypeList",
1867            );
1868            let mut req = request.into_request();
1869            req.extensions_mut()
1870                .insert(
1871                    GrpcMethod::new(
1872                        "nominal.run.v1.RunService",
1873                        "GetDataSourceRefNameAndTypeList",
1874                    ),
1875                );
1876            self.inner.unary(req, path, codec).await
1877        }
1878        pub async fn update_run_attachment(
1879            &mut self,
1880            request: impl tonic::IntoRequest<super::UpdateRunAttachmentRequest>,
1881        ) -> std::result::Result<
1882            tonic::Response<super::UpdateRunAttachmentResponse>,
1883            tonic::Status,
1884        > {
1885            self.inner
1886                .ready()
1887                .await
1888                .map_err(|e| {
1889                    tonic::Status::unknown(
1890                        format!("Service was not ready: {}", e.into()),
1891                    )
1892                })?;
1893            let codec = tonic::codec::ProstCodec::default();
1894            let path = http::uri::PathAndQuery::from_static(
1895                "/nominal.run.v1.RunService/UpdateRunAttachment",
1896            );
1897            let mut req = request.into_request();
1898            req.extensions_mut()
1899                .insert(
1900                    GrpcMethod::new("nominal.run.v1.RunService", "UpdateRunAttachment"),
1901                );
1902            self.inner.unary(req, path, codec).await
1903        }
1904        pub async fn update_lock_status(
1905            &mut self,
1906            request: impl tonic::IntoRequest<super::UpdateLockStatusRequest>,
1907        ) -> std::result::Result<
1908            tonic::Response<super::UpdateLockStatusResponse>,
1909            tonic::Status,
1910        > {
1911            self.inner
1912                .ready()
1913                .await
1914                .map_err(|e| {
1915                    tonic::Status::unknown(
1916                        format!("Service was not ready: {}", e.into()),
1917                    )
1918                })?;
1919            let codec = tonic::codec::ProstCodec::default();
1920            let path = http::uri::PathAndQuery::from_static(
1921                "/nominal.run.v1.RunService/UpdateLockStatus",
1922            );
1923            let mut req = request.into_request();
1924            req.extensions_mut()
1925                .insert(
1926                    GrpcMethod::new("nominal.run.v1.RunService", "UpdateLockStatus"),
1927                );
1928            self.inner.unary(req, path, codec).await
1929        }
1930    }
1931}