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