Skip to main content

nominal_api_proto/proto/
nominal.data_connector.v1.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct OpcAuthenticationConfig {
4    #[prost(
5        oneof = "opc_authentication_config::OpcAuthenticationConfig",
6        tags = "1, 2, 3"
7    )]
8    pub opc_authentication_config: ::core::option::Option<
9        opc_authentication_config::OpcAuthenticationConfig,
10    >,
11}
12/// Nested message and enum types in `OpcAuthenticationConfig`.
13pub mod opc_authentication_config {
14    #[derive(Clone, PartialEq, ::prost::Oneof)]
15    pub enum OpcAuthenticationConfig {
16        #[prost(message, tag = "1")]
17        Anonymous(super::super::super::super::google::protobuf::Empty),
18        #[prost(message, tag = "2")]
19        UsernamePassword(super::OpcUsernamePasswordAuthentication),
20        #[prost(message, tag = "3")]
21        Token(super::OpcTokenAuthentication),
22    }
23}
24#[derive(Clone, PartialEq, ::prost::Message)]
25pub struct OpcAuthenticationConfigSecret {
26    #[prost(
27        oneof = "opc_authentication_config_secret::OpcAuthenticationConfig",
28        tags = "1, 2, 3"
29    )]
30    pub opc_authentication_config: ::core::option::Option<
31        opc_authentication_config_secret::OpcAuthenticationConfig,
32    >,
33}
34/// Nested message and enum types in `OpcAuthenticationConfigSecret`.
35pub mod opc_authentication_config_secret {
36    #[derive(Clone, PartialEq, ::prost::Oneof)]
37    pub enum OpcAuthenticationConfig {
38        #[prost(message, tag = "1")]
39        Anonymous(super::super::super::super::google::protobuf::Empty),
40        #[prost(message, tag = "2")]
41        UsernamePassword(super::OpcUsernamePasswordAuthenticationSecret),
42        #[prost(message, tag = "3")]
43        Token(super::OpcTokenAuthenticationSecret),
44    }
45}
46#[derive(Clone, PartialEq, ::prost::Message)]
47pub struct OpcUsernamePasswordAuthentication {
48    #[prost(string, tag = "1")]
49    pub username: ::prost::alloc::string::String,
50    #[prost(string, tag = "2")]
51    pub password: ::prost::alloc::string::String,
52}
53#[derive(Clone, PartialEq, ::prost::Message)]
54pub struct OpcUsernamePasswordAuthenticationSecret {
55    #[prost(string, tag = "1")]
56    pub username: ::prost::alloc::string::String,
57    #[prost(string, tag = "2")]
58    pub password: ::prost::alloc::string::String,
59}
60#[derive(Clone, PartialEq, ::prost::Message)]
61pub struct OpcTokenAuthentication {
62    #[prost(string, tag = "1")]
63    pub token: ::prost::alloc::string::String,
64}
65#[derive(Clone, PartialEq, ::prost::Message)]
66pub struct OpcTokenAuthenticationSecret {
67    #[prost(string, tag = "1")]
68    pub token: ::prost::alloc::string::String,
69}
70#[derive(Clone, PartialEq, ::prost::Message)]
71pub struct OpcIdentifierValue {
72    #[prost(oneof = "opc_identifier_value::OpcIdentifierValue", tags = "1, 2")]
73    pub opc_identifier_value: ::core::option::Option<
74        opc_identifier_value::OpcIdentifierValue,
75    >,
76}
77/// Nested message and enum types in `OpcIdentifierValue`.
78pub mod opc_identifier_value {
79    #[derive(Clone, PartialEq, ::prost::Oneof)]
80    pub enum OpcIdentifierValue {
81        #[prost(int32, tag = "1")]
82        Numeric(i32),
83        #[prost(string, tag = "2")]
84        String(::prost::alloc::string::String),
85    }
86}
87#[derive(Clone, PartialEq, ::prost::Message)]
88pub struct OpcNode {
89    #[prost(uint32, optional, tag = "1")]
90    pub namespace: ::core::option::Option<u32>,
91    #[prost(message, optional, tag = "2")]
92    pub identifier: ::core::option::Option<OpcIdentifierValue>,
93}
94#[derive(Clone, PartialEq, ::prost::Message)]
95pub struct OpcUaChannelNamingConvention {
96    #[prost(
97        oneof = "opc_ua_channel_naming_convention::NamingConvention",
98        tags = "1, 2, 3, 4"
99    )]
100    pub naming_convention: ::core::option::Option<
101        opc_ua_channel_naming_convention::NamingConvention,
102    >,
103}
104/// Nested message and enum types in `OpcUaChannelNamingConvention`.
105pub mod opc_ua_channel_naming_convention {
106    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
107    pub struct OpcUaNodeId {}
108    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
109    pub struct OpcUaBrowseName {}
110    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
111    pub struct OpcUaDisplayName {}
112    #[derive(Clone, PartialEq, ::prost::Message)]
113    pub struct OpcUaFullPath {
114        #[prost(message, repeated, tag = "1")]
115        pub root_nodes: ::prost::alloc::vec::Vec<super::OpcNode>,
116        #[prost(string, tag = "2")]
117        pub delimiter: ::prost::alloc::string::String,
118        #[prost(string, repeated, tag = "3")]
119        pub array_tag_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
120    }
121    #[derive(Clone, PartialEq, ::prost::Oneof)]
122    pub enum NamingConvention {
123        #[prost(message, tag = "1")]
124        NodeId(OpcUaNodeId),
125        #[prost(message, tag = "2")]
126        BrowseName(OpcUaBrowseName),
127        #[prost(message, tag = "3")]
128        DisplayName(OpcUaDisplayName),
129        #[prost(message, tag = "4")]
130        FullPath(OpcUaFullPath),
131    }
132}
133#[derive(Clone, Copy, PartialEq, ::prost::Message)]
134pub struct OpcUaSubscriptionConfig {
135    #[prost(enumeration = "OpcUaFailedMonitorHandling", tag = "1")]
136    pub failed_monitor_handling: i32,
137    #[prost(message, optional, tag = "2")]
138    pub data_change_filter: ::core::option::Option<OpcUaDataChangeFilter>,
139}
140#[derive(Clone, Copy, PartialEq, ::prost::Message)]
141pub struct OpcUaPollingConfig {
142    #[prost(uint64, tag = "1")]
143    pub polling_interval_ms: u64,
144}
145#[derive(Clone, Copy, PartialEq, ::prost::Message)]
146pub struct OpcUaDataAcquisitionConfig {
147    #[prost(oneof = "opc_ua_data_acquisition_config::AcquisitionMode", tags = "1, 2")]
148    pub acquisition_mode: ::core::option::Option<
149        opc_ua_data_acquisition_config::AcquisitionMode,
150    >,
151}
152/// Nested message and enum types in `OpcUaDataAcquisitionConfig`.
153pub mod opc_ua_data_acquisition_config {
154    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
155    pub enum AcquisitionMode {
156        #[prost(message, tag = "1")]
157        Subscription(super::OpcUaSubscriptionConfig),
158        #[prost(message, tag = "2")]
159        Polling(super::OpcUaPollingConfig),
160    }
161}
162#[derive(Clone, PartialEq, ::prost::Message)]
163pub struct OpcUaConnectorDetails {
164    #[prost(string, tag = "1")]
165    pub uri: ::prost::alloc::string::String,
166    #[prost(message, optional, tag = "2")]
167    pub authentication_config: ::core::option::Option<OpcAuthenticationConfig>,
168    #[prost(message, optional, tag = "3")]
169    pub scraping_config: ::core::option::Option<OpcUaScrapingConfig>,
170}
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct OpcUaConnectorDetailsUpdates {
173    #[prost(string, optional, tag = "1")]
174    pub uri: ::core::option::Option<::prost::alloc::string::String>,
175    #[prost(message, optional, tag = "2")]
176    pub authentication_config: ::core::option::Option<OpcAuthenticationConfig>,
177    #[prost(message, optional, tag = "3")]
178    pub scraping_config: ::core::option::Option<OpcUaScrapingConfigUpdates>,
179}
180#[derive(Clone, PartialEq, ::prost::Message)]
181pub struct OpcUaConnectorDetailsSecret {
182    #[prost(string, tag = "1")]
183    pub uri: ::prost::alloc::string::String,
184    #[prost(message, optional, tag = "2")]
185    pub authentication_config: ::core::option::Option<OpcAuthenticationConfigSecret>,
186    #[prost(message, optional, tag = "3")]
187    pub scraping_config: ::core::option::Option<OpcUaScrapingConfig>,
188}
189#[derive(Clone, PartialEq, ::prost::Message)]
190pub struct OpcUaTraversalConfig {
191    #[prost(message, repeated, tag = "1")]
192    pub root_nodes: ::prost::alloc::vec::Vec<OpcNode>,
193    #[prost(message, repeated, tag = "2")]
194    pub skip_nodes: ::prost::alloc::vec::Vec<OpcNode>,
195    #[prost(enumeration = "OpcUaReferenceExplorationType", tag = "3")]
196    pub reference_exploration_type: i32,
197}
198#[derive(Clone, PartialEq, ::prost::Message)]
199pub struct OpcUaDirectNodeSubscription {
200    #[prost(message, repeated, tag = "1")]
201    pub nodes: ::prost::alloc::vec::Vec<OpcNode>,
202}
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct OpcUaNodeExplorationConfig {
205    #[prost(
206        oneof = "opc_ua_node_exploration_config::OpcUaNodeExplorationConfig",
207        tags = "1, 2"
208    )]
209    pub opc_ua_node_exploration_config: ::core::option::Option<
210        opc_ua_node_exploration_config::OpcUaNodeExplorationConfig,
211    >,
212}
213/// Nested message and enum types in `OpcUaNodeExplorationConfig`.
214pub mod opc_ua_node_exploration_config {
215    #[derive(Clone, PartialEq, ::prost::Oneof)]
216    pub enum OpcUaNodeExplorationConfig {
217        #[prost(message, tag = "1")]
218        OpcUaTraversalConfig(super::OpcUaTraversalConfig),
219        #[prost(message, tag = "2")]
220        OpcUaDirectNodeSubscription(super::OpcUaDirectNodeSubscription),
221    }
222}
223#[derive(Clone, Copy, PartialEq, ::prost::Message)]
224pub struct OpcUaTimestampHandling {
225    #[prost(oneof = "opc_ua_timestamp_handling::TimestampType", tags = "1, 2, 3")]
226    pub timestamp_type: ::core::option::Option<opc_ua_timestamp_handling::TimestampType>,
227}
228/// Nested message and enum types in `OpcUaTimestampHandling`.
229pub mod opc_ua_timestamp_handling {
230    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
231    pub struct OpcUaServerTime {}
232    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
233    pub struct OpcUaSourceTime {}
234    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
235    pub struct OpcUaRelativeTimestamp {
236        #[prost(message, optional, tag = "1")]
237        pub offset: ::core::option::Option<
238            super::super::super::super::google::protobuf::Timestamp,
239        >,
240    }
241    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
242    pub enum TimestampType {
243        #[prost(message, tag = "1")]
244        Server(OpcUaServerTime),
245        #[prost(message, tag = "2")]
246        Source(OpcUaSourceTime),
247        #[prost(message, tag = "3")]
248        Relative(OpcUaRelativeTimestamp),
249    }
250}
251#[derive(Clone, Copy, PartialEq, ::prost::Message)]
252pub struct OpcUaDataChangeFilter {
253    #[prost(enumeration = "OpcUaDataChangeTrigger", tag = "1")]
254    pub trigger: i32,
255    #[prost(enumeration = "OpcUaDeadbandType", tag = "2")]
256    pub deadband_type: i32,
257    #[prost(double, tag = "3")]
258    pub deadband_value: f64,
259}
260#[derive(Clone, PartialEq, ::prost::Message)]
261pub struct OpcUaScrapingConfig {
262    #[prost(message, optional, tag = "1")]
263    pub node_exploration_config: ::core::option::Option<OpcUaNodeExplorationConfig>,
264    #[prost(string, tag = "2")]
265    pub unit_node_name: ::prost::alloc::string::String,
266    #[prost(message, optional, tag = "3")]
267    pub channel_naming_convention: ::core::option::Option<OpcUaChannelNamingConvention>,
268    #[prost(bool, tag = "4")]
269    pub override_host: bool,
270    #[prost(enumeration = "OpcUaUnknownDataTypeHandling", tag = "5")]
271    pub unknown_data_type_handling: i32,
272    #[deprecated]
273    #[prost(enumeration = "OpcUaFailedMonitorHandling", optional, tag = "6")]
274    pub failed_monitor_handling: ::core::option::Option<i32>,
275    #[prost(message, optional, tag = "7")]
276    pub timestamp_handling: ::core::option::Option<OpcUaTimestampHandling>,
277    #[deprecated]
278    #[prost(message, optional, tag = "8")]
279    pub data_change_filter: ::core::option::Option<OpcUaDataChangeFilter>,
280    #[prost(message, optional, tag = "9")]
281    pub data_acquisition_config: ::core::option::Option<OpcUaDataAcquisitionConfig>,
282}
283#[derive(Clone, PartialEq, ::prost::Message)]
284pub struct OpcUaScrapingConfigUpdates {
285    #[prost(message, optional, tag = "1")]
286    pub node_exploration_config: ::core::option::Option<OpcUaNodeExplorationConfig>,
287    #[prost(string, optional, tag = "2")]
288    pub unit_node_name: ::core::option::Option<::prost::alloc::string::String>,
289    #[prost(message, optional, tag = "3")]
290    pub channel_naming_convention: ::core::option::Option<OpcUaChannelNamingConvention>,
291    #[prost(bool, optional, tag = "4")]
292    pub override_host: ::core::option::Option<bool>,
293    #[prost(enumeration = "OpcUaUnknownDataTypeHandling", optional, tag = "5")]
294    pub unknown_data_type_handling: ::core::option::Option<i32>,
295    #[deprecated]
296    #[prost(enumeration = "OpcUaFailedMonitorHandling", optional, tag = "6")]
297    pub failed_monitor_handling: ::core::option::Option<i32>,
298    #[prost(message, optional, tag = "7")]
299    pub timestamp_handling: ::core::option::Option<OpcUaTimestampHandling>,
300    #[deprecated]
301    #[prost(message, optional, tag = "8")]
302    pub data_change_filter: ::core::option::Option<OpcUaDataChangeFilter>,
303    #[prost(message, optional, tag = "9")]
304    pub data_acquisition_config: ::core::option::Option<OpcUaDataAcquisitionConfig>,
305}
306#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
307#[repr(i32)]
308pub enum OpcUaReferenceExplorationType {
309    Unspecified = 0,
310    Organizes = 1,
311    HierarchicalReferences = 2,
312}
313impl OpcUaReferenceExplorationType {
314    /// String value of the enum field names used in the ProtoBuf definition.
315    ///
316    /// The values are not transformed in any way and thus are considered stable
317    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
318    pub fn as_str_name(&self) -> &'static str {
319        match self {
320            Self::Unspecified => "OPC_UA_REFERENCE_EXPLORATION_TYPE_UNSPECIFIED",
321            Self::Organizes => "OPC_UA_REFERENCE_EXPLORATION_TYPE_ORGANIZES",
322            Self::HierarchicalReferences => {
323                "OPC_UA_REFERENCE_EXPLORATION_TYPE_HIERARCHICAL_REFERENCES"
324            }
325        }
326    }
327    /// Creates an enum from field names used in the ProtoBuf definition.
328    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
329        match value {
330            "OPC_UA_REFERENCE_EXPLORATION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
331            "OPC_UA_REFERENCE_EXPLORATION_TYPE_ORGANIZES" => Some(Self::Organizes),
332            "OPC_UA_REFERENCE_EXPLORATION_TYPE_HIERARCHICAL_REFERENCES" => {
333                Some(Self::HierarchicalReferences)
334            }
335            _ => None,
336        }
337    }
338}
339#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
340#[repr(i32)]
341pub enum OpcUaUnknownDataTypeHandling {
342    Unspecified = 0,
343    Error = 1,
344    TreatAsDouble = 2,
345    TreatAsString = 3,
346}
347impl OpcUaUnknownDataTypeHandling {
348    /// String value of the enum field names used in the ProtoBuf definition.
349    ///
350    /// The values are not transformed in any way and thus are considered stable
351    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
352    pub fn as_str_name(&self) -> &'static str {
353        match self {
354            Self::Unspecified => "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_UNSPECIFIED",
355            Self::Error => "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_ERROR",
356            Self::TreatAsDouble => "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_TREAT_AS_DOUBLE",
357            Self::TreatAsString => "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_TREAT_AS_STRING",
358        }
359    }
360    /// Creates an enum from field names used in the ProtoBuf definition.
361    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
362        match value {
363            "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_UNSPECIFIED" => Some(Self::Unspecified),
364            "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_ERROR" => Some(Self::Error),
365            "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_TREAT_AS_DOUBLE" => {
366                Some(Self::TreatAsDouble)
367            }
368            "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_TREAT_AS_STRING" => {
369                Some(Self::TreatAsString)
370            }
371            _ => None,
372        }
373    }
374}
375#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
376#[repr(i32)]
377pub enum OpcUaFailedMonitorHandling {
378    Unspecified = 0,
379    Error = 1,
380    Ignore = 2,
381}
382impl OpcUaFailedMonitorHandling {
383    /// String value of the enum field names used in the ProtoBuf definition.
384    ///
385    /// The values are not transformed in any way and thus are considered stable
386    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
387    pub fn as_str_name(&self) -> &'static str {
388        match self {
389            Self::Unspecified => "OPC_UA_FAILED_MONITOR_HANDLING_UNSPECIFIED",
390            Self::Error => "OPC_UA_FAILED_MONITOR_HANDLING_ERROR",
391            Self::Ignore => "OPC_UA_FAILED_MONITOR_HANDLING_IGNORE",
392        }
393    }
394    /// Creates an enum from field names used in the ProtoBuf definition.
395    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
396        match value {
397            "OPC_UA_FAILED_MONITOR_HANDLING_UNSPECIFIED" => Some(Self::Unspecified),
398            "OPC_UA_FAILED_MONITOR_HANDLING_ERROR" => Some(Self::Error),
399            "OPC_UA_FAILED_MONITOR_HANDLING_IGNORE" => Some(Self::Ignore),
400            _ => None,
401        }
402    }
403}
404#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
405#[repr(i32)]
406pub enum OpcUaDataChangeTrigger {
407    Unspecified = 0,
408    StatusOnly = 1,
409    StatusValue = 2,
410    StatusValueTimestamp = 3,
411}
412impl OpcUaDataChangeTrigger {
413    /// String value of the enum field names used in the ProtoBuf definition.
414    ///
415    /// The values are not transformed in any way and thus are considered stable
416    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
417    pub fn as_str_name(&self) -> &'static str {
418        match self {
419            Self::Unspecified => "OPC_UA_DATA_CHANGE_TRIGGER_UNSPECIFIED",
420            Self::StatusOnly => "OPC_UA_DATA_CHANGE_TRIGGER_STATUS_ONLY",
421            Self::StatusValue => "OPC_UA_DATA_CHANGE_TRIGGER_STATUS_VALUE",
422            Self::StatusValueTimestamp => {
423                "OPC_UA_DATA_CHANGE_TRIGGER_STATUS_VALUE_TIMESTAMP"
424            }
425        }
426    }
427    /// Creates an enum from field names used in the ProtoBuf definition.
428    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
429        match value {
430            "OPC_UA_DATA_CHANGE_TRIGGER_UNSPECIFIED" => Some(Self::Unspecified),
431            "OPC_UA_DATA_CHANGE_TRIGGER_STATUS_ONLY" => Some(Self::StatusOnly),
432            "OPC_UA_DATA_CHANGE_TRIGGER_STATUS_VALUE" => Some(Self::StatusValue),
433            "OPC_UA_DATA_CHANGE_TRIGGER_STATUS_VALUE_TIMESTAMP" => {
434                Some(Self::StatusValueTimestamp)
435            }
436            _ => None,
437        }
438    }
439}
440#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
441#[repr(i32)]
442pub enum OpcUaDeadbandType {
443    Unspecified = 0,
444    None = 1,
445    Absolute = 2,
446    Percent = 3,
447}
448impl OpcUaDeadbandType {
449    /// String value of the enum field names used in the ProtoBuf definition.
450    ///
451    /// The values are not transformed in any way and thus are considered stable
452    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
453    pub fn as_str_name(&self) -> &'static str {
454        match self {
455            Self::Unspecified => "OPC_UA_DEADBAND_TYPE_UNSPECIFIED",
456            Self::None => "OPC_UA_DEADBAND_TYPE_NONE",
457            Self::Absolute => "OPC_UA_DEADBAND_TYPE_ABSOLUTE",
458            Self::Percent => "OPC_UA_DEADBAND_TYPE_PERCENT",
459        }
460    }
461    /// Creates an enum from field names used in the ProtoBuf definition.
462    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
463        match value {
464            "OPC_UA_DEADBAND_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
465            "OPC_UA_DEADBAND_TYPE_NONE" => Some(Self::None),
466            "OPC_UA_DEADBAND_TYPE_ABSOLUTE" => Some(Self::Absolute),
467            "OPC_UA_DEADBAND_TYPE_PERCENT" => Some(Self::Percent),
468            _ => None,
469        }
470    }
471}
472#[derive(Clone, PartialEq, ::prost::Message)]
473pub struct CreateDataConnectorRequest {
474    #[prost(string, tag = "1")]
475    pub name: ::prost::alloc::string::String,
476    #[prost(string, optional, tag = "2")]
477    pub description: ::core::option::Option<::prost::alloc::string::String>,
478    #[prost(message, optional, tag = "3")]
479    pub connection_details: ::core::option::Option<DataConnectorDetails>,
480    #[prost(string, tag = "4")]
481    pub workspace_rid: ::prost::alloc::string::String,
482    #[prost(string, tag = "5")]
483    pub target_dataset_rid: ::prost::alloc::string::String,
484}
485#[derive(Clone, PartialEq, ::prost::Message)]
486pub struct CreateDataConnectorResponse {
487    #[prost(message, optional, tag = "1")]
488    pub data_connector: ::core::option::Option<DataConnector>,
489}
490#[derive(Clone, PartialEq, ::prost::Message)]
491pub struct DataConnector {
492    #[prost(string, tag = "1")]
493    pub data_connector_rid: ::prost::alloc::string::String,
494    #[prost(string, tag = "2")]
495    pub name: ::prost::alloc::string::String,
496    #[prost(string, optional, tag = "3")]
497    pub description: ::core::option::Option<::prost::alloc::string::String>,
498    #[prost(message, optional, tag = "4")]
499    pub connection_details: ::core::option::Option<DataConnectorDetailsSecrets>,
500    #[prost(string, tag = "5")]
501    pub workspace_rid: ::prost::alloc::string::String,
502    #[prost(string, optional, tag = "6")]
503    pub target_dataset_rid: ::core::option::Option<::prost::alloc::string::String>,
504    #[prost(message, optional, tag = "7")]
505    pub created_at: ::core::option::Option<
506        super::super::super::google::protobuf::Timestamp,
507    >,
508}
509#[derive(Clone, PartialEq, ::prost::Message)]
510pub struct DataConnectorDetails {
511    #[prost(oneof = "data_connector_details::DataConnectorDetails", tags = "1")]
512    pub data_connector_details: ::core::option::Option<
513        data_connector_details::DataConnectorDetails,
514    >,
515}
516/// Nested message and enum types in `DataConnectorDetails`.
517pub mod data_connector_details {
518    #[derive(Clone, PartialEq, ::prost::Oneof)]
519    pub enum DataConnectorDetails {
520        #[prost(message, tag = "1")]
521        OpcUa(super::OpcUaConnectorDetails),
522    }
523}
524#[derive(Clone, PartialEq, ::prost::Message)]
525pub struct DataConnectorDetailsUpdates {
526    #[prost(
527        oneof = "data_connector_details_updates::DataConnectorDetailsUpdates",
528        tags = "1"
529    )]
530    pub data_connector_details_updates: ::core::option::Option<
531        data_connector_details_updates::DataConnectorDetailsUpdates,
532    >,
533}
534/// Nested message and enum types in `DataConnectorDetailsUpdates`.
535pub mod data_connector_details_updates {
536    #[derive(Clone, PartialEq, ::prost::Oneof)]
537    pub enum DataConnectorDetailsUpdates {
538        #[prost(message, tag = "1")]
539        OpcUa(super::OpcUaConnectorDetailsUpdates),
540    }
541}
542#[derive(Clone, PartialEq, ::prost::Message)]
543pub struct DataConnectorDetailsSecrets {
544    #[prost(oneof = "data_connector_details_secrets::DataConnectorDetails", tags = "1")]
545    pub data_connector_details: ::core::option::Option<
546        data_connector_details_secrets::DataConnectorDetails,
547    >,
548}
549/// Nested message and enum types in `DataConnectorDetailsSecrets`.
550pub mod data_connector_details_secrets {
551    #[derive(Clone, PartialEq, ::prost::Oneof)]
552    pub enum DataConnectorDetails {
553        #[prost(message, tag = "1")]
554        OpcUa(super::OpcUaConnectorDetailsSecret),
555    }
556}
557#[derive(Clone, PartialEq, ::prost::Message)]
558pub struct UpdateDataConnectorRequest {
559    #[prost(string, tag = "1")]
560    pub data_connector_rid: ::prost::alloc::string::String,
561    #[prost(string, optional, tag = "2")]
562    pub name: ::core::option::Option<::prost::alloc::string::String>,
563    #[prost(string, optional, tag = "3")]
564    pub description: ::core::option::Option<::prost::alloc::string::String>,
565    #[prost(message, optional, tag = "4")]
566    pub connection_details: ::core::option::Option<DataConnectorDetailsUpdates>,
567    #[prost(string, optional, tag = "5")]
568    pub target_dataset_rid: ::core::option::Option<::prost::alloc::string::String>,
569}
570#[derive(Clone, PartialEq, ::prost::Message)]
571pub struct UpdateDataConnectorResponse {
572    #[prost(message, optional, tag = "1")]
573    pub data_connector: ::core::option::Option<DataConnector>,
574}
575#[derive(Clone, PartialEq, ::prost::Message)]
576pub struct GetDataConnectorRequest {
577    #[prost(string, tag = "1")]
578    pub data_connector_rid: ::prost::alloc::string::String,
579}
580#[derive(Clone, PartialEq, ::prost::Message)]
581pub struct GetDataConnectorResponse {
582    #[prost(message, optional, tag = "1")]
583    pub data_connector: ::core::option::Option<DataConnector>,
584}
585#[derive(Clone, PartialEq, ::prost::Message)]
586pub struct NameFilter {
587    #[prost(string, tag = "1")]
588    pub name: ::prost::alloc::string::String,
589}
590#[derive(Clone, PartialEq, ::prost::Message)]
591pub struct DescriptionFilter {
592    #[prost(string, tag = "1")]
593    pub description: ::prost::alloc::string::String,
594}
595#[derive(Clone, PartialEq, ::prost::Message)]
596pub struct TargetDatasetFilter {
597    #[prost(string, tag = "1")]
598    pub target_dataset_rid: ::prost::alloc::string::String,
599}
600#[derive(Clone, PartialEq, ::prost::Message)]
601pub struct AndFilter {
602    #[prost(message, repeated, tag = "1")]
603    pub clauses: ::prost::alloc::vec::Vec<SearchFilter>,
604}
605#[derive(Clone, Copy, PartialEq, ::prost::Message)]
606pub struct SortBy {
607    #[prost(enumeration = "SortField", tag = "1")]
608    pub field: i32,
609    #[prost(enumeration = "SortOrder", tag = "2")]
610    pub order: i32,
611}
612#[derive(Clone, PartialEq, ::prost::Message)]
613pub struct SearchFilter {
614    #[prost(oneof = "search_filter::Filter", tags = "1, 2, 3, 4")]
615    pub filter: ::core::option::Option<search_filter::Filter>,
616}
617/// Nested message and enum types in `SearchFilter`.
618pub mod search_filter {
619    #[derive(Clone, PartialEq, ::prost::Oneof)]
620    pub enum Filter {
621        #[prost(message, tag = "1")]
622        Name(super::NameFilter),
623        #[prost(message, tag = "2")]
624        Description(super::DescriptionFilter),
625        #[prost(message, tag = "3")]
626        TargetDataset(super::TargetDatasetFilter),
627        #[prost(message, tag = "4")]
628        And(super::AndFilter),
629    }
630}
631#[derive(Clone, PartialEq, ::prost::Message)]
632pub struct SearchRequest {
633    #[prost(string, tag = "1")]
634    pub workspace_rid: ::prost::alloc::string::String,
635    #[prost(message, optional, tag = "2")]
636    pub filter: ::core::option::Option<SearchFilter>,
637    #[prost(int32, tag = "3")]
638    pub page_size: i32,
639    #[prost(string, optional, tag = "4")]
640    pub page_token: ::core::option::Option<::prost::alloc::string::String>,
641    #[prost(message, optional, tag = "5")]
642    pub sort_by: ::core::option::Option<SortBy>,
643}
644#[derive(Clone, PartialEq, ::prost::Message)]
645pub struct SearchResponse {
646    #[prost(message, repeated, tag = "1")]
647    pub data_connectors: ::prost::alloc::vec::Vec<DataConnector>,
648    #[prost(string, optional, tag = "2")]
649    pub page_token: ::core::option::Option<::prost::alloc::string::String>,
650}
651#[derive(Clone, PartialEq, ::prost::Message)]
652pub struct StartSessionRequest {
653    #[prost(string, tag = "1")]
654    pub data_connector_rid: ::prost::alloc::string::String,
655}
656#[derive(Clone, Copy, PartialEq, ::prost::Message)]
657pub struct StartSessionResponse {}
658#[derive(Clone, PartialEq, ::prost::Message)]
659pub struct StopSessionRequest {
660    #[prost(string, tag = "1")]
661    pub data_connector_rid: ::prost::alloc::string::String,
662}
663#[derive(Clone, Copy, PartialEq, ::prost::Message)]
664pub struct StopSessionResponse {}
665#[derive(Clone, PartialEq, ::prost::Message)]
666pub struct GetSessionStatusRequest {
667    #[prost(string, tag = "1")]
668    pub data_connector_rid: ::prost::alloc::string::String,
669}
670#[derive(Clone, PartialEq, ::prost::Message)]
671pub struct ActiveSessionStatus {
672    #[prost(enumeration = "ReplicaStatus", repeated, tag = "1")]
673    pub replica_status: ::prost::alloc::vec::Vec<i32>,
674}
675#[derive(Clone, PartialEq, ::prost::Message)]
676pub struct GetSessionStatusResponse {
677    #[prost(oneof = "get_session_status_response::Status", tags = "1, 2")]
678    pub status: ::core::option::Option<get_session_status_response::Status>,
679}
680/// Nested message and enum types in `GetSessionStatusResponse`.
681pub mod get_session_status_response {
682    #[derive(Clone, PartialEq, ::prost::Oneof)]
683    pub enum Status {
684        #[prost(message, tag = "1")]
685        None(super::super::super::super::google::protobuf::Empty),
686        #[prost(message, tag = "2")]
687        Active(super::ActiveSessionStatus),
688    }
689}
690#[derive(Clone, PartialEq, ::prost::Message)]
691pub struct DeleteDataConnectorRequest {
692    #[prost(string, tag = "1")]
693    pub data_connector_rid: ::prost::alloc::string::String,
694}
695#[derive(Clone, Copy, PartialEq, ::prost::Message)]
696pub struct DeleteDataConnectorResponse {}
697#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
698#[repr(i32)]
699pub enum DataConnectorErrorType {
700    Unspecified = 0,
701    ConnectorNotFound = 1,
702    ConnectorNotAuthorized = 2,
703    TargetDatasetNotInWorkspace = 3,
704}
705impl DataConnectorErrorType {
706    /// String value of the enum field names used in the ProtoBuf definition.
707    ///
708    /// The values are not transformed in any way and thus are considered stable
709    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
710    pub fn as_str_name(&self) -> &'static str {
711        match self {
712            Self::Unspecified => "DATA_CONNECTOR_ERROR_TYPE_UNSPECIFIED",
713            Self::ConnectorNotFound => "DATA_CONNECTOR_ERROR_TYPE_CONNECTOR_NOT_FOUND",
714            Self::ConnectorNotAuthorized => {
715                "DATA_CONNECTOR_ERROR_TYPE_CONNECTOR_NOT_AUTHORIZED"
716            }
717            Self::TargetDatasetNotInWorkspace => {
718                "DATA_CONNECTOR_ERROR_TYPE_TARGET_DATASET_NOT_IN_WORKSPACE"
719            }
720        }
721    }
722    /// Creates an enum from field names used in the ProtoBuf definition.
723    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
724        match value {
725            "DATA_CONNECTOR_ERROR_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
726            "DATA_CONNECTOR_ERROR_TYPE_CONNECTOR_NOT_FOUND" => {
727                Some(Self::ConnectorNotFound)
728            }
729            "DATA_CONNECTOR_ERROR_TYPE_CONNECTOR_NOT_AUTHORIZED" => {
730                Some(Self::ConnectorNotAuthorized)
731            }
732            "DATA_CONNECTOR_ERROR_TYPE_TARGET_DATASET_NOT_IN_WORKSPACE" => {
733                Some(Self::TargetDatasetNotInWorkspace)
734            }
735            _ => None,
736        }
737    }
738}
739#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
740#[repr(i32)]
741pub enum SortField {
742    Unspecified = 0,
743    UpdatedAt = 1,
744}
745impl SortField {
746    /// String value of the enum field names used in the ProtoBuf definition.
747    ///
748    /// The values are not transformed in any way and thus are considered stable
749    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
750    pub fn as_str_name(&self) -> &'static str {
751        match self {
752            Self::Unspecified => "SORT_FIELD_UNSPECIFIED",
753            Self::UpdatedAt => "SORT_FIELD_UPDATED_AT",
754        }
755    }
756    /// Creates an enum from field names used in the ProtoBuf definition.
757    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
758        match value {
759            "SORT_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
760            "SORT_FIELD_UPDATED_AT" => Some(Self::UpdatedAt),
761            _ => None,
762        }
763    }
764}
765#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
766#[repr(i32)]
767pub enum SortOrder {
768    Unspecified = 0,
769    Asc = 1,
770    Desc = 2,
771}
772impl SortOrder {
773    /// String value of the enum field names used in the ProtoBuf definition.
774    ///
775    /// The values are not transformed in any way and thus are considered stable
776    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
777    pub fn as_str_name(&self) -> &'static str {
778        match self {
779            Self::Unspecified => "SORT_ORDER_UNSPECIFIED",
780            Self::Asc => "SORT_ORDER_ASC",
781            Self::Desc => "SORT_ORDER_DESC",
782        }
783    }
784    /// Creates an enum from field names used in the ProtoBuf definition.
785    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
786        match value {
787            "SORT_ORDER_UNSPECIFIED" => Some(Self::Unspecified),
788            "SORT_ORDER_ASC" => Some(Self::Asc),
789            "SORT_ORDER_DESC" => Some(Self::Desc),
790            _ => None,
791        }
792    }
793}
794#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
795#[repr(i32)]
796pub enum ReplicaStatus {
797    Unspecified = 0,
798    Starting = 1,
799    Subscribing = 2,
800    Running = 3,
801    Stopping = 4,
802    Stopped = 5,
803}
804impl ReplicaStatus {
805    /// String value of the enum field names used in the ProtoBuf definition.
806    ///
807    /// The values are not transformed in any way and thus are considered stable
808    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
809    pub fn as_str_name(&self) -> &'static str {
810        match self {
811            Self::Unspecified => "REPLICA_STATUS_UNSPECIFIED",
812            Self::Starting => "REPLICA_STATUS_STARTING",
813            Self::Subscribing => "REPLICA_STATUS_SUBSCRIBING",
814            Self::Running => "REPLICA_STATUS_RUNNING",
815            Self::Stopping => "REPLICA_STATUS_STOPPING",
816            Self::Stopped => "REPLICA_STATUS_STOPPED",
817        }
818    }
819    /// Creates an enum from field names used in the ProtoBuf definition.
820    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
821        match value {
822            "REPLICA_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
823            "REPLICA_STATUS_STARTING" => Some(Self::Starting),
824            "REPLICA_STATUS_SUBSCRIBING" => Some(Self::Subscribing),
825            "REPLICA_STATUS_RUNNING" => Some(Self::Running),
826            "REPLICA_STATUS_STOPPING" => Some(Self::Stopping),
827            "REPLICA_STATUS_STOPPED" => Some(Self::Stopped),
828            _ => None,
829        }
830    }
831}
832/// Generated client implementations.
833pub mod data_connector_service_client {
834    #![allow(
835        unused_variables,
836        dead_code,
837        missing_docs,
838        clippy::wildcard_imports,
839        clippy::let_unit_value,
840    )]
841    use tonic::codegen::*;
842    use tonic::codegen::http::Uri;
843    #[derive(Debug, Clone)]
844    pub struct DataConnectorServiceClient<T> {
845        inner: tonic::client::Grpc<T>,
846    }
847    impl DataConnectorServiceClient<tonic::transport::Channel> {
848        /// Attempt to create a new client by connecting to a given endpoint.
849        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
850        where
851            D: TryInto<tonic::transport::Endpoint>,
852            D::Error: Into<StdError>,
853        {
854            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
855            Ok(Self::new(conn))
856        }
857    }
858    impl<T> DataConnectorServiceClient<T>
859    where
860        T: tonic::client::GrpcService<tonic::body::Body>,
861        T::Error: Into<StdError>,
862        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
863        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
864    {
865        pub fn new(inner: T) -> Self {
866            let inner = tonic::client::Grpc::new(inner);
867            Self { inner }
868        }
869        pub fn with_origin(inner: T, origin: Uri) -> Self {
870            let inner = tonic::client::Grpc::with_origin(inner, origin);
871            Self { inner }
872        }
873        pub fn with_interceptor<F>(
874            inner: T,
875            interceptor: F,
876        ) -> DataConnectorServiceClient<InterceptedService<T, F>>
877        where
878            F: tonic::service::Interceptor,
879            T::ResponseBody: Default,
880            T: tonic::codegen::Service<
881                http::Request<tonic::body::Body>,
882                Response = http::Response<
883                    <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
884                >,
885            >,
886            <T as tonic::codegen::Service<
887                http::Request<tonic::body::Body>,
888            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
889        {
890            DataConnectorServiceClient::new(InterceptedService::new(inner, interceptor))
891        }
892        /// Compress requests with the given encoding.
893        ///
894        /// This requires the server to support it otherwise it might respond with an
895        /// error.
896        #[must_use]
897        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
898            self.inner = self.inner.send_compressed(encoding);
899            self
900        }
901        /// Enable decompressing responses.
902        #[must_use]
903        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
904            self.inner = self.inner.accept_compressed(encoding);
905            self
906        }
907        /// Limits the maximum size of a decoded message.
908        ///
909        /// Default: `4MB`
910        #[must_use]
911        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
912            self.inner = self.inner.max_decoding_message_size(limit);
913            self
914        }
915        /// Limits the maximum size of an encoded message.
916        ///
917        /// Default: `usize::MAX`
918        #[must_use]
919        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
920            self.inner = self.inner.max_encoding_message_size(limit);
921            self
922        }
923        pub async fn create_data_connector(
924            &mut self,
925            request: impl tonic::IntoRequest<super::CreateDataConnectorRequest>,
926        ) -> std::result::Result<
927            tonic::Response<super::CreateDataConnectorResponse>,
928            tonic::Status,
929        > {
930            self.inner
931                .ready()
932                .await
933                .map_err(|e| {
934                    tonic::Status::unknown(
935                        format!("Service was not ready: {}", e.into()),
936                    )
937                })?;
938            let codec = tonic::codec::ProstCodec::default();
939            let path = http::uri::PathAndQuery::from_static(
940                "/nominal.data_connector.v1.DataConnectorService/CreateDataConnector",
941            );
942            let mut req = request.into_request();
943            req.extensions_mut()
944                .insert(
945                    GrpcMethod::new(
946                        "nominal.data_connector.v1.DataConnectorService",
947                        "CreateDataConnector",
948                    ),
949                );
950            self.inner.unary(req, path, codec).await
951        }
952        pub async fn get_data_connector(
953            &mut self,
954            request: impl tonic::IntoRequest<super::GetDataConnectorRequest>,
955        ) -> std::result::Result<
956            tonic::Response<super::GetDataConnectorResponse>,
957            tonic::Status,
958        > {
959            self.inner
960                .ready()
961                .await
962                .map_err(|e| {
963                    tonic::Status::unknown(
964                        format!("Service was not ready: {}", e.into()),
965                    )
966                })?;
967            let codec = tonic::codec::ProstCodec::default();
968            let path = http::uri::PathAndQuery::from_static(
969                "/nominal.data_connector.v1.DataConnectorService/GetDataConnector",
970            );
971            let mut req = request.into_request();
972            req.extensions_mut()
973                .insert(
974                    GrpcMethod::new(
975                        "nominal.data_connector.v1.DataConnectorService",
976                        "GetDataConnector",
977                    ),
978                );
979            self.inner.unary(req, path, codec).await
980        }
981        pub async fn update_data_connector(
982            &mut self,
983            request: impl tonic::IntoRequest<super::UpdateDataConnectorRequest>,
984        ) -> std::result::Result<
985            tonic::Response<super::UpdateDataConnectorResponse>,
986            tonic::Status,
987        > {
988            self.inner
989                .ready()
990                .await
991                .map_err(|e| {
992                    tonic::Status::unknown(
993                        format!("Service was not ready: {}", e.into()),
994                    )
995                })?;
996            let codec = tonic::codec::ProstCodec::default();
997            let path = http::uri::PathAndQuery::from_static(
998                "/nominal.data_connector.v1.DataConnectorService/UpdateDataConnector",
999            );
1000            let mut req = request.into_request();
1001            req.extensions_mut()
1002                .insert(
1003                    GrpcMethod::new(
1004                        "nominal.data_connector.v1.DataConnectorService",
1005                        "UpdateDataConnector",
1006                    ),
1007                );
1008            self.inner.unary(req, path, codec).await
1009        }
1010        pub async fn search(
1011            &mut self,
1012            request: impl tonic::IntoRequest<super::SearchRequest>,
1013        ) -> std::result::Result<tonic::Response<super::SearchResponse>, tonic::Status> {
1014            self.inner
1015                .ready()
1016                .await
1017                .map_err(|e| {
1018                    tonic::Status::unknown(
1019                        format!("Service was not ready: {}", e.into()),
1020                    )
1021                })?;
1022            let codec = tonic::codec::ProstCodec::default();
1023            let path = http::uri::PathAndQuery::from_static(
1024                "/nominal.data_connector.v1.DataConnectorService/Search",
1025            );
1026            let mut req = request.into_request();
1027            req.extensions_mut()
1028                .insert(
1029                    GrpcMethod::new(
1030                        "nominal.data_connector.v1.DataConnectorService",
1031                        "Search",
1032                    ),
1033                );
1034            self.inner.unary(req, path, codec).await
1035        }
1036        pub async fn start_session(
1037            &mut self,
1038            request: impl tonic::IntoRequest<super::StartSessionRequest>,
1039        ) -> std::result::Result<
1040            tonic::Response<super::StartSessionResponse>,
1041            tonic::Status,
1042        > {
1043            self.inner
1044                .ready()
1045                .await
1046                .map_err(|e| {
1047                    tonic::Status::unknown(
1048                        format!("Service was not ready: {}", e.into()),
1049                    )
1050                })?;
1051            let codec = tonic::codec::ProstCodec::default();
1052            let path = http::uri::PathAndQuery::from_static(
1053                "/nominal.data_connector.v1.DataConnectorService/StartSession",
1054            );
1055            let mut req = request.into_request();
1056            req.extensions_mut()
1057                .insert(
1058                    GrpcMethod::new(
1059                        "nominal.data_connector.v1.DataConnectorService",
1060                        "StartSession",
1061                    ),
1062                );
1063            self.inner.unary(req, path, codec).await
1064        }
1065        pub async fn stop_session(
1066            &mut self,
1067            request: impl tonic::IntoRequest<super::StopSessionRequest>,
1068        ) -> std::result::Result<
1069            tonic::Response<super::StopSessionResponse>,
1070            tonic::Status,
1071        > {
1072            self.inner
1073                .ready()
1074                .await
1075                .map_err(|e| {
1076                    tonic::Status::unknown(
1077                        format!("Service was not ready: {}", e.into()),
1078                    )
1079                })?;
1080            let codec = tonic::codec::ProstCodec::default();
1081            let path = http::uri::PathAndQuery::from_static(
1082                "/nominal.data_connector.v1.DataConnectorService/StopSession",
1083            );
1084            let mut req = request.into_request();
1085            req.extensions_mut()
1086                .insert(
1087                    GrpcMethod::new(
1088                        "nominal.data_connector.v1.DataConnectorService",
1089                        "StopSession",
1090                    ),
1091                );
1092            self.inner.unary(req, path, codec).await
1093        }
1094        pub async fn get_session_status(
1095            &mut self,
1096            request: impl tonic::IntoRequest<super::GetSessionStatusRequest>,
1097        ) -> std::result::Result<
1098            tonic::Response<super::GetSessionStatusResponse>,
1099            tonic::Status,
1100        > {
1101            self.inner
1102                .ready()
1103                .await
1104                .map_err(|e| {
1105                    tonic::Status::unknown(
1106                        format!("Service was not ready: {}", e.into()),
1107                    )
1108                })?;
1109            let codec = tonic::codec::ProstCodec::default();
1110            let path = http::uri::PathAndQuery::from_static(
1111                "/nominal.data_connector.v1.DataConnectorService/GetSessionStatus",
1112            );
1113            let mut req = request.into_request();
1114            req.extensions_mut()
1115                .insert(
1116                    GrpcMethod::new(
1117                        "nominal.data_connector.v1.DataConnectorService",
1118                        "GetSessionStatus",
1119                    ),
1120                );
1121            self.inner.unary(req, path, codec).await
1122        }
1123        pub async fn delete_data_connector(
1124            &mut self,
1125            request: impl tonic::IntoRequest<super::DeleteDataConnectorRequest>,
1126        ) -> std::result::Result<
1127            tonic::Response<super::DeleteDataConnectorResponse>,
1128            tonic::Status,
1129        > {
1130            self.inner
1131                .ready()
1132                .await
1133                .map_err(|e| {
1134                    tonic::Status::unknown(
1135                        format!("Service was not ready: {}", e.into()),
1136                    )
1137                })?;
1138            let codec = tonic::codec::ProstCodec::default();
1139            let path = http::uri::PathAndQuery::from_static(
1140                "/nominal.data_connector.v1.DataConnectorService/DeleteDataConnector",
1141            );
1142            let mut req = request.into_request();
1143            req.extensions_mut()
1144                .insert(
1145                    GrpcMethod::new(
1146                        "nominal.data_connector.v1.DataConnectorService",
1147                        "DeleteDataConnector",
1148                    ),
1149                );
1150            self.inner.unary(req, path, codec).await
1151        }
1152    }
1153}