Skip to main content

nominal_api_proto/proto/
nominal.procedures.v1.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct ProcedureState {
4    #[prost(map = "string, message", tag = "1")]
5    pub global_fields: ::std::collections::HashMap<
6        ::prost::alloc::string::String,
7        FormField,
8    >,
9    #[prost(message, repeated, tag = "5")]
10    pub new_global_fields: ::prost::alloc::vec::Vec<FormField>,
11    #[prost(map = "string, message", tag = "2")]
12    pub nodes: ::std::collections::HashMap<
13        ::prost::alloc::string::String,
14        ProcedureNode,
15    >,
16    #[prost(map = "string, message", tag = "3")]
17    pub section_edges: ::std::collections::HashMap<
18        ::prost::alloc::string::String,
19        NodeList,
20    >,
21    #[prost(map = "string, message", tag = "4")]
22    pub step_edges: ::std::collections::HashMap<
23        ::prost::alloc::string::String,
24        NodeList,
25    >,
26}
27#[derive(Clone, PartialEq, ::prost::Message)]
28pub struct ProcedureDisplayGraph {
29    #[prost(string, repeated, tag = "1")]
30    pub top_level_nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
31    #[prost(map = "string, message", tag = "2")]
32    pub section_to_sorted_children: ::std::collections::HashMap<
33        ::prost::alloc::string::String,
34        NodeList,
35    >,
36}
37#[derive(Clone, PartialEq, ::prost::Message)]
38pub struct NestedProcedure {
39    #[prost(string, tag = "1")]
40    pub title: ::prost::alloc::string::String,
41    #[prost(string, optional, tag = "2")]
42    pub description: ::core::option::Option<::prost::alloc::string::String>,
43    #[prost(message, repeated, tag = "3")]
44    pub steps: ::prost::alloc::vec::Vec<NestedProcedureNode>,
45    #[prost(map = "string, message", tag = "4")]
46    pub global_fields: ::std::collections::HashMap<
47        ::prost::alloc::string::String,
48        FormField,
49    >,
50    #[prost(message, repeated, tag = "5")]
51    pub new_global_fields: ::prost::alloc::vec::Vec<FormField>,
52}
53#[derive(Clone, PartialEq, ::prost::Message)]
54pub struct NodeList {
55    #[prost(string, repeated, tag = "1")]
56    pub node_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
57}
58#[derive(Clone, PartialEq, ::prost::Message)]
59pub struct ProcedureNode {
60    #[prost(oneof = "procedure_node::Node", tags = "1, 2")]
61    pub node: ::core::option::Option<procedure_node::Node>,
62}
63/// Nested message and enum types in `ProcedureNode`.
64pub mod procedure_node {
65    #[derive(Clone, PartialEq, ::prost::Oneof)]
66    pub enum Node {
67        #[prost(message, tag = "1")]
68        Section(super::ProcedureSectionNode),
69        #[prost(message, tag = "2")]
70        Step(super::ProcedureStepNode),
71    }
72}
73#[derive(Clone, PartialEq, ::prost::Message)]
74pub struct ProcedureSectionNode {
75    #[prost(string, tag = "1")]
76    pub id: ::prost::alloc::string::String,
77    #[prost(string, tag = "2")]
78    pub title: ::prost::alloc::string::String,
79    #[prost(string, optional, tag = "3")]
80    pub description: ::core::option::Option<::prost::alloc::string::String>,
81}
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct ProcedureStepNode {
84    #[prost(string, tag = "1")]
85    pub id: ::prost::alloc::string::String,
86    #[prost(string, tag = "2")]
87    pub title: ::prost::alloc::string::String,
88    #[prost(message, optional, tag = "3")]
89    pub content: ::core::option::Option<ProcedureStepContent>,
90    #[prost(string, optional, tag = "5")]
91    pub description: ::core::option::Option<::prost::alloc::string::String>,
92    #[prost(bool, optional, tag = "6")]
93    pub is_required: ::core::option::Option<bool>,
94    #[prost(message, optional, tag = "7")]
95    pub auto_start: ::core::option::Option<AutoStartConfig>,
96    #[prost(message, optional, tag = "8")]
97    pub initial_auto_proceed_config: ::core::option::Option<AutoProceedConfig>,
98    #[prost(message, optional, tag = "9")]
99    pub success_condition: ::core::option::Option<SuccessCondition>,
100    #[prost(message, repeated, tag = "10")]
101    pub completion_action_configs: ::prost::alloc::vec::Vec<CompletionActionConfig>,
102    #[prost(string, repeated, tag = "11")]
103    pub attachments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
104}
105#[derive(Clone, PartialEq, ::prost::Message)]
106pub struct NestedProcedureNode {
107    #[prost(string, tag = "5")]
108    pub id: ::prost::alloc::string::String,
109    #[prost(string, tag = "1")]
110    pub title: ::prost::alloc::string::String,
111    #[prost(string, optional, tag = "2")]
112    pub description: ::core::option::Option<::prost::alloc::string::String>,
113    #[prost(message, repeated, tag = "3")]
114    pub steps: ::prost::alloc::vec::Vec<NestedProcedureNode>,
115    #[prost(message, optional, tag = "4")]
116    pub step: ::core::option::Option<nested_procedure_node::NestedStepNode>,
117}
118/// Nested message and enum types in `NestedProcedureNode`.
119pub mod nested_procedure_node {
120    #[derive(Clone, PartialEq, ::prost::Message)]
121    pub struct NestedStepNode {
122        #[prost(bool, optional, tag = "2")]
123        pub is_required: ::core::option::Option<bool>,
124        #[prost(message, optional, tag = "3")]
125        pub auto_start: ::core::option::Option<super::AutoStartConfig>,
126        #[prost(message, optional, tag = "4")]
127        pub initial_auto_proceed_config: ::core::option::Option<
128            super::AutoProceedConfig,
129        >,
130        #[prost(message, optional, tag = "5")]
131        pub success_condition: ::core::option::Option<super::SuccessCondition>,
132        #[prost(message, repeated, tag = "6")]
133        pub completion_action_configs: ::prost::alloc::vec::Vec<
134            super::CompletionActionConfig,
135        >,
136        #[prost(string, repeated, tag = "51")]
137        pub attachments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
138        #[prost(oneof = "nested_step_node::Content", tags = "7, 8, 9, 10")]
139        pub content: ::core::option::Option<nested_step_node::Content>,
140    }
141    /// Nested message and enum types in `NestedStepNode`.
142    pub mod nested_step_node {
143        #[derive(Clone, PartialEq, ::prost::Oneof)]
144        pub enum Content {
145            #[prost(message, tag = "7")]
146            Form(super::super::FormStep),
147            #[prost(message, tag = "8")]
148            StartIngest(super::super::StartIngestStep),
149            #[prost(message, tag = "9")]
150            SelectOrCreateAsset(super::super::SelectOrCreateAssetStep),
151            #[prost(message, tag = "10")]
152            Wait(super::super::WaitStep),
153        }
154    }
155}
156#[derive(Clone, Copy, PartialEq, ::prost::Message)]
157pub struct AutoStartConfig {
158    #[prost(oneof = "auto_start_config::Config", tags = "1, 2")]
159    pub config: ::core::option::Option<auto_start_config::Config>,
160}
161/// Nested message and enum types in `AutoStartConfig`.
162pub mod auto_start_config {
163    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
164    pub struct AllParents {}
165    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
166    pub struct Disabled {}
167    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
168    pub enum Config {
169        #[prost(message, tag = "1")]
170        AllParents(AllParents),
171        #[prost(message, tag = "2")]
172        Disabled(Disabled),
173    }
174}
175#[derive(Clone, Copy, PartialEq, ::prost::Message)]
176pub struct AutoProceedConfig {
177    #[prost(oneof = "auto_proceed_config::Config", tags = "1, 2")]
178    pub config: ::core::option::Option<auto_proceed_config::Config>,
179}
180/// Nested message and enum types in `AutoProceedConfig`.
181pub mod auto_proceed_config {
182    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
183    pub struct Disabled {}
184    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
185    pub struct Enabled {}
186    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
187    pub enum Config {
188        #[prost(message, tag = "1")]
189        Disabled(Disabled),
190        #[prost(message, tag = "2")]
191        Enabled(Enabled),
192    }
193}
194#[derive(Clone, PartialEq, ::prost::Message)]
195pub struct SuccessCondition {
196    #[prost(oneof = "success_condition::Condition", tags = "1, 2, 3, 4, 5")]
197    pub condition: ::core::option::Option<success_condition::Condition>,
198}
199/// Nested message and enum types in `SuccessCondition`.
200pub mod success_condition {
201    #[derive(Clone, PartialEq, ::prost::Oneof)]
202    pub enum Condition {
203        #[prost(message, tag = "1")]
204        And(super::AndSuccessCondition),
205        #[prost(message, tag = "2")]
206        Timer(super::TimerSuccessCondition),
207        #[prost(message, tag = "3")]
208        IngestJob(super::IngestJobSuccessCondition),
209        #[prost(message, tag = "4")]
210        ChannelValidation(super::ChannelValidationSuccessCondition),
211        #[prost(message, tag = "5")]
212        Webhook(super::WebhookSuccessCondition),
213    }
214}
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct AndSuccessCondition {
217    #[prost(message, repeated, tag = "1")]
218    pub conditions: ::prost::alloc::vec::Vec<SuccessCondition>,
219}
220#[derive(Clone, Copy, PartialEq, ::prost::Message)]
221pub struct TimerSuccessCondition {
222    #[prost(int32, tag = "1")]
223    pub duration_seconds: i32,
224}
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct IngestJobSuccessCondition {
227    #[prost(string, tag = "1")]
228    pub field_id: ::prost::alloc::string::String,
229}
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct ChannelLocator {
232    #[prost(string, tag = "1")]
233    pub data_source_ref: ::prost::alloc::string::String,
234    #[prost(string, tag = "2")]
235    pub channel_name: ::prost::alloc::string::String,
236    #[prost(map = "string, string", tag = "3")]
237    pub tags: ::std::collections::HashMap<
238        ::prost::alloc::string::String,
239        ::prost::alloc::string::String,
240    >,
241    #[prost(oneof = "channel_locator::AssetOrRun", tags = "4, 5")]
242    pub asset_or_run: ::core::option::Option<channel_locator::AssetOrRun>,
243}
244/// Nested message and enum types in `ChannelLocator`.
245pub mod channel_locator {
246    #[derive(Clone, PartialEq, ::prost::Oneof)]
247    pub enum AssetOrRun {
248        #[prost(message, tag = "4")]
249        Asset(super::AssetReference),
250        #[prost(message, tag = "5")]
251        Run(super::RunReference),
252    }
253}
254#[derive(Clone, PartialEq, ::prost::Message)]
255pub struct ChannelCaptureConfig {
256    #[prost(string, tag = "1")]
257    pub output_field_id: ::prost::alloc::string::String,
258    #[prost(enumeration = "CaptureMoment", repeated, packed = "false", tag = "2")]
259    pub capture_moments: ::prost::alloc::vec::Vec<i32>,
260}
261#[derive(Clone, PartialEq, ::prost::Message)]
262pub struct ChannelValidationSuccessCondition {
263    #[prost(message, optional, tag = "1")]
264    pub channel: ::core::option::Option<ChannelLocator>,
265    #[prost(enumeration = "channel_validation_success_condition::Comparator", tag = "2")]
266    pub comparator: i32,
267    #[prost(double, tag = "3")]
268    pub threshold: f64,
269    #[prost(int32, tag = "4")]
270    pub timeout_millis: i32,
271    #[prost(uint32, optional, tag = "5")]
272    pub point_persistence: ::core::option::Option<u32>,
273    #[prost(uint32, optional, tag = "6")]
274    pub time_persistence: ::core::option::Option<u32>,
275    #[prost(message, repeated, tag = "7")]
276    pub channel_captures: ::prost::alloc::vec::Vec<ChannelCaptureConfig>,
277}
278/// Nested message and enum types in `ChannelValidationSuccessCondition`.
279pub mod channel_validation_success_condition {
280    #[derive(
281        Clone,
282        Copy,
283        Debug,
284        PartialEq,
285        Eq,
286        Hash,
287        PartialOrd,
288        Ord,
289        ::prost::Enumeration
290    )]
291    #[repr(i32)]
292    pub enum Comparator {
293        Unspecified = 0,
294        GreaterThan = 1,
295        GreaterThanOrEqual = 2,
296        LessThan = 3,
297        LessThanOrEqual = 4,
298        Equal = 5,
299        NotEqual = 6,
300        Exists = 7,
301    }
302    impl Comparator {
303        /// String value of the enum field names used in the ProtoBuf definition.
304        ///
305        /// The values are not transformed in any way and thus are considered stable
306        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
307        pub fn as_str_name(&self) -> &'static str {
308            match self {
309                Self::Unspecified => "COMPARATOR_UNSPECIFIED",
310                Self::GreaterThan => "COMPARATOR_GREATER_THAN",
311                Self::GreaterThanOrEqual => "COMPARATOR_GREATER_THAN_OR_EQUAL",
312                Self::LessThan => "COMPARATOR_LESS_THAN",
313                Self::LessThanOrEqual => "COMPARATOR_LESS_THAN_OR_EQUAL",
314                Self::Equal => "COMPARATOR_EQUAL",
315                Self::NotEqual => "COMPARATOR_NOT_EQUAL",
316                Self::Exists => "COMPARATOR_EXISTS",
317            }
318        }
319        /// Creates an enum from field names used in the ProtoBuf definition.
320        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
321            match value {
322                "COMPARATOR_UNSPECIFIED" => Some(Self::Unspecified),
323                "COMPARATOR_GREATER_THAN" => Some(Self::GreaterThan),
324                "COMPARATOR_GREATER_THAN_OR_EQUAL" => Some(Self::GreaterThanOrEqual),
325                "COMPARATOR_LESS_THAN" => Some(Self::LessThan),
326                "COMPARATOR_LESS_THAN_OR_EQUAL" => Some(Self::LessThanOrEqual),
327                "COMPARATOR_EQUAL" => Some(Self::Equal),
328                "COMPARATOR_NOT_EQUAL" => Some(Self::NotEqual),
329                "COMPARATOR_EXISTS" => Some(Self::Exists),
330                _ => None,
331            }
332        }
333    }
334}
335#[derive(Clone, PartialEq, ::prost::Message)]
336pub struct WebhookSuccessCondition {
337    #[prost(string, tag = "1")]
338    pub integration_rid: ::prost::alloc::string::String,
339    #[prost(message, optional, tag = "2")]
340    pub delivery_config: ::core::option::Option<WebhookDeliveryConfig>,
341    #[prost(string, tag = "3")]
342    pub event_type: ::prost::alloc::string::String,
343    #[prost(string, tag = "4")]
344    pub payload_template: ::prost::alloc::string::String,
345}
346#[derive(Clone, Copy, PartialEq, ::prost::Message)]
347pub struct WebhookDeliveryConfig {
348    #[prost(int32, optional, tag = "1")]
349    pub max_retries: ::core::option::Option<i32>,
350    #[prost(int64, optional, tag = "2")]
351    pub retry_interval_seconds: ::core::option::Option<i64>,
352    #[prost(bool, optional, tag = "3")]
353    pub exponential_backoff: ::core::option::Option<bool>,
354    #[prost(int64, optional, tag = "4")]
355    pub max_retry_interval_seconds: ::core::option::Option<i64>,
356    #[prost(int64, optional, tag = "5")]
357    pub timeout_seconds: ::core::option::Option<i64>,
358}
359#[derive(Clone, PartialEq, ::prost::Message)]
360pub struct CompletionActionConfig {
361    #[prost(oneof = "completion_action_config::Config", tags = "1, 2, 3, 4, 5, 6")]
362    pub config: ::core::option::Option<completion_action_config::Config>,
363}
364/// Nested message and enum types in `CompletionActionConfig`.
365pub mod completion_action_config {
366    #[derive(Clone, PartialEq, ::prost::Oneof)]
367    pub enum Config {
368        #[prost(message, tag = "1")]
369        CreateEvent(super::CreateEventConfig),
370        #[prost(message, tag = "2")]
371        SendNotification(super::SendNotificationConfig),
372        #[prost(message, tag = "3")]
373        CreateRun(super::CreateRunConfig),
374        #[prost(message, tag = "4")]
375        ApplyWorkbookTemplates(super::ApplyWorkbookTemplatesConfig),
376        #[prost(message, tag = "5")]
377        ApplyChecklists(super::ApplyChecklistsConfig),
378        #[prost(message, tag = "6")]
379        UpdateRun(super::UpdateRunConfig),
380    }
381}
382#[derive(Clone, PartialEq, ::prost::Message)]
383pub struct CreateEventConfig {
384    #[prost(string, tag = "1")]
385    pub name: ::prost::alloc::string::String,
386    #[prost(string, optional, tag = "2")]
387    pub description: ::core::option::Option<::prost::alloc::string::String>,
388    #[prost(string, repeated, tag = "3")]
389    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
390    #[prost(map = "string, string", tag = "4")]
391    pub properties: ::std::collections::HashMap<
392        ::prost::alloc::string::String,
393        ::prost::alloc::string::String,
394    >,
395    #[prost(string, repeated, tag = "5")]
396    pub asset_field_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
397    #[prost(message, repeated, tag = "6")]
398    pub asset_references: ::prost::alloc::vec::Vec<AssetReference>,
399    #[prost(message, repeated, tag = "7")]
400    pub property_refs: ::prost::alloc::vec::Vec<PropertyReference>,
401}
402#[derive(Clone, PartialEq, ::prost::Message)]
403pub struct SendNotificationConfig {
404    #[prost(message, optional, tag = "1")]
405    pub integrations: ::core::option::Option<MultiIntegrationReference>,
406    #[prost(message, optional, tag = "2")]
407    pub title: ::core::option::Option<StringReference>,
408    #[prost(message, optional, tag = "3")]
409    pub message: ::core::option::Option<StringReference>,
410}
411#[derive(Clone, PartialEq, ::prost::Message)]
412pub struct CreateRunConfig {
413    #[prost(string, optional, tag = "1")]
414    pub run_output_field_id: ::core::option::Option<::prost::alloc::string::String>,
415    #[prost(message, optional, tag = "2")]
416    pub assets: ::core::option::Option<MultiAssetReference>,
417    #[prost(message, optional, tag = "3")]
418    pub name: ::core::option::Option<StringReference>,
419    #[prost(message, optional, tag = "4")]
420    pub description: ::core::option::Option<StringReference>,
421    #[prost(message, optional, tag = "5")]
422    pub time_range: ::core::option::Option<TimeRangeReference>,
423    #[prost(message, optional, tag = "6")]
424    pub labels: ::core::option::Option<MultiStringReference>,
425    #[prost(message, repeated, tag = "7")]
426    pub properties: ::prost::alloc::vec::Vec<create_run_config::Property>,
427}
428/// Nested message and enum types in `CreateRunConfig`.
429pub mod create_run_config {
430    #[derive(Clone, PartialEq, ::prost::Message)]
431    pub struct Property {
432        #[prost(message, optional, tag = "1")]
433        pub key: ::core::option::Option<super::StringReference>,
434        #[prost(message, optional, tag = "2")]
435        pub value: ::core::option::Option<super::StringReference>,
436    }
437}
438#[derive(Clone, PartialEq, ::prost::Message)]
439pub struct UpdateRunConfig {
440    #[prost(message, optional, tag = "1")]
441    pub runs: ::core::option::Option<MultiRunReference>,
442    #[prost(message, optional, tag = "2")]
443    pub name: ::core::option::Option<StringReference>,
444    #[prost(message, optional, tag = "3")]
445    pub description: ::core::option::Option<StringReference>,
446    #[prost(message, optional, tag = "4")]
447    pub time_range: ::core::option::Option<TimeRangeReference>,
448    #[prost(message, optional, tag = "5")]
449    pub labels: ::core::option::Option<MultiStringReference>,
450    #[prost(message, repeated, tag = "6")]
451    pub properties: ::prost::alloc::vec::Vec<PropertyReference>,
452    #[prost(bool, optional, tag = "7")]
453    pub strict_overwrite: ::core::option::Option<bool>,
454}
455#[derive(Clone, PartialEq, ::prost::Message)]
456pub struct PropertyReference {
457    #[prost(message, optional, tag = "1")]
458    pub key: ::core::option::Option<StringReference>,
459    #[prost(message, optional, tag = "2")]
460    pub value: ::core::option::Option<StringReference>,
461}
462#[derive(Clone, PartialEq, ::prost::Message)]
463pub struct ApplyWorkbookTemplatesConfig {
464    #[prost(message, optional, tag = "1")]
465    pub workbook_templates: ::core::option::Option<MultiWorkbookTemplateReference>,
466    #[prost(message, optional, tag = "2")]
467    pub runs: ::core::option::Option<MultiRunReference>,
468}
469#[derive(Clone, PartialEq, ::prost::Message)]
470pub struct ApplyChecklistsConfig {
471    #[prost(message, optional, tag = "1")]
472    pub checklists: ::core::option::Option<MultiChecklistReference>,
473    #[prost(message, optional, tag = "2")]
474    pub runs: ::core::option::Option<MultiRunReference>,
475}
476#[derive(Clone, PartialEq, ::prost::Message)]
477pub struct ProcedureStepContent {
478    #[prost(oneof = "procedure_step_content::Content", tags = "1, 2, 3, 4")]
479    pub content: ::core::option::Option<procedure_step_content::Content>,
480}
481/// Nested message and enum types in `ProcedureStepContent`.
482pub mod procedure_step_content {
483    #[derive(Clone, PartialEq, ::prost::Oneof)]
484    pub enum Content {
485        #[prost(message, tag = "1")]
486        Form(super::FormStep),
487        #[prost(message, tag = "2")]
488        StartIngest(super::StartIngestStep),
489        #[prost(message, tag = "3")]
490        SelectOrCreateAsset(super::SelectOrCreateAssetStep),
491        #[prost(message, tag = "4")]
492        Wait(super::WaitStep),
493    }
494}
495#[derive(Clone, Copy, PartialEq, ::prost::Message)]
496pub struct WaitStep {}
497#[derive(Clone, PartialEq, ::prost::Message)]
498pub struct FormStep {
499    #[prost(message, repeated, tag = "1")]
500    pub fields: ::prost::alloc::vec::Vec<FormField>,
501}
502#[derive(Clone, PartialEq, ::prost::Message)]
503pub struct StartIngestStep {
504    #[prost(message, optional, tag = "1")]
505    pub asset: ::core::option::Option<AssetReference>,
506    #[prost(message, optional, tag = "2")]
507    pub ref_name: ::core::option::Option<StringReference>,
508    #[prost(message, optional, tag = "3")]
509    pub ingest_type_config: ::core::option::Option<start_ingest_step::IngestTypeConfig>,
510    #[prost(string, optional, tag = "4")]
511    pub ingest_job_output_field_id: ::core::option::Option<
512        ::prost::alloc::string::String,
513    >,
514}
515/// Nested message and enum types in `StartIngestStep`.
516pub mod start_ingest_step {
517    #[derive(Clone, PartialEq, ::prost::Message)]
518    pub struct IngestTypeConfig {
519        #[prost(oneof = "ingest_type_config::Config", tags = "1, 2, 3, 4")]
520        pub config: ::core::option::Option<ingest_type_config::Config>,
521    }
522    /// Nested message and enum types in `IngestTypeConfig`.
523    pub mod ingest_type_config {
524        #[derive(Clone, PartialEq, ::prost::Message)]
525        pub struct ContainerizedExtractorIngestConfig {
526            #[prost(string, tag = "1")]
527            pub rid: ::prost::alloc::string::String,
528            #[prost(message, repeated, tag = "2")]
529            pub file_input_bindings: ::prost::alloc::vec::Vec<
530                super::super::FileInputBinding,
531            >,
532            #[prost(message, repeated, tag = "3")]
533            pub environment_input_bindings: ::prost::alloc::vec::Vec<
534                super::super::EnvironmentInputBinding,
535            >,
536            #[prost(message, repeated, tag = "4")]
537            pub additional_file_tag_bindings: ::prost::alloc::vec::Vec<
538                super::super::AdditionalFileTagBinding,
539            >,
540        }
541        #[derive(Clone, PartialEq, ::prost::Message)]
542        pub struct DataflashIngestConfig {
543            #[prost(message, optional, tag = "1")]
544            pub file_input: ::core::option::Option<super::super::FileReference>,
545        }
546        #[derive(Clone, PartialEq, ::prost::Message)]
547        pub struct CsvIngestConfig {
548            #[prost(message, optional, tag = "1")]
549            pub timestamp_series_name: ::core::option::Option<
550                super::super::StringReference,
551            >,
552            #[prost(message, optional, tag = "2")]
553            pub timestamp_type: ::core::option::Option<
554                super::super::TimestampTypeParameter,
555            >,
556            #[prost(message, optional, tag = "3")]
557            pub file_input: ::core::option::Option<super::super::FileReference>,
558        }
559        #[derive(Clone, PartialEq, ::prost::Message)]
560        pub struct ParquetIngestConfig {
561            #[prost(message, optional, tag = "1")]
562            pub timestamp_series_name: ::core::option::Option<
563                super::super::StringReference,
564            >,
565            #[prost(message, optional, tag = "2")]
566            pub timestamp_type: ::core::option::Option<
567                super::super::TimestampTypeParameter,
568            >,
569            #[prost(message, optional, tag = "3")]
570            pub file_input: ::core::option::Option<super::super::FileReference>,
571        }
572        #[derive(Clone, PartialEq, ::prost::Oneof)]
573        pub enum Config {
574            #[prost(message, tag = "1")]
575            ContainerizedExtractor(ContainerizedExtractorIngestConfig),
576            #[prost(message, tag = "2")]
577            Dataflash(DataflashIngestConfig),
578            #[prost(message, tag = "3")]
579            Csv(CsvIngestConfig),
580            #[prost(message, tag = "4")]
581            Parquet(ParquetIngestConfig),
582        }
583    }
584}
585#[derive(Clone, PartialEq, ::prost::Message)]
586pub struct FileInputBinding {
587    #[prost(string, tag = "1")]
588    pub environment_variable: ::prost::alloc::string::String,
589    #[prost(message, optional, tag = "2")]
590    pub file_reference: ::core::option::Option<FileReference>,
591}
592#[derive(Clone, PartialEq, ::prost::Message)]
593pub struct FileReference {
594    #[prost(oneof = "file_reference::Option", tags = "1")]
595    pub option: ::core::option::Option<file_reference::Option>,
596}
597/// Nested message and enum types in `FileReference`.
598pub mod file_reference {
599    #[derive(Clone, PartialEq, ::prost::Oneof)]
600    pub enum Option {
601        #[prost(string, tag = "1")]
602        FieldId(::prost::alloc::string::String),
603    }
604}
605#[derive(Clone, PartialEq, ::prost::Message)]
606pub struct EnvironmentInputBinding {
607    #[prost(string, tag = "1")]
608    pub environment_variable: ::prost::alloc::string::String,
609    #[prost(message, optional, tag = "2")]
610    pub value: ::core::option::Option<StringReference>,
611}
612#[derive(Clone, PartialEq, ::prost::Message)]
613pub struct AdditionalFileTagBinding {
614    #[prost(string, tag = "1")]
615    pub tag_name: ::prost::alloc::string::String,
616    #[prost(oneof = "additional_file_tag_binding::Value", tags = "2, 3")]
617    pub value: ::core::option::Option<additional_file_tag_binding::Value>,
618}
619/// Nested message and enum types in `AdditionalFileTagBinding`.
620pub mod additional_file_tag_binding {
621    #[derive(Clone, PartialEq, ::prost::Oneof)]
622    pub enum Value {
623        #[prost(message, tag = "2")]
624        StringValue(super::StringReference),
625        #[prost(message, tag = "3")]
626        AssetRid(super::AssetReference),
627    }
628}
629#[derive(Clone, PartialEq, ::prost::Message)]
630pub struct TimestampTypeParameter {
631    #[prost(oneof = "timestamp_type_parameter::Option", tags = "1, 2")]
632    pub option: ::core::option::Option<timestamp_type_parameter::Option>,
633}
634/// Nested message and enum types in `TimestampTypeParameter`.
635pub mod timestamp_type_parameter {
636    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
637    pub struct UserInputOptions {}
638    #[derive(Clone, PartialEq, ::prost::Oneof)]
639    pub enum Option {
640        #[prost(message, tag = "1")]
641        Constant(super::super::super::types::time::TimestampType),
642        #[prost(message, tag = "2")]
643        UserInput(UserInputOptions),
644    }
645}
646#[derive(Clone, PartialEq, ::prost::Message)]
647pub struct SelectOrCreateAssetStep {
648    #[prost(string, optional, tag = "1")]
649    pub asset_output_field_id: ::core::option::Option<::prost::alloc::string::String>,
650    #[prost(message, optional, tag = "2")]
651    pub create_asset_parameters: ::core::option::Option<
652        select_or_create_asset_step::CreateAssetParameters,
653    >,
654    #[prost(oneof = "select_or_create_asset_step::Options", tags = "3")]
655    pub options: ::core::option::Option<select_or_create_asset_step::Options>,
656}
657/// Nested message and enum types in `SelectOrCreateAssetStep`.
658pub mod select_or_create_asset_step {
659    #[derive(Clone, PartialEq, ::prost::Message)]
660    pub struct CreateAssetParameters {
661        #[prost(message, optional, tag = "2")]
662        pub description: ::core::option::Option<
663            create_asset_parameters::DescriptionParameter,
664        >,
665        #[prost(message, optional, tag = "3")]
666        pub labels: ::core::option::Option<create_asset_parameters::LabelsParameter>,
667        #[prost(message, optional, tag = "4")]
668        pub properties: ::core::option::Option<
669            create_asset_parameters::PropertiesParameter,
670        >,
671        #[prost(map = "string, message", tag = "5")]
672        pub data_scopes: ::std::collections::HashMap<
673            ::prost::alloc::string::String,
674            create_asset_parameters::DataScopeParameter,
675        >,
676    }
677    /// Nested message and enum types in `CreateAssetParameters`.
678    pub mod create_asset_parameters {
679        #[derive(Clone, PartialEq, ::prost::Message)]
680        pub struct DescriptionParameter {
681            #[prost(oneof = "description_parameter::Option", tags = "1")]
682            pub option: ::core::option::Option<description_parameter::Option>,
683        }
684        /// Nested message and enum types in `DescriptionParameter`.
685        pub mod description_parameter {
686            #[derive(Clone, PartialEq, ::prost::Oneof)]
687            pub enum Option {
688                #[prost(string, tag = "1")]
689                Constant(::prost::alloc::string::String),
690            }
691        }
692        #[derive(Clone, PartialEq, ::prost::Message)]
693        pub struct LabelsParameter {
694            #[prost(string, repeated, tag = "1")]
695            pub constant: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
696            #[prost(message, optional, tag = "2")]
697            pub user_input: ::core::option::Option<labels_parameter::UserInputOptions>,
698        }
699        /// Nested message and enum types in `LabelsParameter`.
700        pub mod labels_parameter {
701            #[derive(Clone, Copy, PartialEq, ::prost::Message)]
702            pub struct UserInputOptions {}
703        }
704        #[derive(Clone, PartialEq, ::prost::Message)]
705        pub struct PropertiesParameter {
706            #[prost(map = "string, string", tag = "1")]
707            pub constant: ::std::collections::HashMap<
708                ::prost::alloc::string::String,
709                ::prost::alloc::string::String,
710            >,
711            #[prost(message, optional, tag = "2")]
712            pub user_input: ::core::option::Option<
713                properties_parameter::UserInputOptions,
714            >,
715        }
716        /// Nested message and enum types in `PropertiesParameter`.
717        pub mod properties_parameter {
718            #[derive(Clone, PartialEq, ::prost::Message)]
719            pub struct UserInputOptions {
720                #[prost(string, repeated, tag = "1")]
721                pub required_keys: ::prost::alloc::vec::Vec<
722                    ::prost::alloc::string::String,
723                >,
724                #[prost(string, repeated, tag = "2")]
725                pub suggested_keys: ::prost::alloc::vec::Vec<
726                    ::prost::alloc::string::String,
727                >,
728            }
729        }
730        #[derive(Clone, PartialEq, ::prost::Message)]
731        pub struct DataScopeParameter {
732            #[prost(message, optional, tag = "21")]
733            pub series_tags: ::core::option::Option<super::super::TagsParameter>,
734            #[prost(oneof = "data_scope_parameter::DataSource", tags = "1, 2")]
735            pub data_source: ::core::option::Option<data_scope_parameter::DataSource>,
736        }
737        /// Nested message and enum types in `DataScopeParameter`.
738        pub mod data_scope_parameter {
739            #[derive(Clone, Copy, PartialEq, ::prost::Message)]
740            pub struct NewDataset {}
741            #[derive(Clone, PartialEq, ::prost::Message)]
742            pub struct ExistingDataset {
743                #[prost(oneof = "existing_dataset::Options", tags = "1")]
744                pub options: ::core::option::Option<existing_dataset::Options>,
745            }
746            /// Nested message and enum types in `ExistingDataset`.
747            pub mod existing_dataset {
748                #[derive(Clone, PartialEq, ::prost::Oneof)]
749                pub enum Options {
750                    #[prost(message, tag = "1")]
751                    PresetOptions(super::super::super::super::PresetDatasetFieldOptions),
752                }
753            }
754            #[derive(Clone, PartialEq, ::prost::Oneof)]
755            pub enum DataSource {
756                #[prost(message, tag = "1")]
757                NewDataset(NewDataset),
758                #[prost(message, tag = "2")]
759                ExistingDataset(ExistingDataset),
760            }
761        }
762    }
763    #[derive(Clone, PartialEq, ::prost::Oneof)]
764    pub enum Options {
765        #[prost(message, tag = "3")]
766        PresetOptions(super::PresetAssetFieldOptions),
767    }
768}
769#[derive(Clone, PartialEq, ::prost::Message)]
770pub struct PresetDatasetFieldOptions {
771    #[prost(message, repeated, tag = "1")]
772    pub options: ::prost::alloc::vec::Vec<DatasetReference>,
773    #[prost(message, optional, tag = "2")]
774    pub default_option: ::core::option::Option<DatasetReference>,
775}
776#[derive(Clone, PartialEq, ::prost::Message)]
777pub struct DatasetReference {
778    #[prost(oneof = "dataset_reference::Option", tags = "1, 2")]
779    pub option: ::core::option::Option<dataset_reference::Option>,
780}
781/// Nested message and enum types in `DatasetReference`.
782pub mod dataset_reference {
783    #[derive(Clone, PartialEq, ::prost::Oneof)]
784    pub enum Option {
785        #[prost(string, tag = "1")]
786        Rid(::prost::alloc::string::String),
787        #[prost(string, tag = "2")]
788        FieldId(::prost::alloc::string::String),
789    }
790}
791#[derive(Clone, PartialEq, ::prost::Message)]
792pub struct TagsParameter {
793    #[prost(map = "string, string", tag = "1")]
794    pub constant: ::std::collections::HashMap<
795        ::prost::alloc::string::String,
796        ::prost::alloc::string::String,
797    >,
798    #[prost(message, optional, tag = "2")]
799    pub user_input: ::core::option::Option<tags_parameter::UserInputOptions>,
800}
801/// Nested message and enum types in `TagsParameter`.
802pub mod tags_parameter {
803    #[derive(Clone, PartialEq, ::prost::Message)]
804    pub struct UserInputOptions {
805        #[prost(string, repeated, tag = "1")]
806        pub required_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
807        #[prost(string, repeated, tag = "2")]
808        pub suggested_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
809    }
810}
811#[derive(Clone, PartialEq, ::prost::Message)]
812pub struct MultiStringReference {
813    #[prost(oneof = "multi_string_reference::Option", tags = "1")]
814    pub option: ::core::option::Option<multi_string_reference::Option>,
815}
816/// Nested message and enum types in `MultiStringReference`.
817pub mod multi_string_reference {
818    #[derive(Clone, PartialEq, ::prost::Oneof)]
819    pub enum Option {
820        #[prost(string, tag = "1")]
821        FieldId(::prost::alloc::string::String),
822    }
823}
824#[derive(Clone, PartialEq, ::prost::Message)]
825pub struct StringReference {
826    #[prost(oneof = "string_reference::Option", tags = "1, 2")]
827    pub option: ::core::option::Option<string_reference::Option>,
828}
829/// Nested message and enum types in `StringReference`.
830pub mod string_reference {
831    #[derive(Clone, PartialEq, ::prost::Oneof)]
832    pub enum Option {
833        #[prost(string, tag = "1")]
834        Constant(::prost::alloc::string::String),
835        #[prost(string, tag = "2")]
836        FieldId(::prost::alloc::string::String),
837    }
838}
839#[derive(Clone, PartialEq, ::prost::Message)]
840pub struct MultiAssetReference {
841    #[prost(oneof = "multi_asset_reference::Option", tags = "1")]
842    pub option: ::core::option::Option<multi_asset_reference::Option>,
843}
844/// Nested message and enum types in `MultiAssetReference`.
845pub mod multi_asset_reference {
846    #[derive(Clone, PartialEq, ::prost::Message)]
847    pub struct AssetReferenceList {
848        #[prost(message, repeated, tag = "1")]
849        pub references: ::prost::alloc::vec::Vec<super::AssetReference>,
850    }
851    #[derive(Clone, PartialEq, ::prost::Oneof)]
852    pub enum Option {
853        #[prost(message, tag = "1")]
854        List(AssetReferenceList),
855    }
856}
857#[derive(Clone, PartialEq, ::prost::Message)]
858pub struct AssetReference {
859    #[prost(oneof = "asset_reference::Option", tags = "1, 2")]
860    pub option: ::core::option::Option<asset_reference::Option>,
861}
862/// Nested message and enum types in `AssetReference`.
863pub mod asset_reference {
864    #[derive(Clone, PartialEq, ::prost::Oneof)]
865    pub enum Option {
866        #[prost(string, tag = "1")]
867        Rid(::prost::alloc::string::String),
868        #[prost(string, tag = "2")]
869        FieldId(::prost::alloc::string::String),
870    }
871}
872#[derive(Clone, PartialEq, ::prost::Message)]
873pub struct TimeRangeReference {
874    #[prost(oneof = "time_range_reference::Option", tags = "1, 2")]
875    pub option: ::core::option::Option<time_range_reference::Option>,
876}
877/// Nested message and enum types in `TimeRangeReference`.
878pub mod time_range_reference {
879    #[derive(Clone, PartialEq, ::prost::Message)]
880    pub struct IngestJobList {
881        #[prost(string, repeated, tag = "1")]
882        pub field_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
883    }
884    #[derive(Clone, PartialEq, ::prost::Message)]
885    pub struct RangeLiteral {
886        #[prost(message, optional, tag = "1")]
887        pub start: ::core::option::Option<super::TimestampReference>,
888        #[prost(message, optional, tag = "2")]
889        pub end: ::core::option::Option<super::TimestampReference>,
890    }
891    #[derive(Clone, PartialEq, ::prost::Oneof)]
892    pub enum Option {
893        #[prost(message, tag = "1")]
894        FromIngestJobs(IngestJobList),
895        #[prost(message, tag = "2")]
896        Literal(RangeLiteral),
897    }
898}
899#[derive(Clone, PartialEq, ::prost::Message)]
900pub struct TimestampReference {
901    #[prost(oneof = "timestamp_reference::Option", tags = "1, 2")]
902    pub option: ::core::option::Option<timestamp_reference::Option>,
903}
904/// Nested message and enum types in `TimestampReference`.
905pub mod timestamp_reference {
906    #[derive(Clone, PartialEq, ::prost::Oneof)]
907    pub enum Option {
908        #[prost(string, tag = "1")]
909        FieldId(::prost::alloc::string::String),
910        #[prost(message, tag = "2")]
911        Constant(super::super::super::super::google::protobuf::Timestamp),
912    }
913}
914#[derive(Clone, PartialEq, ::prost::Message)]
915pub struct MultiRunReference {
916    #[prost(oneof = "multi_run_reference::Option", tags = "1")]
917    pub option: ::core::option::Option<multi_run_reference::Option>,
918}
919/// Nested message and enum types in `MultiRunReference`.
920pub mod multi_run_reference {
921    #[derive(Clone, PartialEq, ::prost::Message)]
922    pub struct RunReferenceList {
923        #[prost(message, repeated, tag = "1")]
924        pub references: ::prost::alloc::vec::Vec<super::RunReference>,
925    }
926    #[derive(Clone, PartialEq, ::prost::Oneof)]
927    pub enum Option {
928        #[prost(message, tag = "1")]
929        List(RunReferenceList),
930    }
931}
932#[derive(Clone, PartialEq, ::prost::Message)]
933pub struct RunReference {
934    #[prost(oneof = "run_reference::Option", tags = "1")]
935    pub option: ::core::option::Option<run_reference::Option>,
936}
937/// Nested message and enum types in `RunReference`.
938pub mod run_reference {
939    #[derive(Clone, PartialEq, ::prost::Oneof)]
940    pub enum Option {
941        #[prost(string, tag = "1")]
942        FieldId(::prost::alloc::string::String),
943    }
944}
945#[derive(Clone, PartialEq, ::prost::Message)]
946pub struct MultiWorkbookTemplateReference {
947    #[prost(oneof = "multi_workbook_template_reference::Option", tags = "1")]
948    pub option: ::core::option::Option<multi_workbook_template_reference::Option>,
949}
950/// Nested message and enum types in `MultiWorkbookTemplateReference`.
951pub mod multi_workbook_template_reference {
952    #[derive(Clone, PartialEq, ::prost::Message)]
953    pub struct WorkbookTemplateReferenceList {
954        #[prost(message, repeated, tag = "1")]
955        pub references: ::prost::alloc::vec::Vec<super::WorkbookTemplateReference>,
956    }
957    #[derive(Clone, PartialEq, ::prost::Oneof)]
958    pub enum Option {
959        #[prost(message, tag = "1")]
960        List(WorkbookTemplateReferenceList),
961    }
962}
963#[derive(Clone, PartialEq, ::prost::Message)]
964pub struct WorkbookTemplateReference {
965    #[prost(oneof = "workbook_template_reference::Option", tags = "1")]
966    pub option: ::core::option::Option<workbook_template_reference::Option>,
967}
968/// Nested message and enum types in `WorkbookTemplateReference`.
969pub mod workbook_template_reference {
970    #[derive(Clone, PartialEq, ::prost::Oneof)]
971    pub enum Option {
972        #[prost(string, tag = "1")]
973        Rid(::prost::alloc::string::String),
974    }
975}
976#[derive(Clone, PartialEq, ::prost::Message)]
977pub struct MultiChecklistReference {
978    #[prost(oneof = "multi_checklist_reference::Option", tags = "1")]
979    pub option: ::core::option::Option<multi_checklist_reference::Option>,
980}
981/// Nested message and enum types in `MultiChecklistReference`.
982pub mod multi_checklist_reference {
983    #[derive(Clone, PartialEq, ::prost::Message)]
984    pub struct ChecklistReferenceList {
985        #[prost(message, repeated, tag = "1")]
986        pub references: ::prost::alloc::vec::Vec<super::ChecklistReference>,
987    }
988    #[derive(Clone, PartialEq, ::prost::Oneof)]
989    pub enum Option {
990        #[prost(message, tag = "1")]
991        List(ChecklistReferenceList),
992    }
993}
994#[derive(Clone, PartialEq, ::prost::Message)]
995pub struct ChecklistReference {
996    #[prost(oneof = "checklist_reference::Option", tags = "1")]
997    pub option: ::core::option::Option<checklist_reference::Option>,
998}
999/// Nested message and enum types in `ChecklistReference`.
1000pub mod checklist_reference {
1001    #[derive(Clone, PartialEq, ::prost::Oneof)]
1002    pub enum Option {
1003        #[prost(string, tag = "1")]
1004        Rid(::prost::alloc::string::String),
1005    }
1006}
1007#[derive(Clone, PartialEq, ::prost::Message)]
1008pub struct MultiIntegrationReference {
1009    #[prost(oneof = "multi_integration_reference::Option", tags = "1")]
1010    pub option: ::core::option::Option<multi_integration_reference::Option>,
1011}
1012/// Nested message and enum types in `MultiIntegrationReference`.
1013pub mod multi_integration_reference {
1014    #[derive(Clone, PartialEq, ::prost::Message)]
1015    pub struct IntegrationReferenceList {
1016        #[prost(message, repeated, tag = "1")]
1017        pub references: ::prost::alloc::vec::Vec<super::IntegrationReference>,
1018    }
1019    #[derive(Clone, PartialEq, ::prost::Oneof)]
1020    pub enum Option {
1021        #[prost(message, tag = "1")]
1022        List(IntegrationReferenceList),
1023    }
1024}
1025#[derive(Clone, PartialEq, ::prost::Message)]
1026pub struct IntegrationReference {
1027    #[prost(oneof = "integration_reference::Option", tags = "1")]
1028    pub option: ::core::option::Option<integration_reference::Option>,
1029}
1030/// Nested message and enum types in `IntegrationReference`.
1031pub mod integration_reference {
1032    #[derive(Clone, PartialEq, ::prost::Oneof)]
1033    pub enum Option {
1034        #[prost(string, tag = "1")]
1035        Rid(::prost::alloc::string::String),
1036    }
1037}
1038#[derive(Clone, PartialEq, ::prost::Message)]
1039pub struct FormField {
1040    #[prost(string, tag = "1")]
1041    pub id: ::prost::alloc::string::String,
1042    #[prost(string, optional, tag = "11")]
1043    pub label: ::core::option::Option<::prost::alloc::string::String>,
1044    #[prost(string, optional, tag = "12")]
1045    pub description: ::core::option::Option<::prost::alloc::string::String>,
1046    #[prost(oneof = "form_field::Field", tags = "2, 3, 4, 5, 6, 7, 8, 9, 10")]
1047    pub field: ::core::option::Option<form_field::Field>,
1048}
1049/// Nested message and enum types in `FormField`.
1050pub mod form_field {
1051    #[derive(Clone, PartialEq, ::prost::Oneof)]
1052    pub enum Field {
1053        #[prost(message, tag = "2")]
1054        Asset(super::AssetField),
1055        #[prost(message, tag = "3")]
1056        Checkbox(super::CheckboxField),
1057        #[prost(message, tag = "4")]
1058        Text(super::TextField),
1059        #[prost(message, tag = "5")]
1060        Int(super::IntField),
1061        #[prost(message, tag = "6")]
1062        Double(super::DoubleField),
1063        #[prost(message, tag = "7")]
1064        SingleEnum(super::SingleEnumField),
1065        #[prost(message, tag = "8")]
1066        MultiEnum(super::MultiEnumField),
1067        #[prost(message, tag = "9")]
1068        FileUpload(super::FileUploadField),
1069        #[prost(message, tag = "10")]
1070        MultiFileUpload(super::MultiFileUploadField),
1071    }
1072}
1073#[derive(Clone, PartialEq, ::prost::Message)]
1074pub struct PresetAssetFieldOptions {
1075    #[prost(message, repeated, tag = "1")]
1076    pub options: ::prost::alloc::vec::Vec<AssetReference>,
1077    #[prost(message, optional, tag = "2")]
1078    pub default_option: ::core::option::Option<AssetReference>,
1079}
1080#[derive(Clone, PartialEq, ::prost::Message)]
1081pub struct AssetField {
1082    #[prost(string, tag = "1")]
1083    pub label: ::prost::alloc::string::String,
1084    #[prost(bool, tag = "2")]
1085    pub is_required: bool,
1086    #[prost(oneof = "asset_field::Options", tags = "3")]
1087    pub options: ::core::option::Option<asset_field::Options>,
1088}
1089/// Nested message and enum types in `AssetField`.
1090pub mod asset_field {
1091    #[derive(Clone, PartialEq, ::prost::Oneof)]
1092    pub enum Options {
1093        #[prost(message, tag = "3")]
1094        PresetOptions(super::PresetAssetFieldOptions),
1095    }
1096}
1097#[derive(Clone, PartialEq, ::prost::Message)]
1098pub struct CheckboxField {
1099    #[prost(string, tag = "1")]
1100    pub label: ::prost::alloc::string::String,
1101    #[prost(bool, tag = "2")]
1102    pub is_required: bool,
1103}
1104#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1105pub struct TextFieldSimpleInputType {}
1106#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1107pub struct TextFieldMarkdownInputType {}
1108#[derive(Clone, PartialEq, ::prost::Message)]
1109pub struct TextField {
1110    #[prost(string, tag = "1")]
1111    pub label: ::prost::alloc::string::String,
1112    #[prost(uint32, optional, tag = "4")]
1113    pub min_length: ::core::option::Option<u32>,
1114    #[prost(uint32, optional, tag = "5")]
1115    pub max_length: ::core::option::Option<u32>,
1116    #[prost(string, optional, tag = "6")]
1117    pub pattern: ::core::option::Option<::prost::alloc::string::String>,
1118    #[prost(string, optional, tag = "7")]
1119    pub pattern_description: ::core::option::Option<::prost::alloc::string::String>,
1120    #[prost(oneof = "text_field::InputType", tags = "2, 3")]
1121    pub input_type: ::core::option::Option<text_field::InputType>,
1122}
1123/// Nested message and enum types in `TextField`.
1124pub mod text_field {
1125    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1126    pub enum InputType {
1127        #[prost(message, tag = "2")]
1128        Simple(super::TextFieldSimpleInputType),
1129        #[prost(message, tag = "3")]
1130        Markdown(super::TextFieldMarkdownInputType),
1131    }
1132}
1133#[derive(Clone, PartialEq, ::prost::Message)]
1134pub struct IntField {
1135    #[prost(string, tag = "1")]
1136    pub label: ::prost::alloc::string::String,
1137    #[prost(bool, tag = "2")]
1138    pub is_required: bool,
1139    #[prost(int64, optional, tag = "3")]
1140    pub gte_value: ::core::option::Option<i64>,
1141    #[prost(int64, optional, tag = "4")]
1142    pub lte_value: ::core::option::Option<i64>,
1143}
1144#[derive(Clone, PartialEq, ::prost::Message)]
1145pub struct DoubleField {
1146    #[prost(string, tag = "1")]
1147    pub label: ::prost::alloc::string::String,
1148    #[prost(bool, tag = "2")]
1149    pub is_required: bool,
1150    #[prost(oneof = "double_field::LowerBound", tags = "3, 4")]
1151    pub lower_bound: ::core::option::Option<double_field::LowerBound>,
1152    #[prost(oneof = "double_field::UpperBound", tags = "5, 6")]
1153    pub upper_bound: ::core::option::Option<double_field::UpperBound>,
1154}
1155/// Nested message and enum types in `DoubleField`.
1156pub mod double_field {
1157    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1158    pub enum LowerBound {
1159        #[prost(double, tag = "3")]
1160        GtValue(f64),
1161        #[prost(double, tag = "4")]
1162        GteValue(f64),
1163    }
1164    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1165    pub enum UpperBound {
1166        #[prost(double, tag = "5")]
1167        LtValue(f64),
1168        #[prost(double, tag = "6")]
1169        LteValue(f64),
1170    }
1171}
1172#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1173pub struct EnumFieldButtonsInputType {}
1174#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1175pub struct EnumFieldMenuInputType {}
1176#[derive(Clone, PartialEq, ::prost::Message)]
1177pub struct SingleEnumField {
1178    #[prost(string, tag = "1")]
1179    pub label: ::prost::alloc::string::String,
1180    #[prost(string, repeated, tag = "2")]
1181    pub options: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1182    #[prost(bool, tag = "5")]
1183    pub allow_custom: bool,
1184    #[prost(bool, tag = "6")]
1185    pub is_required: bool,
1186    #[prost(oneof = "single_enum_field::InputType", tags = "3, 4")]
1187    pub input_type: ::core::option::Option<single_enum_field::InputType>,
1188}
1189/// Nested message and enum types in `SingleEnumField`.
1190pub mod single_enum_field {
1191    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1192    pub enum InputType {
1193        #[prost(message, tag = "3")]
1194        Buttons(super::EnumFieldButtonsInputType),
1195        #[prost(message, tag = "4")]
1196        Dropdown(super::EnumFieldMenuInputType),
1197    }
1198}
1199#[derive(Clone, PartialEq, ::prost::Message)]
1200pub struct MultiEnumField {
1201    #[prost(string, tag = "1")]
1202    pub label: ::prost::alloc::string::String,
1203    #[prost(string, repeated, tag = "2")]
1204    pub options: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1205    #[prost(bool, tag = "6")]
1206    pub allow_custom: bool,
1207    #[prost(uint32, optional, tag = "7")]
1208    pub min_count: ::core::option::Option<u32>,
1209    #[prost(uint32, optional, tag = "8")]
1210    pub max_count: ::core::option::Option<u32>,
1211    #[prost(oneof = "multi_enum_field::InputType", tags = "3, 4")]
1212    pub input_type: ::core::option::Option<multi_enum_field::InputType>,
1213}
1214/// Nested message and enum types in `MultiEnumField`.
1215pub mod multi_enum_field {
1216    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1217    pub enum InputType {
1218        #[prost(message, tag = "3")]
1219        Buttons(super::EnumFieldButtonsInputType),
1220        #[prost(message, tag = "4")]
1221        Dropdown(super::EnumFieldMenuInputType),
1222    }
1223}
1224#[derive(Clone, PartialEq, ::prost::Message)]
1225pub struct FileUploadField {
1226    #[prost(bool, tag = "1")]
1227    pub is_required: bool,
1228    #[prost(string, repeated, tag = "2")]
1229    pub suffix_filters: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1230}
1231#[derive(Clone, PartialEq, ::prost::Message)]
1232pub struct MultiFileUploadField {
1233    #[prost(uint32, optional, tag = "1")]
1234    pub min_count: ::core::option::Option<u32>,
1235    #[prost(uint32, optional, tag = "2")]
1236    pub max_count: ::core::option::Option<u32>,
1237    #[prost(string, repeated, tag = "3")]
1238    pub suffix_filters: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1239}
1240#[derive(Clone, PartialEq, ::prost::Message)]
1241pub struct ProcedureMetadata {
1242    #[prost(string, tag = "1")]
1243    pub rid: ::prost::alloc::string::String,
1244    #[prost(string, tag = "2")]
1245    pub title: ::prost::alloc::string::String,
1246    #[prost(string, optional, tag = "3")]
1247    pub description: ::core::option::Option<::prost::alloc::string::String>,
1248    #[prost(string, repeated, tag = "4")]
1249    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1250    #[prost(map = "string, string", tag = "5")]
1251    pub properties: ::std::collections::HashMap<
1252        ::prost::alloc::string::String,
1253        ::prost::alloc::string::String,
1254    >,
1255    #[prost(bool, tag = "6")]
1256    pub is_archived: bool,
1257    #[prost(bool, tag = "7")]
1258    pub is_published: bool,
1259    #[prost(message, optional, tag = "8")]
1260    pub created_at: ::core::option::Option<
1261        super::super::super::google::protobuf::Timestamp,
1262    >,
1263    #[prost(string, tag = "9")]
1264    pub created_by: ::prost::alloc::string::String,
1265    #[prost(message, optional, tag = "10")]
1266    pub updated_at: ::core::option::Option<
1267        super::super::super::google::protobuf::Timestamp,
1268    >,
1269    #[prost(string, tag = "11")]
1270    pub updated_by: ::prost::alloc::string::String,
1271    #[prost(string, tag = "12")]
1272    pub workspace: ::prost::alloc::string::String,
1273    #[prost(int64, optional, tag = "13")]
1274    pub execution_count: ::core::option::Option<i64>,
1275}
1276#[derive(Clone, PartialEq, ::prost::Message)]
1277pub struct Procedure {
1278    #[prost(string, tag = "1")]
1279    pub rid: ::prost::alloc::string::String,
1280    #[prost(string, tag = "2")]
1281    pub commit: ::prost::alloc::string::String,
1282    #[prost(message, optional, tag = "3")]
1283    pub metadata: ::core::option::Option<ProcedureMetadata>,
1284    #[prost(message, optional, tag = "4")]
1285    pub state: ::core::option::Option<ProcedureState>,
1286}
1287#[derive(Clone, PartialEq, ::prost::Message)]
1288pub struct CreateProcedureRequest {
1289    #[prost(string, tag = "1")]
1290    pub title: ::prost::alloc::string::String,
1291    #[prost(string, optional, tag = "2")]
1292    pub description: ::core::option::Option<::prost::alloc::string::String>,
1293    #[prost(string, repeated, tag = "3")]
1294    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1295    #[prost(map = "string, string", tag = "4")]
1296    pub properties: ::std::collections::HashMap<
1297        ::prost::alloc::string::String,
1298        ::prost::alloc::string::String,
1299    >,
1300    #[prost(message, optional, tag = "5")]
1301    pub state: ::core::option::Option<ProcedureState>,
1302    #[prost(bool, optional, tag = "6")]
1303    pub is_published: ::core::option::Option<bool>,
1304    #[prost(string, tag = "7")]
1305    pub workspace: ::prost::alloc::string::String,
1306    #[prost(string, tag = "8")]
1307    pub commit_message: ::prost::alloc::string::String,
1308    #[prost(string, optional, tag = "9")]
1309    pub initial_branch_name: ::core::option::Option<::prost::alloc::string::String>,
1310}
1311#[derive(Clone, PartialEq, ::prost::Message)]
1312pub struct CreateProcedureResponse {
1313    #[prost(message, optional, tag = "1")]
1314    pub procedure: ::core::option::Option<Procedure>,
1315    #[prost(string, optional, tag = "2")]
1316    pub branch_name: ::core::option::Option<::prost::alloc::string::String>,
1317}
1318#[derive(Clone, PartialEq, ::prost::Message)]
1319pub struct GetProcedureRequest {
1320    #[prost(string, tag = "1")]
1321    pub rid: ::prost::alloc::string::String,
1322    #[prost(message, optional, tag = "2")]
1323    pub branch_or_commit: ::core::option::Option<
1324        super::super::versioning::v1::BranchOrCommit,
1325    >,
1326    #[prost(bool, tag = "3")]
1327    pub include_display_graph: bool,
1328}
1329#[derive(Clone, PartialEq, ::prost::Message)]
1330pub struct GetProcedureResponse {
1331    #[prost(message, optional, tag = "1")]
1332    pub procedure: ::core::option::Option<Procedure>,
1333    #[prost(message, optional, tag = "2")]
1334    pub display_graph: ::core::option::Option<ProcedureDisplayGraph>,
1335}
1336#[derive(Clone, PartialEq, ::prost::Message)]
1337pub struct BatchGetProcedureMetadataRequest {
1338    #[prost(string, repeated, tag = "1")]
1339    pub procedure_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1340}
1341#[derive(Clone, PartialEq, ::prost::Message)]
1342pub struct BatchGetProcedureMetadataResponse {
1343    #[prost(message, repeated, tag = "1")]
1344    pub procedure_metadatas: ::prost::alloc::vec::Vec<ProcedureMetadata>,
1345}
1346#[derive(Clone, PartialEq, ::prost::Message)]
1347pub struct UpdateProcedureMetadataRequest {
1348    #[prost(string, tag = "1")]
1349    pub rid: ::prost::alloc::string::String,
1350    #[prost(string, optional, tag = "2")]
1351    pub title: ::core::option::Option<::prost::alloc::string::String>,
1352    #[prost(string, optional, tag = "3")]
1353    pub description: ::core::option::Option<::prost::alloc::string::String>,
1354    #[prost(message, optional, tag = "4")]
1355    pub labels: ::core::option::Option<super::super::types::LabelUpdateWrapper>,
1356    #[prost(message, optional, tag = "5")]
1357    pub properties: ::core::option::Option<super::super::types::PropertyUpdateWrapper>,
1358    #[prost(bool, optional, tag = "6")]
1359    pub is_archived: ::core::option::Option<bool>,
1360    #[prost(bool, optional, tag = "7")]
1361    pub is_published: ::core::option::Option<bool>,
1362}
1363#[derive(Clone, PartialEq, ::prost::Message)]
1364pub struct UpdateProcedureMetadataResponse {
1365    #[prost(message, optional, tag = "1")]
1366    pub procedure_metadata: ::core::option::Option<ProcedureMetadata>,
1367}
1368#[derive(Clone, PartialEq, ::prost::Message)]
1369pub struct ParseNestedProcedureRequest {
1370    #[prost(message, optional, tag = "1")]
1371    pub nested_procedure: ::core::option::Option<NestedProcedure>,
1372    #[prost(bool, tag = "3")]
1373    pub include_display_graph: bool,
1374}
1375#[derive(Clone, PartialEq, ::prost::Message)]
1376pub struct ParseNestedProcedureResponse {
1377    #[prost(message, optional, tag = "1")]
1378    pub procedure: ::core::option::Option<Procedure>,
1379    #[prost(message, optional, tag = "2")]
1380    pub display_graph: ::core::option::Option<ProcedureDisplayGraph>,
1381}
1382#[derive(Clone, PartialEq, ::prost::Message)]
1383pub struct GetProcedureAsNestedRequest {
1384    #[prost(string, tag = "1")]
1385    pub rid: ::prost::alloc::string::String,
1386    #[prost(message, optional, tag = "2")]
1387    pub branch_or_commit: ::core::option::Option<
1388        super::super::versioning::v1::BranchOrCommit,
1389    >,
1390}
1391#[derive(Clone, PartialEq, ::prost::Message)]
1392pub struct GetProcedureAsNestedResponse {
1393    #[prost(message, optional, tag = "1")]
1394    pub nested_procedure: ::core::option::Option<NestedProcedure>,
1395}
1396#[derive(Clone, PartialEq, ::prost::Message)]
1397pub struct MergeToMainRequest {
1398    #[prost(string, tag = "1")]
1399    pub rid: ::prost::alloc::string::String,
1400    #[prost(string, tag = "2")]
1401    pub branch: ::prost::alloc::string::String,
1402    #[prost(string, optional, tag = "3")]
1403    pub latest_commit_on_main: ::core::option::Option<::prost::alloc::string::String>,
1404    #[prost(string, tag = "4")]
1405    pub message: ::prost::alloc::string::String,
1406}
1407#[derive(Clone, PartialEq, ::prost::Message)]
1408pub struct MergeToMainResponse {
1409    #[prost(message, optional, tag = "1")]
1410    pub procedure: ::core::option::Option<Procedure>,
1411}
1412#[derive(Clone, PartialEq, ::prost::Message)]
1413pub struct SaveWorkingStateRequest {
1414    #[prost(string, tag = "1")]
1415    pub rid: ::prost::alloc::string::String,
1416    #[prost(string, optional, tag = "2")]
1417    pub branch: ::core::option::Option<::prost::alloc::string::String>,
1418    #[prost(string, tag = "3")]
1419    pub message: ::prost::alloc::string::String,
1420    #[prost(string, optional, tag = "4")]
1421    pub latest_commit_on_branch: ::core::option::Option<::prost::alloc::string::String>,
1422    #[prost(message, optional, tag = "5")]
1423    pub state: ::core::option::Option<ProcedureState>,
1424}
1425#[derive(Clone, PartialEq, ::prost::Message)]
1426pub struct SaveWorkingStateResponse {
1427    #[prost(message, optional, tag = "1")]
1428    pub procedure: ::core::option::Option<Procedure>,
1429}
1430#[derive(Clone, PartialEq, ::prost::Message)]
1431pub struct CommitRequest {
1432    #[prost(string, tag = "1")]
1433    pub rid: ::prost::alloc::string::String,
1434    #[prost(string, optional, tag = "2")]
1435    pub branch: ::core::option::Option<::prost::alloc::string::String>,
1436    #[prost(string, optional, tag = "3")]
1437    pub latest_commit_on_branch: ::core::option::Option<::prost::alloc::string::String>,
1438    #[prost(string, tag = "4")]
1439    pub message: ::prost::alloc::string::String,
1440    #[prost(message, optional, tag = "5")]
1441    pub state: ::core::option::Option<ProcedureState>,
1442}
1443#[derive(Clone, PartialEq, ::prost::Message)]
1444pub struct CommitResponse {
1445    #[prost(message, optional, tag = "1")]
1446    pub procedure: ::core::option::Option<Procedure>,
1447}
1448#[derive(Clone, PartialEq, ::prost::Message)]
1449pub struct ProcedureSearchQuery {
1450    #[prost(oneof = "procedure_search_query::Query", tags = "1, 2, 3, 4, 5, 6, 7, 8")]
1451    pub query: ::core::option::Option<procedure_search_query::Query>,
1452}
1453/// Nested message and enum types in `ProcedureSearchQuery`.
1454pub mod procedure_search_query {
1455    #[derive(Clone, PartialEq, ::prost::Message)]
1456    pub struct ProcedureSearchAndQuery {
1457        #[prost(message, repeated, tag = "1")]
1458        pub queries: ::prost::alloc::vec::Vec<super::ProcedureSearchQuery>,
1459    }
1460    #[derive(Clone, PartialEq, ::prost::Message)]
1461    pub struct ProcedureSearchOrQuery {
1462        #[prost(message, repeated, tag = "1")]
1463        pub queries: ::prost::alloc::vec::Vec<super::ProcedureSearchQuery>,
1464    }
1465    #[derive(Clone, PartialEq, ::prost::Oneof)]
1466    pub enum Query {
1467        #[prost(string, tag = "1")]
1468        SearchText(::prost::alloc::string::String),
1469        #[prost(string, tag = "2")]
1470        Label(::prost::alloc::string::String),
1471        #[prost(message, tag = "3")]
1472        Property(super::super::super::types::Property),
1473        #[prost(message, tag = "4")]
1474        And(ProcedureSearchAndQuery),
1475        #[prost(message, tag = "5")]
1476        Or(ProcedureSearchOrQuery),
1477        #[prost(string, tag = "6")]
1478        Workspace(::prost::alloc::string::String),
1479        #[prost(string, tag = "7")]
1480        CreatedBy(::prost::alloc::string::String),
1481        #[prost(bool, tag = "8")]
1482        IsArchived(bool),
1483    }
1484}
1485#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1486pub struct SearchProceduresSortOptions {
1487    #[prost(bool, optional, tag = "1")]
1488    pub is_descending: ::core::option::Option<bool>,
1489    #[prost(enumeration = "SearchProceduresSortField", optional, tag = "2")]
1490    pub sort_field: ::core::option::Option<i32>,
1491}
1492#[derive(Clone, PartialEq, ::prost::Message)]
1493pub struct SearchProceduresRequest {
1494    #[prost(message, optional, tag = "1")]
1495    pub query: ::core::option::Option<ProcedureSearchQuery>,
1496    #[prost(message, optional, tag = "2")]
1497    pub sort_options: ::core::option::Option<SearchProceduresSortOptions>,
1498    #[prost(int32, optional, tag = "3")]
1499    pub page_size: ::core::option::Option<i32>,
1500    #[prost(string, optional, tag = "4")]
1501    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
1502}
1503#[derive(Clone, PartialEq, ::prost::Message)]
1504pub struct SearchProceduresResponse {
1505    #[prost(message, repeated, tag = "1")]
1506    pub procedure_metadata: ::prost::alloc::vec::Vec<ProcedureMetadata>,
1507    #[prost(string, optional, tag = "2")]
1508    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
1509}
1510#[derive(Clone, PartialEq, ::prost::Message)]
1511pub struct ArchiveProceduresRequest {
1512    #[prost(string, repeated, tag = "1")]
1513    pub procedure_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1514}
1515#[derive(Clone, PartialEq, ::prost::Message)]
1516pub struct ArchiveProceduresResponse {
1517    #[prost(string, repeated, tag = "1")]
1518    pub procedure_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1519}
1520#[derive(Clone, PartialEq, ::prost::Message)]
1521pub struct UnarchiveProceduresRequest {
1522    #[prost(string, repeated, tag = "1")]
1523    pub procedure_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1524}
1525#[derive(Clone, PartialEq, ::prost::Message)]
1526pub struct UnarchiveProceduresResponse {
1527    #[prost(string, repeated, tag = "1")]
1528    pub procedure_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1529}
1530#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1531#[repr(i32)]
1532pub enum CaptureMoment {
1533    Unspecified = 0,
1534    StepStart = 1,
1535    StepCompletion = 2,
1536}
1537impl CaptureMoment {
1538    /// String value of the enum field names used in the ProtoBuf definition.
1539    ///
1540    /// The values are not transformed in any way and thus are considered stable
1541    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1542    pub fn as_str_name(&self) -> &'static str {
1543        match self {
1544            Self::Unspecified => "CAPTURE_MOMENT_UNSPECIFIED",
1545            Self::StepStart => "CAPTURE_MOMENT_STEP_START",
1546            Self::StepCompletion => "CAPTURE_MOMENT_STEP_COMPLETION",
1547        }
1548    }
1549    /// Creates an enum from field names used in the ProtoBuf definition.
1550    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1551        match value {
1552            "CAPTURE_MOMENT_UNSPECIFIED" => Some(Self::Unspecified),
1553            "CAPTURE_MOMENT_STEP_START" => Some(Self::StepStart),
1554            "CAPTURE_MOMENT_STEP_COMPLETION" => Some(Self::StepCompletion),
1555            _ => None,
1556        }
1557    }
1558}
1559#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1560#[repr(i32)]
1561pub enum SearchProceduresSortField {
1562    Unspecified = 0,
1563    Name = 1,
1564    CreatedAt = 2,
1565    UpdatedAt = 3,
1566}
1567impl SearchProceduresSortField {
1568    /// String value of the enum field names used in the ProtoBuf definition.
1569    ///
1570    /// The values are not transformed in any way and thus are considered stable
1571    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1572    pub fn as_str_name(&self) -> &'static str {
1573        match self {
1574            Self::Unspecified => "SEARCH_PROCEDURES_SORT_FIELD_UNSPECIFIED",
1575            Self::Name => "SEARCH_PROCEDURES_SORT_FIELD_NAME",
1576            Self::CreatedAt => "SEARCH_PROCEDURES_SORT_FIELD_CREATED_AT",
1577            Self::UpdatedAt => "SEARCH_PROCEDURES_SORT_FIELD_UPDATED_AT",
1578        }
1579    }
1580    /// Creates an enum from field names used in the ProtoBuf definition.
1581    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1582        match value {
1583            "SEARCH_PROCEDURES_SORT_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
1584            "SEARCH_PROCEDURES_SORT_FIELD_NAME" => Some(Self::Name),
1585            "SEARCH_PROCEDURES_SORT_FIELD_CREATED_AT" => Some(Self::CreatedAt),
1586            "SEARCH_PROCEDURES_SORT_FIELD_UPDATED_AT" => Some(Self::UpdatedAt),
1587            _ => None,
1588        }
1589    }
1590}
1591#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1592#[repr(i32)]
1593pub enum ProceduresServiceError {
1594    Unspecified = 0,
1595    NotFound = 1,
1596    CommitNotFound = 2,
1597    CannotMergeMain = 3,
1598    CannotCommitToArchivedProcedure = 4,
1599    InvalidGraph = 5,
1600    InvalidSearchToken = 6,
1601}
1602impl ProceduresServiceError {
1603    /// String value of the enum field names used in the ProtoBuf definition.
1604    ///
1605    /// The values are not transformed in any way and thus are considered stable
1606    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1607    pub fn as_str_name(&self) -> &'static str {
1608        match self {
1609            Self::Unspecified => "PROCEDURES_SERVICE_ERROR_UNSPECIFIED",
1610            Self::NotFound => "PROCEDURES_SERVICE_ERROR_NOT_FOUND",
1611            Self::CommitNotFound => "PROCEDURES_SERVICE_ERROR_COMMIT_NOT_FOUND",
1612            Self::CannotMergeMain => "PROCEDURES_SERVICE_ERROR_CANNOT_MERGE_MAIN",
1613            Self::CannotCommitToArchivedProcedure => {
1614                "PROCEDURES_SERVICE_ERROR_CANNOT_COMMIT_TO_ARCHIVED_PROCEDURE"
1615            }
1616            Self::InvalidGraph => "PROCEDURES_SERVICE_ERROR_INVALID_GRAPH",
1617            Self::InvalidSearchToken => "PROCEDURES_SERVICE_ERROR_INVALID_SEARCH_TOKEN",
1618        }
1619    }
1620    /// Creates an enum from field names used in the ProtoBuf definition.
1621    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1622        match value {
1623            "PROCEDURES_SERVICE_ERROR_UNSPECIFIED" => Some(Self::Unspecified),
1624            "PROCEDURES_SERVICE_ERROR_NOT_FOUND" => Some(Self::NotFound),
1625            "PROCEDURES_SERVICE_ERROR_COMMIT_NOT_FOUND" => Some(Self::CommitNotFound),
1626            "PROCEDURES_SERVICE_ERROR_CANNOT_MERGE_MAIN" => Some(Self::CannotMergeMain),
1627            "PROCEDURES_SERVICE_ERROR_CANNOT_COMMIT_TO_ARCHIVED_PROCEDURE" => {
1628                Some(Self::CannotCommitToArchivedProcedure)
1629            }
1630            "PROCEDURES_SERVICE_ERROR_INVALID_GRAPH" => Some(Self::InvalidGraph),
1631            "PROCEDURES_SERVICE_ERROR_INVALID_SEARCH_TOKEN" => {
1632                Some(Self::InvalidSearchToken)
1633            }
1634            _ => None,
1635        }
1636    }
1637}
1638/// Generated client implementations.
1639pub mod procedures_service_client {
1640    #![allow(
1641        unused_variables,
1642        dead_code,
1643        missing_docs,
1644        clippy::wildcard_imports,
1645        clippy::let_unit_value,
1646    )]
1647    use tonic::codegen::*;
1648    use tonic::codegen::http::Uri;
1649    #[derive(Debug, Clone)]
1650    pub struct ProceduresServiceClient<T> {
1651        inner: tonic::client::Grpc<T>,
1652    }
1653    impl ProceduresServiceClient<tonic::transport::Channel> {
1654        /// Attempt to create a new client by connecting to a given endpoint.
1655        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1656        where
1657            D: TryInto<tonic::transport::Endpoint>,
1658            D::Error: Into<StdError>,
1659        {
1660            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1661            Ok(Self::new(conn))
1662        }
1663    }
1664    impl<T> ProceduresServiceClient<T>
1665    where
1666        T: tonic::client::GrpcService<tonic::body::Body>,
1667        T::Error: Into<StdError>,
1668        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1669        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1670    {
1671        pub fn new(inner: T) -> Self {
1672            let inner = tonic::client::Grpc::new(inner);
1673            Self { inner }
1674        }
1675        pub fn with_origin(inner: T, origin: Uri) -> Self {
1676            let inner = tonic::client::Grpc::with_origin(inner, origin);
1677            Self { inner }
1678        }
1679        pub fn with_interceptor<F>(
1680            inner: T,
1681            interceptor: F,
1682        ) -> ProceduresServiceClient<InterceptedService<T, F>>
1683        where
1684            F: tonic::service::Interceptor,
1685            T::ResponseBody: Default,
1686            T: tonic::codegen::Service<
1687                http::Request<tonic::body::Body>,
1688                Response = http::Response<
1689                    <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
1690                >,
1691            >,
1692            <T as tonic::codegen::Service<
1693                http::Request<tonic::body::Body>,
1694            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1695        {
1696            ProceduresServiceClient::new(InterceptedService::new(inner, interceptor))
1697        }
1698        /// Compress requests with the given encoding.
1699        ///
1700        /// This requires the server to support it otherwise it might respond with an
1701        /// error.
1702        #[must_use]
1703        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1704            self.inner = self.inner.send_compressed(encoding);
1705            self
1706        }
1707        /// Enable decompressing responses.
1708        #[must_use]
1709        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1710            self.inner = self.inner.accept_compressed(encoding);
1711            self
1712        }
1713        /// Limits the maximum size of a decoded message.
1714        ///
1715        /// Default: `4MB`
1716        #[must_use]
1717        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1718            self.inner = self.inner.max_decoding_message_size(limit);
1719            self
1720        }
1721        /// Limits the maximum size of an encoded message.
1722        ///
1723        /// Default: `usize::MAX`
1724        #[must_use]
1725        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1726            self.inner = self.inner.max_encoding_message_size(limit);
1727            self
1728        }
1729        pub async fn create_procedure(
1730            &mut self,
1731            request: impl tonic::IntoRequest<super::CreateProcedureRequest>,
1732        ) -> std::result::Result<
1733            tonic::Response<super::CreateProcedureResponse>,
1734            tonic::Status,
1735        > {
1736            self.inner
1737                .ready()
1738                .await
1739                .map_err(|e| {
1740                    tonic::Status::unknown(
1741                        format!("Service was not ready: {}", e.into()),
1742                    )
1743                })?;
1744            let codec = tonic::codec::ProstCodec::default();
1745            let path = http::uri::PathAndQuery::from_static(
1746                "/nominal.procedures.v1.ProceduresService/CreateProcedure",
1747            );
1748            let mut req = request.into_request();
1749            req.extensions_mut()
1750                .insert(
1751                    GrpcMethod::new(
1752                        "nominal.procedures.v1.ProceduresService",
1753                        "CreateProcedure",
1754                    ),
1755                );
1756            self.inner.unary(req, path, codec).await
1757        }
1758        pub async fn get_procedure(
1759            &mut self,
1760            request: impl tonic::IntoRequest<super::GetProcedureRequest>,
1761        ) -> std::result::Result<
1762            tonic::Response<super::GetProcedureResponse>,
1763            tonic::Status,
1764        > {
1765            self.inner
1766                .ready()
1767                .await
1768                .map_err(|e| {
1769                    tonic::Status::unknown(
1770                        format!("Service was not ready: {}", e.into()),
1771                    )
1772                })?;
1773            let codec = tonic::codec::ProstCodec::default();
1774            let path = http::uri::PathAndQuery::from_static(
1775                "/nominal.procedures.v1.ProceduresService/GetProcedure",
1776            );
1777            let mut req = request.into_request();
1778            req.extensions_mut()
1779                .insert(
1780                    GrpcMethod::new(
1781                        "nominal.procedures.v1.ProceduresService",
1782                        "GetProcedure",
1783                    ),
1784                );
1785            self.inner.unary(req, path, codec).await
1786        }
1787        pub async fn batch_get_procedure_metadata(
1788            &mut self,
1789            request: impl tonic::IntoRequest<super::BatchGetProcedureMetadataRequest>,
1790        ) -> std::result::Result<
1791            tonic::Response<super::BatchGetProcedureMetadataResponse>,
1792            tonic::Status,
1793        > {
1794            self.inner
1795                .ready()
1796                .await
1797                .map_err(|e| {
1798                    tonic::Status::unknown(
1799                        format!("Service was not ready: {}", e.into()),
1800                    )
1801                })?;
1802            let codec = tonic::codec::ProstCodec::default();
1803            let path = http::uri::PathAndQuery::from_static(
1804                "/nominal.procedures.v1.ProceduresService/BatchGetProcedureMetadata",
1805            );
1806            let mut req = request.into_request();
1807            req.extensions_mut()
1808                .insert(
1809                    GrpcMethod::new(
1810                        "nominal.procedures.v1.ProceduresService",
1811                        "BatchGetProcedureMetadata",
1812                    ),
1813                );
1814            self.inner.unary(req, path, codec).await
1815        }
1816        pub async fn update_procedure_metadata(
1817            &mut self,
1818            request: impl tonic::IntoRequest<super::UpdateProcedureMetadataRequest>,
1819        ) -> std::result::Result<
1820            tonic::Response<super::UpdateProcedureMetadataResponse>,
1821            tonic::Status,
1822        > {
1823            self.inner
1824                .ready()
1825                .await
1826                .map_err(|e| {
1827                    tonic::Status::unknown(
1828                        format!("Service was not ready: {}", e.into()),
1829                    )
1830                })?;
1831            let codec = tonic::codec::ProstCodec::default();
1832            let path = http::uri::PathAndQuery::from_static(
1833                "/nominal.procedures.v1.ProceduresService/UpdateProcedureMetadata",
1834            );
1835            let mut req = request.into_request();
1836            req.extensions_mut()
1837                .insert(
1838                    GrpcMethod::new(
1839                        "nominal.procedures.v1.ProceduresService",
1840                        "UpdateProcedureMetadata",
1841                    ),
1842                );
1843            self.inner.unary(req, path, codec).await
1844        }
1845        pub async fn parse_nested_procedure(
1846            &mut self,
1847            request: impl tonic::IntoRequest<super::ParseNestedProcedureRequest>,
1848        ) -> std::result::Result<
1849            tonic::Response<super::ParseNestedProcedureResponse>,
1850            tonic::Status,
1851        > {
1852            self.inner
1853                .ready()
1854                .await
1855                .map_err(|e| {
1856                    tonic::Status::unknown(
1857                        format!("Service was not ready: {}", e.into()),
1858                    )
1859                })?;
1860            let codec = tonic::codec::ProstCodec::default();
1861            let path = http::uri::PathAndQuery::from_static(
1862                "/nominal.procedures.v1.ProceduresService/ParseNestedProcedure",
1863            );
1864            let mut req = request.into_request();
1865            req.extensions_mut()
1866                .insert(
1867                    GrpcMethod::new(
1868                        "nominal.procedures.v1.ProceduresService",
1869                        "ParseNestedProcedure",
1870                    ),
1871                );
1872            self.inner.unary(req, path, codec).await
1873        }
1874        pub async fn get_procedure_as_nested(
1875            &mut self,
1876            request: impl tonic::IntoRequest<super::GetProcedureAsNestedRequest>,
1877        ) -> std::result::Result<
1878            tonic::Response<super::GetProcedureAsNestedResponse>,
1879            tonic::Status,
1880        > {
1881            self.inner
1882                .ready()
1883                .await
1884                .map_err(|e| {
1885                    tonic::Status::unknown(
1886                        format!("Service was not ready: {}", e.into()),
1887                    )
1888                })?;
1889            let codec = tonic::codec::ProstCodec::default();
1890            let path = http::uri::PathAndQuery::from_static(
1891                "/nominal.procedures.v1.ProceduresService/GetProcedureAsNested",
1892            );
1893            let mut req = request.into_request();
1894            req.extensions_mut()
1895                .insert(
1896                    GrpcMethod::new(
1897                        "nominal.procedures.v1.ProceduresService",
1898                        "GetProcedureAsNested",
1899                    ),
1900                );
1901            self.inner.unary(req, path, codec).await
1902        }
1903        pub async fn merge_to_main(
1904            &mut self,
1905            request: impl tonic::IntoRequest<super::MergeToMainRequest>,
1906        ) -> std::result::Result<
1907            tonic::Response<super::MergeToMainResponse>,
1908            tonic::Status,
1909        > {
1910            self.inner
1911                .ready()
1912                .await
1913                .map_err(|e| {
1914                    tonic::Status::unknown(
1915                        format!("Service was not ready: {}", e.into()),
1916                    )
1917                })?;
1918            let codec = tonic::codec::ProstCodec::default();
1919            let path = http::uri::PathAndQuery::from_static(
1920                "/nominal.procedures.v1.ProceduresService/MergeToMain",
1921            );
1922            let mut req = request.into_request();
1923            req.extensions_mut()
1924                .insert(
1925                    GrpcMethod::new(
1926                        "nominal.procedures.v1.ProceduresService",
1927                        "MergeToMain",
1928                    ),
1929                );
1930            self.inner.unary(req, path, codec).await
1931        }
1932        pub async fn save_working_state(
1933            &mut self,
1934            request: impl tonic::IntoRequest<super::SaveWorkingStateRequest>,
1935        ) -> std::result::Result<
1936            tonic::Response<super::SaveWorkingStateResponse>,
1937            tonic::Status,
1938        > {
1939            self.inner
1940                .ready()
1941                .await
1942                .map_err(|e| {
1943                    tonic::Status::unknown(
1944                        format!("Service was not ready: {}", e.into()),
1945                    )
1946                })?;
1947            let codec = tonic::codec::ProstCodec::default();
1948            let path = http::uri::PathAndQuery::from_static(
1949                "/nominal.procedures.v1.ProceduresService/SaveWorkingState",
1950            );
1951            let mut req = request.into_request();
1952            req.extensions_mut()
1953                .insert(
1954                    GrpcMethod::new(
1955                        "nominal.procedures.v1.ProceduresService",
1956                        "SaveWorkingState",
1957                    ),
1958                );
1959            self.inner.unary(req, path, codec).await
1960        }
1961        pub async fn commit(
1962            &mut self,
1963            request: impl tonic::IntoRequest<super::CommitRequest>,
1964        ) -> std::result::Result<tonic::Response<super::CommitResponse>, tonic::Status> {
1965            self.inner
1966                .ready()
1967                .await
1968                .map_err(|e| {
1969                    tonic::Status::unknown(
1970                        format!("Service was not ready: {}", e.into()),
1971                    )
1972                })?;
1973            let codec = tonic::codec::ProstCodec::default();
1974            let path = http::uri::PathAndQuery::from_static(
1975                "/nominal.procedures.v1.ProceduresService/Commit",
1976            );
1977            let mut req = request.into_request();
1978            req.extensions_mut()
1979                .insert(
1980                    GrpcMethod::new("nominal.procedures.v1.ProceduresService", "Commit"),
1981                );
1982            self.inner.unary(req, path, codec).await
1983        }
1984        pub async fn search_procedures(
1985            &mut self,
1986            request: impl tonic::IntoRequest<super::SearchProceduresRequest>,
1987        ) -> std::result::Result<
1988            tonic::Response<super::SearchProceduresResponse>,
1989            tonic::Status,
1990        > {
1991            self.inner
1992                .ready()
1993                .await
1994                .map_err(|e| {
1995                    tonic::Status::unknown(
1996                        format!("Service was not ready: {}", e.into()),
1997                    )
1998                })?;
1999            let codec = tonic::codec::ProstCodec::default();
2000            let path = http::uri::PathAndQuery::from_static(
2001                "/nominal.procedures.v1.ProceduresService/SearchProcedures",
2002            );
2003            let mut req = request.into_request();
2004            req.extensions_mut()
2005                .insert(
2006                    GrpcMethod::new(
2007                        "nominal.procedures.v1.ProceduresService",
2008                        "SearchProcedures",
2009                    ),
2010                );
2011            self.inner.unary(req, path, codec).await
2012        }
2013        pub async fn archive_procedures(
2014            &mut self,
2015            request: impl tonic::IntoRequest<super::ArchiveProceduresRequest>,
2016        ) -> std::result::Result<
2017            tonic::Response<super::ArchiveProceduresResponse>,
2018            tonic::Status,
2019        > {
2020            self.inner
2021                .ready()
2022                .await
2023                .map_err(|e| {
2024                    tonic::Status::unknown(
2025                        format!("Service was not ready: {}", e.into()),
2026                    )
2027                })?;
2028            let codec = tonic::codec::ProstCodec::default();
2029            let path = http::uri::PathAndQuery::from_static(
2030                "/nominal.procedures.v1.ProceduresService/ArchiveProcedures",
2031            );
2032            let mut req = request.into_request();
2033            req.extensions_mut()
2034                .insert(
2035                    GrpcMethod::new(
2036                        "nominal.procedures.v1.ProceduresService",
2037                        "ArchiveProcedures",
2038                    ),
2039                );
2040            self.inner.unary(req, path, codec).await
2041        }
2042        pub async fn unarchive_procedures(
2043            &mut self,
2044            request: impl tonic::IntoRequest<super::UnarchiveProceduresRequest>,
2045        ) -> std::result::Result<
2046            tonic::Response<super::UnarchiveProceduresResponse>,
2047            tonic::Status,
2048        > {
2049            self.inner
2050                .ready()
2051                .await
2052                .map_err(|e| {
2053                    tonic::Status::unknown(
2054                        format!("Service was not ready: {}", e.into()),
2055                    )
2056                })?;
2057            let codec = tonic::codec::ProstCodec::default();
2058            let path = http::uri::PathAndQuery::from_static(
2059                "/nominal.procedures.v1.ProceduresService/UnarchiveProcedures",
2060            );
2061            let mut req = request.into_request();
2062            req.extensions_mut()
2063                .insert(
2064                    GrpcMethod::new(
2065                        "nominal.procedures.v1.ProceduresService",
2066                        "UnarchiveProcedures",
2067                    ),
2068                );
2069            self.inner.unary(req, path, codec).await
2070        }
2071    }
2072}