1#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3pub struct InfluxChannelNameComponent {
4 #[prost(
5 oneof = "influx_channel_name_component::InfluxChannelNameComponent",
6 tags = "1, 2, 3"
7 )]
8 pub influx_channel_name_component: ::core::option::Option<
9 influx_channel_name_component::InfluxChannelNameComponent,
10 >,
11}
12pub mod influx_channel_name_component {
14 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
15 pub enum InfluxChannelNameComponent {
16 #[prost(message, tag = "1")]
17 Bucket(super::super::super::super::google::protobuf::Empty),
18 #[prost(message, tag = "2")]
19 Measurement(super::super::super::super::google::protobuf::Empty),
20 #[prost(message, tag = "3")]
21 Field(super::super::super::super::google::protobuf::Empty),
22 }
23}
24#[derive(Clone, PartialEq, ::prost::Message)]
25pub struct NominalChannelNameComponent {
26 #[prost(
27 oneof = "nominal_channel_name_component::NominalChannelNameComponent",
28 tags = "1, 2"
29 )]
30 pub nominal_channel_name_component: ::core::option::Option<
31 nominal_channel_name_component::NominalChannelNameComponent,
32 >,
33}
34pub mod nominal_channel_name_component {
36 #[derive(Clone, PartialEq, ::prost::Oneof)]
37 pub enum NominalChannelNameComponent {
38 #[prost(message, tag = "1")]
39 Channel(super::super::super::super::google::protobuf::Empty),
40 #[prost(string, tag = "2")]
41 ValueOfTagWithName(::prost::alloc::string::String),
42 }
43}
44#[derive(Clone, PartialEq, ::prost::Message)]
45pub struct TimestreamChannelNameComponent {
46 #[prost(
47 oneof = "timestream_channel_name_component::TimestreamChannelNameComponent",
48 tags = "1, 2, 3, 4"
49 )]
50 pub timestream_channel_name_component: ::core::option::Option<
51 timestream_channel_name_component::TimestreamChannelNameComponent,
52 >,
53}
54pub mod timestream_channel_name_component {
56 #[derive(Clone, PartialEq, ::prost::Oneof)]
57 pub enum TimestreamChannelNameComponent {
58 #[prost(message, tag = "1")]
59 Table(super::super::super::super::google::protobuf::Empty),
60 #[prost(message, tag = "2")]
61 Measure(super::super::super::super::google::protobuf::Empty),
62 #[prost(message, tag = "3")]
63 Attribute(super::super::super::super::google::protobuf::Empty),
64 #[prost(string, tag = "4")]
65 ValueOfTagWithName(::prost::alloc::string::String),
66 }
67}
68#[derive(Clone, Copy, PartialEq, ::prost::Message)]
69pub struct PivotedTimescaleChannelNameComponent {
70 #[prost(
71 oneof = "pivoted_timescale_channel_name_component::PivotedTimescaleChannelNameComponent",
72 tags = "1, 2"
73 )]
74 pub pivoted_timescale_channel_name_component: ::core::option::Option<
75 pivoted_timescale_channel_name_component::PivotedTimescaleChannelNameComponent,
76 >,
77}
78pub mod pivoted_timescale_channel_name_component {
80 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
81 pub enum PivotedTimescaleChannelNameComponent {
82 #[prost(message, tag = "1")]
83 Table(super::super::super::super::google::protobuf::Empty),
84 #[prost(message, tag = "2")]
85 Name(super::super::super::super::google::protobuf::Empty),
86 }
87}
88#[derive(Clone, Copy, PartialEq, ::prost::Message)]
89pub struct BigQueryChannelNameComponent {
90 #[prost(bool, tag = "1")]
91 pub include_project: bool,
92 #[prost(bool, tag = "2")]
93 pub include_dataset: bool,
94 #[prost(bool, tag = "3")]
95 pub include_table: bool,
96}
97#[derive(Clone, PartialEq, ::prost::Message)]
98pub struct InfluxScrapingFilter {
99 #[prost(oneof = "influx_scraping_filter::InfluxScrapingFilter", tags = "1, 2, 3")]
100 pub influx_scraping_filter: ::core::option::Option<
101 influx_scraping_filter::InfluxScrapingFilter,
102 >,
103}
104pub mod influx_scraping_filter {
106 #[derive(Clone, PartialEq, ::prost::Oneof)]
107 pub enum InfluxScrapingFilter {
108 #[prost(message, tag = "1")]
109 Not(::prost::alloc::boxed::Box<super::InfluxScrapingFilter>),
110 #[prost(message, tag = "2")]
111 MatchBucket(super::BucketNames),
112 #[prost(message, tag = "3")]
113 MatchMeasurement(super::MeasurementNames),
114 }
115}
116#[derive(Clone, PartialEq, ::prost::Message)]
117pub struct TimestreamScrapingFilter {
118 #[prost(oneof = "timestream_scraping_filter::TimestreamScrapingFilter", tags = "1")]
119 pub timestream_scraping_filter: ::core::option::Option<
120 timestream_scraping_filter::TimestreamScrapingFilter,
121 >,
122}
123pub mod timestream_scraping_filter {
125 #[derive(Clone, PartialEq, ::prost::Oneof)]
126 pub enum TimestreamScrapingFilter {
127 #[prost(message, tag = "1")]
128 MatchTable(super::TableNames),
129 }
130}
131#[derive(Clone, PartialEq, ::prost::Message)]
132pub struct TimescaleScrapingFilter {
133 #[prost(
134 oneof = "timescale_scraping_filter::TimescaleScrapingFilter",
135 tags = "1, 2, 3"
136 )]
137 pub timescale_scraping_filter: ::core::option::Option<
138 timescale_scraping_filter::TimescaleScrapingFilter,
139 >,
140}
141pub mod timescale_scraping_filter {
143 #[derive(Clone, PartialEq, ::prost::Oneof)]
144 pub enum TimescaleScrapingFilter {
145 #[prost(message, tag = "1")]
146 Not(::prost::alloc::boxed::Box<super::TimescaleScrapingFilter>),
147 #[prost(message, tag = "2")]
148 MatchTable(super::TableNames),
149 #[prost(message, tag = "3")]
150 MatchSchema(super::SchemaNames),
151 }
152}
153#[derive(Clone, PartialEq, ::prost::Message)]
154pub struct BucketNames {
155 #[prost(string, repeated, tag = "1")]
156 pub bucket_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
157}
158#[derive(Clone, PartialEq, ::prost::Message)]
159pub struct MeasurementNames {
160 #[prost(string, repeated, tag = "1")]
161 pub measurement_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
162}
163#[derive(Clone, PartialEq, ::prost::Message)]
164pub struct TableNames {
165 #[prost(string, repeated, tag = "1")]
166 pub table_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
167}
168#[derive(Clone, PartialEq, ::prost::Message)]
169pub struct SchemaNames {
170 #[prost(string, repeated, tag = "1")]
171 pub schema_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
172}
173#[derive(Clone, PartialEq, ::prost::Message)]
174pub struct InfluxSeriesArchetypeConstructionConfig {
175 #[prost(message, repeated, tag = "1")]
176 pub channel_name_components: ::prost::alloc::vec::Vec<InfluxChannelNameComponent>,
177 #[prost(string, tag = "2")]
178 pub separator: ::prost::alloc::string::String,
179}
180#[derive(Clone, PartialEq, ::prost::Message)]
181pub struct InfluxScrapingConfig {
182 #[prost(message, repeated, tag = "1")]
183 pub filter: ::prost::alloc::vec::Vec<InfluxScrapingFilter>,
184 #[prost(message, optional, tag = "2")]
185 pub series_archetype_construction: ::core::option::Option<
186 InfluxSeriesArchetypeConstructionConfig,
187 >,
188}
189#[derive(Clone, PartialEq, ::prost::Message)]
190pub struct NominalScrapingConfig {
191 #[prost(message, repeated, tag = "1")]
192 pub channel_name_components: ::prost::alloc::vec::Vec<NominalChannelNameComponent>,
193 #[prost(string, tag = "2")]
194 pub separator: ::prost::alloc::string::String,
195}
196#[derive(Clone, PartialEq, ::prost::Message)]
197pub struct VisualCrossingAvailableSeries {
198 #[prost(string, tag = "1")]
199 pub channel: ::prost::alloc::string::String,
200 #[prost(string, optional, tag = "2")]
201 pub unit: ::core::option::Option<::prost::alloc::string::String>,
202 #[prost(string, optional, tag = "3")]
203 pub description: ::core::option::Option<::prost::alloc::string::String>,
204 #[prost(enumeration = "VisualCrossingType", tag = "4")]
205 pub r#type: i32,
206}
207#[derive(Clone, PartialEq, ::prost::Message)]
208pub struct VisualCrossingScrapingConfig {
209 #[deprecated]
210 #[prost(message, repeated, tag = "1")]
211 pub available_series: ::prost::alloc::vec::Vec<VisualCrossingAvailableSeries>,
212}
213#[derive(Clone, PartialEq, ::prost::Message)]
214pub struct TimestreamScrapingConfig {
215 #[prost(message, repeated, tag = "1")]
216 pub filter: ::prost::alloc::vec::Vec<TimestreamScrapingFilter>,
217 #[prost(message, repeated, tag = "2")]
218 pub channel_name_components: ::prost::alloc::vec::Vec<
219 TimestreamChannelNameComponent,
220 >,
221 #[prost(string, tag = "3")]
222 pub separator: ::prost::alloc::string::String,
223 #[prost(int32, optional, tag = "4")]
224 pub max_look_back_period_hours: ::core::option::Option<i32>,
225}
226#[derive(Clone, PartialEq, ::prost::Message)]
227pub struct PivotedTimescaleScrapingConfig {
228 #[prost(message, repeated, tag = "1")]
229 pub filter: ::prost::alloc::vec::Vec<TimescaleScrapingFilter>,
230 #[prost(string, tag = "2")]
231 pub time_column: ::prost::alloc::string::String,
232 #[prost(string, tag = "3")]
233 pub name_column: ::prost::alloc::string::String,
234 #[prost(string, tag = "4")]
235 pub value_column: ::prost::alloc::string::String,
236 #[prost(string, repeated, tag = "5")]
237 pub dimension_columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
238 #[prost(message, repeated, tag = "6")]
239 pub channel_name_components: ::prost::alloc::vec::Vec<
240 PivotedTimescaleChannelNameComponent,
241 >,
242 #[prost(string, tag = "7")]
243 pub separator: ::prost::alloc::string::String,
244}
245#[derive(Clone, PartialEq, ::prost::Message)]
246pub struct BigQueryScrapingConfig {
247 #[prost(string, tag = "1")]
248 pub time_column: ::prost::alloc::string::String,
249 #[prost(string, repeated, tag = "2")]
250 pub tag_columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
251 #[prost(message, optional, tag = "3")]
252 pub channel_name_components: ::core::option::Option<BigQueryChannelNameComponent>,
253 #[prost(string, optional, tag = "4")]
254 pub separator: ::core::option::Option<::prost::alloc::string::String>,
255}
256#[derive(Clone, Copy, PartialEq, ::prost::Message)]
257pub struct AllChannelsConnectionsScrapingConfig {}
258#[derive(Clone, PartialEq, ::prost::Message)]
259pub struct ChannelAllowListConnectionsScrapingConfig {
260 #[prost(string, repeated, tag = "1")]
261 pub channel_allow_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
262}
263#[derive(Clone, PartialEq, ::prost::Message)]
264pub struct ChannelBlockListConnectionsScrapingConfig {
265 #[prost(string, repeated, tag = "1")]
266 pub channel_block_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
267}
268#[derive(Clone, PartialEq, ::prost::Message)]
269pub struct ApiScrapingConfig {
270 #[prost(oneof = "api_scraping_config::ApiScrapingConfig", tags = "1, 2, 3")]
271 pub api_scraping_config: ::core::option::Option<
272 api_scraping_config::ApiScrapingConfig,
273 >,
274}
275pub mod api_scraping_config {
277 #[derive(Clone, PartialEq, ::prost::Oneof)]
278 pub enum ApiScrapingConfig {
279 #[prost(message, tag = "1")]
280 AllChannels(super::AllChannelsConnectionsScrapingConfig),
281 #[prost(message, tag = "2")]
282 ChannelAllowList(super::ChannelAllowListConnectionsScrapingConfig),
283 #[prost(message, tag = "3")]
284 ChannelBlockList(super::ChannelBlockListConnectionsScrapingConfig),
285 }
286}
287#[derive(Clone, PartialEq, ::prost::Message)]
288pub struct ScrapingConfig {
289 #[prost(oneof = "scraping_config::ScrapingConfig", tags = "1, 2, 3, 4, 5, 6, 7")]
290 pub scraping_config: ::core::option::Option<scraping_config::ScrapingConfig>,
291}
292pub mod scraping_config {
294 #[derive(Clone, PartialEq, ::prost::Oneof)]
295 pub enum ScrapingConfig {
296 #[prost(message, tag = "1")]
297 Influx(super::InfluxScrapingConfig),
298 #[prost(message, tag = "2")]
299 Nominal(super::NominalScrapingConfig),
300 #[prost(message, tag = "3")]
301 Timestream(super::TimestreamScrapingConfig),
302 #[prost(message, tag = "4")]
303 Timescale(super::PivotedTimescaleScrapingConfig),
304 #[prost(message, tag = "5")]
305 VisualCrossing(super::VisualCrossingScrapingConfig),
306 #[prost(message, tag = "6")]
307 BigQuery(super::BigQueryScrapingConfig),
308 #[prost(message, tag = "7")]
309 Api(super::ApiScrapingConfig),
310 }
311}
312#[derive(Clone, PartialEq, ::prost::Message)]
313pub struct HeaderValue {
314 #[prost(oneof = "header_value::HeaderValue", tags = "1, 2")]
315 pub header_value: ::core::option::Option<header_value::HeaderValue>,
316}
317pub mod header_value {
319 #[derive(Clone, PartialEq, ::prost::Oneof)]
320 pub enum HeaderValue {
321 #[prost(string, tag = "1")]
322 Plain(::prost::alloc::string::String),
323 #[prost(string, tag = "2")]
324 SecretRid(::prost::alloc::string::String),
325 }
326}
327#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct PasswordCredentials {
329 #[prost(string, tag = "1")]
330 pub username: ::prost::alloc::string::String,
331 #[prost(string, tag = "2")]
332 pub password_secret_rid: ::prost::alloc::string::String,
333}
334#[derive(Clone, PartialEq, ::prost::Message)]
335pub struct TimescaleConnectionDetails {
336 #[prost(string, tag = "1")]
337 pub database: ::prost::alloc::string::String,
338 #[prost(string, tag = "2")]
339 pub host: ::prost::alloc::string::String,
340 #[prost(int32, tag = "3")]
341 pub port: i32,
342 #[prost(string, tag = "4")]
343 pub username: ::prost::alloc::string::String,
344 #[prost(string, tag = "5")]
345 pub password_secret_rid: ::prost::alloc::string::String,
346}
347#[derive(Clone, PartialEq, ::prost::Message)]
348pub struct Influx2ConnectionDetails {
349 #[prost(string, tag = "1")]
350 pub host: ::prost::alloc::string::String,
351 #[prost(int32, tag = "2")]
352 pub port: i32,
353 #[prost(map = "string, message", tag = "3")]
354 pub headers: ::std::collections::HashMap<
355 ::prost::alloc::string::String,
356 HeaderValue,
357 >,
358 #[prost(string, tag = "4")]
359 pub org: ::prost::alloc::string::String,
360 #[prost(string, tag = "5")]
361 pub token_secret_rid: ::prost::alloc::string::String,
362}
363#[derive(Clone, PartialEq, ::prost::Message)]
364pub struct Influx1ConnectionDetails {
365 #[prost(string, tag = "1")]
366 pub host: ::prost::alloc::string::String,
367 #[prost(int32, tag = "2")]
368 pub port: i32,
369 #[prost(map = "string, message", tag = "3")]
370 pub headers: ::std::collections::HashMap<
371 ::prost::alloc::string::String,
372 HeaderValue,
373 >,
374 #[prost(message, optional, tag = "4")]
375 pub credentials: ::core::option::Option<PasswordCredentials>,
376}
377#[derive(Clone, PartialEq, ::prost::Message)]
378pub struct NominalConnectionDetails {
379 #[prost(string, tag = "1")]
380 pub nominal_data_source_rid: ::prost::alloc::string::String,
381}
382#[derive(Clone, PartialEq, ::prost::Message)]
383pub struct TimestreamConnectionDetails {
384 #[prost(string, tag = "1")]
385 pub nominal_role_arn: ::prost::alloc::string::String,
386 #[prost(string, tag = "2")]
387 pub nominal_role_region: ::prost::alloc::string::String,
388 #[prost(string, tag = "3")]
389 pub external_region: ::prost::alloc::string::String,
390 #[prost(string, tag = "4")]
391 pub external_role_arn: ::prost::alloc::string::String,
392 #[prost(string, tag = "5")]
393 pub database: ::prost::alloc::string::String,
394}
395#[derive(Clone, PartialEq, ::prost::Message)]
396pub struct BigQueryConnectionDetails {
397 #[prost(string, tag = "1")]
398 pub region: ::prost::alloc::string::String,
399 #[prost(string, tag = "2")]
400 pub project: ::prost::alloc::string::String,
401 #[prost(string, tag = "3")]
402 pub dataset: ::prost::alloc::string::String,
403 #[prost(string, tag = "4")]
404 pub table: ::prost::alloc::string::String,
405 #[prost(string, tag = "5")]
406 pub service_account_key_secret_rid: ::prost::alloc::string::String,
407}
408#[derive(Clone, PartialEq, ::prost::Message)]
409pub struct VisualCrossingConnectionDetails {
410 #[prost(string, tag = "1")]
411 pub api_key_secret_rid: ::prost::alloc::string::String,
412}
413#[derive(Clone, PartialEq, ::prost::Message)]
414pub struct ApiConnectionDetails {
415 #[prost(string, tag = "1")]
416 pub api_uri: ::prost::alloc::string::String,
417 #[prost(string, tag = "2")]
418 pub token_secret_rid: ::prost::alloc::string::String,
419}
420#[derive(Clone, PartialEq, ::prost::Message)]
421pub struct ConnectionDetails {
422 #[prost(
423 oneof = "connection_details::ConnectionDetails",
424 tags = "1, 2, 3, 4, 5, 6, 7, 8"
425 )]
426 pub connection_details: ::core::option::Option<
427 connection_details::ConnectionDetails,
428 >,
429}
430pub mod connection_details {
432 #[derive(Clone, PartialEq, ::prost::Oneof)]
433 pub enum ConnectionDetails {
434 #[prost(message, tag = "1")]
435 Timescale(super::TimescaleConnectionDetails),
436 #[prost(message, tag = "2")]
437 Influx(super::Influx2ConnectionDetails),
438 #[prost(message, tag = "3")]
439 Influx1(super::Influx1ConnectionDetails),
440 #[prost(message, tag = "4")]
441 Nominal(super::NominalConnectionDetails),
442 #[prost(message, tag = "5")]
443 Timestream(super::TimestreamConnectionDetails),
444 #[prost(message, tag = "6")]
445 VisualCrossing(super::VisualCrossingConnectionDetails),
446 #[prost(message, tag = "7")]
447 BigQuery(super::BigQueryConnectionDetails),
448 #[prost(message, tag = "8")]
449 Api(super::ApiConnectionDetails),
450 }
451}
452#[derive(Clone, Copy, PartialEq, ::prost::Message)]
453pub struct Duration {
454 #[prost(enumeration = "TemporalUnit", tag = "1")]
455 pub unit: i32,
456 #[prost(int32, tag = "2")]
457 pub count: i32,
458}
459#[derive(Clone, Copy, PartialEq, ::prost::Message)]
460pub struct LimitsConfig {
461 #[prost(message, optional, tag = "1")]
462 pub max_query_range: ::core::option::Option<Duration>,
463}
464#[derive(Clone, Copy, PartialEq, ::prost::Message)]
465pub struct ConnectionStatus {
466 #[prost(bool, tag = "1")]
467 pub is_connected: bool,
468}
469#[derive(Clone, PartialEq, ::prost::Message)]
470pub struct Connection {
471 #[prost(string, tag = "1")]
472 pub rid: ::prost::alloc::string::String,
473 #[prost(string, tag = "2")]
474 pub display_name: ::prost::alloc::string::String,
475 #[prost(string, optional, tag = "3")]
476 pub description: ::core::option::Option<::prost::alloc::string::String>,
477 #[prost(message, optional, tag = "4")]
478 pub connection_details: ::core::option::Option<ConnectionDetails>,
479 #[prost(string, repeated, tag = "5")]
480 pub required_tag_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
481 #[prost(map = "string, string", tag = "6")]
482 pub metadata: ::std::collections::HashMap<
483 ::prost::alloc::string::String,
484 ::prost::alloc::string::String,
485 >,
486 #[prost(message, optional, tag = "7")]
487 pub scraping: ::core::option::Option<ScrapingConfig>,
488 #[prost(bool, tag = "8")]
489 pub should_scrape: bool,
490 #[prost(message, optional, tag = "9")]
491 pub limits: ::core::option::Option<LimitsConfig>,
492 #[prost(message, optional, tag = "10")]
493 pub connection_status: ::core::option::Option<ConnectionStatus>,
494 #[prost(bool, tag = "11")]
495 pub is_archived: bool,
496}
497#[derive(Clone, Copy, PartialEq, ::prost::Message)]
498pub struct ConnectionPlottingConfiguration {
499 #[prost(int32, optional, tag = "1")]
500 pub max_undecimated_points_per_page: ::core::option::Option<i32>,
501 #[prost(int64, optional, tag = "2")]
502 pub max_unbounded_range: ::core::option::Option<i64>,
503 #[prost(double, optional, tag = "3")]
504 pub max_undecimated_page_reads_per_second: ::core::option::Option<f64>,
505 #[prost(double, optional, tag = "4")]
506 pub max_permits_per_second: ::core::option::Option<f64>,
507 #[prost(int32, optional, tag = "5")]
508 pub max_connections: ::core::option::Option<i32>,
509}
510#[derive(Clone, PartialEq, ::prost::Message)]
511pub struct AvailableTagValuesWrapper {
512 #[prost(map = "string, message", tag = "1")]
513 pub available_tag_values: ::std::collections::HashMap<
514 ::prost::alloc::string::String,
515 TagValueSet,
516 >,
517}
518#[derive(Clone, PartialEq, ::prost::Message)]
519pub struct TagValueSet {
520 #[prost(string, repeated, tag = "1")]
521 pub value: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
522}
523#[derive(Clone, PartialEq, ::prost::Message)]
524pub struct ConnectionCreation {
525 #[prost(string, tag = "1")]
526 pub name: ::prost::alloc::string::String,
527 #[prost(string, optional, tag = "2")]
528 pub description: ::core::option::Option<::prost::alloc::string::String>,
529 #[prost(message, optional, tag = "3")]
530 pub connection_details: ::core::option::Option<ConnectionDetails>,
531 #[prost(map = "string, string", tag = "4")]
532 pub metadata: ::std::collections::HashMap<
533 ::prost::alloc::string::String,
534 ::prost::alloc::string::String,
535 >,
536 #[prost(string, repeated, tag = "5")]
537 pub required_tag_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
538 #[prost(map = "string, message", tag = "6")]
539 pub available_tag_values: ::std::collections::HashMap<
540 ::prost::alloc::string::String,
541 TagValueSet,
542 >,
543 #[prost(message, optional, tag = "7")]
544 pub scraping: ::core::option::Option<ScrapingConfig>,
545 #[prost(bool, tag = "8")]
546 pub should_scrape: bool,
547 #[prost(message, optional, tag = "9")]
548 pub limits: ::core::option::Option<LimitsConfig>,
549 #[prost(string, optional, tag = "10")]
550 pub workspace: ::core::option::Option<::prost::alloc::string::String>,
551 #[prost(string, repeated, tag = "11")]
552 pub marking_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
553}
554#[derive(Clone, PartialEq, ::prost::Message)]
555pub struct ConnectionUpdate {
556 #[prost(string, optional, tag = "1")]
557 pub name: ::core::option::Option<::prost::alloc::string::String>,
558 #[prost(string, optional, tag = "2")]
559 pub description: ::core::option::Option<::prost::alloc::string::String>,
560 #[prost(message, optional, tag = "3")]
561 pub metadata: ::core::option::Option<MetadataWrapper>,
562 #[prost(message, optional, tag = "4")]
563 pub connection_details: ::core::option::Option<ConnectionDetails>,
564 #[prost(message, optional, tag = "5")]
565 pub required_tag_names: ::core::option::Option<RequiredTagNamesWrapper>,
566 #[prost(message, optional, tag = "6")]
567 pub available_tag_values: ::core::option::Option<AvailableTagValuesWrapper>,
568 #[prost(message, optional, tag = "7")]
569 pub scraping: ::core::option::Option<ScrapingConfig>,
570 #[prost(bool, optional, tag = "8")]
571 pub should_scrape: ::core::option::Option<bool>,
572 #[prost(message, optional, tag = "9")]
573 pub limits: ::core::option::Option<LimitsConfig>,
574}
575#[derive(Clone, PartialEq, ::prost::Message)]
576pub struct MetadataWrapper {
577 #[prost(map = "string, string", tag = "1")]
578 pub metadata: ::std::collections::HashMap<
579 ::prost::alloc::string::String,
580 ::prost::alloc::string::String,
581 >,
582}
583#[derive(Clone, PartialEq, ::prost::Message)]
584pub struct RequiredTagNamesWrapper {
585 #[prost(string, repeated, tag = "1")]
586 pub required_tag_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
587}
588#[derive(Clone, PartialEq, ::prost::Message)]
589pub struct CreateConnectionRequest {
590 #[prost(message, optional, tag = "1")]
591 pub connection: ::core::option::Option<ConnectionCreation>,
592}
593#[derive(Clone, PartialEq, ::prost::Message)]
594pub struct CreateConnectionResponse {
595 #[prost(message, optional, tag = "1")]
596 pub connection: ::core::option::Option<Connection>,
597}
598#[derive(Clone, PartialEq, ::prost::Message)]
599pub struct UpdateConnectionRequest {
600 #[prost(string, tag = "1")]
601 pub rid: ::prost::alloc::string::String,
602 #[prost(message, optional, tag = "2")]
603 pub update: ::core::option::Option<ConnectionUpdate>,
604}
605#[derive(Clone, PartialEq, ::prost::Message)]
606pub struct UpdateConnectionResponse {
607 #[prost(message, optional, tag = "1")]
608 pub connection: ::core::option::Option<Connection>,
609}
610#[derive(Clone, PartialEq, ::prost::Message)]
611pub struct UpdateConnectionStatusRequest {
612 #[prost(string, tag = "1")]
613 pub rid: ::prost::alloc::string::String,
614 #[prost(message, optional, tag = "2")]
615 pub status: ::core::option::Option<ConnectionStatus>,
616}
617#[derive(Clone, Copy, PartialEq, ::prost::Message)]
618pub struct UpdateConnectionStatusResponse {}
619#[derive(Clone, PartialEq, ::prost::Message)]
620pub struct AddAvailableTagsRequest {
621 #[prost(string, tag = "1")]
622 pub rid: ::prost::alloc::string::String,
623 #[prost(map = "string, message", tag = "2")]
624 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, TagValueSet>,
625}
626#[derive(Clone, PartialEq, ::prost::Message)]
627pub struct AddAvailableTagsResponse {
628 #[prost(message, optional, tag = "1")]
629 pub connection: ::core::option::Option<Connection>,
630}
631#[derive(Clone, PartialEq, ::prost::Message)]
632pub struct GetConnectionRequest {
633 #[prost(string, tag = "1")]
634 pub rid: ::prost::alloc::string::String,
635}
636#[derive(Clone, PartialEq, ::prost::Message)]
637pub struct GetConnectionResponse {
638 #[prost(message, optional, tag = "1")]
639 pub connection: ::core::option::Option<Connection>,
640}
641#[derive(Clone, PartialEq, ::prost::Message)]
642pub struct BatchGetConnectionsRequest {
643 #[prost(string, repeated, tag = "1")]
644 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
645}
646#[derive(Clone, PartialEq, ::prost::Message)]
647pub struct BatchGetConnectionsResponse {
648 #[prost(message, repeated, tag = "1")]
649 pub connections: ::prost::alloc::vec::Vec<Connection>,
650}
651#[derive(Clone, PartialEq, ::prost::Message)]
652pub struct ListConnectionsRequest {
653 #[prost(bool, optional, tag = "1")]
654 pub include_archived: ::core::option::Option<bool>,
655 #[prost(string, repeated, tag = "2")]
656 pub workspaces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
657 #[prost(int32, optional, tag = "3")]
658 pub page_size: ::core::option::Option<i32>,
659 #[prost(string, optional, tag = "4")]
660 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
661}
662#[derive(Clone, PartialEq, ::prost::Message)]
663pub struct ListConnectionsResponse {
664 #[prost(message, repeated, tag = "1")]
665 pub connections: ::prost::alloc::vec::Vec<Connection>,
666 #[prost(string, optional, tag = "2")]
667 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
668}
669#[derive(Clone, PartialEq, ::prost::Message)]
670pub struct SearchConnectionsRequest {
671 #[prost(string, repeated, tag = "1")]
672 pub nominal_data_source_rids: ::prost::alloc::vec::Vec<
673 ::prost::alloc::string::String,
674 >,
675 #[prost(string, repeated, tag = "2")]
676 pub workspaces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
677 #[prost(int32, optional, tag = "3")]
678 pub page_size: ::core::option::Option<i32>,
679 #[prost(string, optional, tag = "4")]
680 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
681}
682#[derive(Clone, PartialEq, ::prost::Message)]
683pub struct SearchConnectionsResponse {
684 #[prost(message, repeated, tag = "1")]
685 pub connections: ::prost::alloc::vec::Vec<Connection>,
686 #[prost(string, optional, tag = "2")]
687 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
688}
689#[derive(Clone, PartialEq, ::prost::Message)]
690pub struct ArchiveConnectionRequest {
691 #[prost(string, tag = "1")]
692 pub rid: ::prost::alloc::string::String,
693}
694#[derive(Clone, Copy, PartialEq, ::prost::Message)]
695pub struct ArchiveConnectionResponse {}
696#[derive(Clone, PartialEq, ::prost::Message)]
697pub struct UnarchiveConnectionRequest {
698 #[prost(string, tag = "1")]
699 pub rid: ::prost::alloc::string::String,
700}
701#[derive(Clone, Copy, PartialEq, ::prost::Message)]
702pub struct UnarchiveConnectionResponse {}
703#[derive(Clone, PartialEq, ::prost::Message)]
704pub struct PopulateSeriesRequest {
705 #[prost(string, tag = "1")]
706 pub rid: ::prost::alloc::string::String,
707 #[prost(message, optional, tag = "2")]
708 pub start_time: ::core::option::Option<
709 super::super::super::google::protobuf::Timestamp,
710 >,
711 #[prost(message, optional, tag = "3")]
712 pub end_time: ::core::option::Option<
713 super::super::super::google::protobuf::Timestamp,
714 >,
715}
716#[derive(Clone, Copy, PartialEq, ::prost::Message)]
717pub struct PopulateSeriesResponse {}
718#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
719#[repr(i32)]
720pub enum VisualCrossingType {
721 Unspecified = 0,
722 Double = 1,
723 String = 2,
724}
725impl VisualCrossingType {
726 pub fn as_str_name(&self) -> &'static str {
731 match self {
732 Self::Unspecified => "VISUAL_CROSSING_TYPE_UNSPECIFIED",
733 Self::Double => "VISUAL_CROSSING_TYPE_DOUBLE",
734 Self::String => "VISUAL_CROSSING_TYPE_STRING",
735 }
736 }
737 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
739 match value {
740 "VISUAL_CROSSING_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
741 "VISUAL_CROSSING_TYPE_DOUBLE" => Some(Self::Double),
742 "VISUAL_CROSSING_TYPE_STRING" => Some(Self::String),
743 _ => None,
744 }
745 }
746}
747#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
748#[repr(i32)]
749pub enum TemporalUnit {
750 Unspecified = 0,
751 Hours = 1,
752 Days = 2,
753 Weeks = 3,
754}
755impl TemporalUnit {
756 pub fn as_str_name(&self) -> &'static str {
761 match self {
762 Self::Unspecified => "TEMPORAL_UNIT_UNSPECIFIED",
763 Self::Hours => "TEMPORAL_UNIT_HOURS",
764 Self::Days => "TEMPORAL_UNIT_DAYS",
765 Self::Weeks => "TEMPORAL_UNIT_WEEKS",
766 }
767 }
768 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
770 match value {
771 "TEMPORAL_UNIT_UNSPECIFIED" => Some(Self::Unspecified),
772 "TEMPORAL_UNIT_HOURS" => Some(Self::Hours),
773 "TEMPORAL_UNIT_DAYS" => Some(Self::Days),
774 "TEMPORAL_UNIT_WEEKS" => Some(Self::Weeks),
775 _ => None,
776 }
777 }
778}
779#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
780#[repr(i32)]
781pub enum ConnectionError {
782 ConnectionNotFound = 0,
783 InvalidArgument = 1,
784}
785impl ConnectionError {
786 pub fn as_str_name(&self) -> &'static str {
791 match self {
792 Self::ConnectionNotFound => "CONNECTION_ERROR_CONNECTION_NOT_FOUND",
793 Self::InvalidArgument => "CONNECTION_ERROR_INVALID_ARGUMENT",
794 }
795 }
796 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
798 match value {
799 "CONNECTION_ERROR_CONNECTION_NOT_FOUND" => Some(Self::ConnectionNotFound),
800 "CONNECTION_ERROR_INVALID_ARGUMENT" => Some(Self::InvalidArgument),
801 _ => None,
802 }
803 }
804}
805pub mod connection_service_client {
807 #![allow(
808 unused_variables,
809 dead_code,
810 missing_docs,
811 clippy::wildcard_imports,
812 clippy::let_unit_value,
813 )]
814 use tonic::codegen::*;
815 use tonic::codegen::http::Uri;
816 #[derive(Debug, Clone)]
817 pub struct ConnectionServiceClient<T> {
818 inner: tonic::client::Grpc<T>,
819 }
820 impl ConnectionServiceClient<tonic::transport::Channel> {
821 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
823 where
824 D: TryInto<tonic::transport::Endpoint>,
825 D::Error: Into<StdError>,
826 {
827 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
828 Ok(Self::new(conn))
829 }
830 }
831 impl<T> ConnectionServiceClient<T>
832 where
833 T: tonic::client::GrpcService<tonic::body::Body>,
834 T::Error: Into<StdError>,
835 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
836 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
837 {
838 pub fn new(inner: T) -> Self {
839 let inner = tonic::client::Grpc::new(inner);
840 Self { inner }
841 }
842 pub fn with_origin(inner: T, origin: Uri) -> Self {
843 let inner = tonic::client::Grpc::with_origin(inner, origin);
844 Self { inner }
845 }
846 pub fn with_interceptor<F>(
847 inner: T,
848 interceptor: F,
849 ) -> ConnectionServiceClient<InterceptedService<T, F>>
850 where
851 F: tonic::service::Interceptor,
852 T::ResponseBody: Default,
853 T: tonic::codegen::Service<
854 http::Request<tonic::body::Body>,
855 Response = http::Response<
856 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
857 >,
858 >,
859 <T as tonic::codegen::Service<
860 http::Request<tonic::body::Body>,
861 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
862 {
863 ConnectionServiceClient::new(InterceptedService::new(inner, interceptor))
864 }
865 #[must_use]
870 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
871 self.inner = self.inner.send_compressed(encoding);
872 self
873 }
874 #[must_use]
876 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
877 self.inner = self.inner.accept_compressed(encoding);
878 self
879 }
880 #[must_use]
884 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
885 self.inner = self.inner.max_decoding_message_size(limit);
886 self
887 }
888 #[must_use]
892 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
893 self.inner = self.inner.max_encoding_message_size(limit);
894 self
895 }
896 #[deprecated]
897 pub async fn create_connection(
898 &mut self,
899 request: impl tonic::IntoRequest<super::CreateConnectionRequest>,
900 ) -> std::result::Result<
901 tonic::Response<super::CreateConnectionResponse>,
902 tonic::Status,
903 > {
904 self.inner
905 .ready()
906 .await
907 .map_err(|e| {
908 tonic::Status::unknown(
909 format!("Service was not ready: {}", e.into()),
910 )
911 })?;
912 let codec = tonic::codec::ProstCodec::default();
913 let path = http::uri::PathAndQuery::from_static(
914 "/nominal.connection.v1.ConnectionService/CreateConnection",
915 );
916 let mut req = request.into_request();
917 req.extensions_mut()
918 .insert(
919 GrpcMethod::new(
920 "nominal.connection.v1.ConnectionService",
921 "CreateConnection",
922 ),
923 );
924 self.inner.unary(req, path, codec).await
925 }
926 pub async fn update_connection(
927 &mut self,
928 request: impl tonic::IntoRequest<super::UpdateConnectionRequest>,
929 ) -> std::result::Result<
930 tonic::Response<super::UpdateConnectionResponse>,
931 tonic::Status,
932 > {
933 self.inner
934 .ready()
935 .await
936 .map_err(|e| {
937 tonic::Status::unknown(
938 format!("Service was not ready: {}", e.into()),
939 )
940 })?;
941 let codec = tonic::codec::ProstCodec::default();
942 let path = http::uri::PathAndQuery::from_static(
943 "/nominal.connection.v1.ConnectionService/UpdateConnection",
944 );
945 let mut req = request.into_request();
946 req.extensions_mut()
947 .insert(
948 GrpcMethod::new(
949 "nominal.connection.v1.ConnectionService",
950 "UpdateConnection",
951 ),
952 );
953 self.inner.unary(req, path, codec).await
954 }
955 pub async fn update_connection_status(
956 &mut self,
957 request: impl tonic::IntoRequest<super::UpdateConnectionStatusRequest>,
958 ) -> std::result::Result<
959 tonic::Response<super::UpdateConnectionStatusResponse>,
960 tonic::Status,
961 > {
962 self.inner
963 .ready()
964 .await
965 .map_err(|e| {
966 tonic::Status::unknown(
967 format!("Service was not ready: {}", e.into()),
968 )
969 })?;
970 let codec = tonic::codec::ProstCodec::default();
971 let path = http::uri::PathAndQuery::from_static(
972 "/nominal.connection.v1.ConnectionService/UpdateConnectionStatus",
973 );
974 let mut req = request.into_request();
975 req.extensions_mut()
976 .insert(
977 GrpcMethod::new(
978 "nominal.connection.v1.ConnectionService",
979 "UpdateConnectionStatus",
980 ),
981 );
982 self.inner.unary(req, path, codec).await
983 }
984 pub async fn add_available_tags(
985 &mut self,
986 request: impl tonic::IntoRequest<super::AddAvailableTagsRequest>,
987 ) -> std::result::Result<
988 tonic::Response<super::AddAvailableTagsResponse>,
989 tonic::Status,
990 > {
991 self.inner
992 .ready()
993 .await
994 .map_err(|e| {
995 tonic::Status::unknown(
996 format!("Service was not ready: {}", e.into()),
997 )
998 })?;
999 let codec = tonic::codec::ProstCodec::default();
1000 let path = http::uri::PathAndQuery::from_static(
1001 "/nominal.connection.v1.ConnectionService/AddAvailableTags",
1002 );
1003 let mut req = request.into_request();
1004 req.extensions_mut()
1005 .insert(
1006 GrpcMethod::new(
1007 "nominal.connection.v1.ConnectionService",
1008 "AddAvailableTags",
1009 ),
1010 );
1011 self.inner.unary(req, path, codec).await
1012 }
1013 pub async fn get_connection(
1014 &mut self,
1015 request: impl tonic::IntoRequest<super::GetConnectionRequest>,
1016 ) -> std::result::Result<
1017 tonic::Response<super::GetConnectionResponse>,
1018 tonic::Status,
1019 > {
1020 self.inner
1021 .ready()
1022 .await
1023 .map_err(|e| {
1024 tonic::Status::unknown(
1025 format!("Service was not ready: {}", e.into()),
1026 )
1027 })?;
1028 let codec = tonic::codec::ProstCodec::default();
1029 let path = http::uri::PathAndQuery::from_static(
1030 "/nominal.connection.v1.ConnectionService/GetConnection",
1031 );
1032 let mut req = request.into_request();
1033 req.extensions_mut()
1034 .insert(
1035 GrpcMethod::new(
1036 "nominal.connection.v1.ConnectionService",
1037 "GetConnection",
1038 ),
1039 );
1040 self.inner.unary(req, path, codec).await
1041 }
1042 pub async fn batch_get_connections(
1043 &mut self,
1044 request: impl tonic::IntoRequest<super::BatchGetConnectionsRequest>,
1045 ) -> std::result::Result<
1046 tonic::Response<super::BatchGetConnectionsResponse>,
1047 tonic::Status,
1048 > {
1049 self.inner
1050 .ready()
1051 .await
1052 .map_err(|e| {
1053 tonic::Status::unknown(
1054 format!("Service was not ready: {}", e.into()),
1055 )
1056 })?;
1057 let codec = tonic::codec::ProstCodec::default();
1058 let path = http::uri::PathAndQuery::from_static(
1059 "/nominal.connection.v1.ConnectionService/BatchGetConnections",
1060 );
1061 let mut req = request.into_request();
1062 req.extensions_mut()
1063 .insert(
1064 GrpcMethod::new(
1065 "nominal.connection.v1.ConnectionService",
1066 "BatchGetConnections",
1067 ),
1068 );
1069 self.inner.unary(req, path, codec).await
1070 }
1071 pub async fn list_connections(
1072 &mut self,
1073 request: impl tonic::IntoRequest<super::ListConnectionsRequest>,
1074 ) -> std::result::Result<
1075 tonic::Response<super::ListConnectionsResponse>,
1076 tonic::Status,
1077 > {
1078 self.inner
1079 .ready()
1080 .await
1081 .map_err(|e| {
1082 tonic::Status::unknown(
1083 format!("Service was not ready: {}", e.into()),
1084 )
1085 })?;
1086 let codec = tonic::codec::ProstCodec::default();
1087 let path = http::uri::PathAndQuery::from_static(
1088 "/nominal.connection.v1.ConnectionService/ListConnections",
1089 );
1090 let mut req = request.into_request();
1091 req.extensions_mut()
1092 .insert(
1093 GrpcMethod::new(
1094 "nominal.connection.v1.ConnectionService",
1095 "ListConnections",
1096 ),
1097 );
1098 self.inner.unary(req, path, codec).await
1099 }
1100 pub async fn search_connections(
1101 &mut self,
1102 request: impl tonic::IntoRequest<super::SearchConnectionsRequest>,
1103 ) -> std::result::Result<
1104 tonic::Response<super::SearchConnectionsResponse>,
1105 tonic::Status,
1106 > {
1107 self.inner
1108 .ready()
1109 .await
1110 .map_err(|e| {
1111 tonic::Status::unknown(
1112 format!("Service was not ready: {}", e.into()),
1113 )
1114 })?;
1115 let codec = tonic::codec::ProstCodec::default();
1116 let path = http::uri::PathAndQuery::from_static(
1117 "/nominal.connection.v1.ConnectionService/SearchConnections",
1118 );
1119 let mut req = request.into_request();
1120 req.extensions_mut()
1121 .insert(
1122 GrpcMethod::new(
1123 "nominal.connection.v1.ConnectionService",
1124 "SearchConnections",
1125 ),
1126 );
1127 self.inner.unary(req, path, codec).await
1128 }
1129 pub async fn archive_connection(
1130 &mut self,
1131 request: impl tonic::IntoRequest<super::ArchiveConnectionRequest>,
1132 ) -> std::result::Result<
1133 tonic::Response<super::ArchiveConnectionResponse>,
1134 tonic::Status,
1135 > {
1136 self.inner
1137 .ready()
1138 .await
1139 .map_err(|e| {
1140 tonic::Status::unknown(
1141 format!("Service was not ready: {}", e.into()),
1142 )
1143 })?;
1144 let codec = tonic::codec::ProstCodec::default();
1145 let path = http::uri::PathAndQuery::from_static(
1146 "/nominal.connection.v1.ConnectionService/ArchiveConnection",
1147 );
1148 let mut req = request.into_request();
1149 req.extensions_mut()
1150 .insert(
1151 GrpcMethod::new(
1152 "nominal.connection.v1.ConnectionService",
1153 "ArchiveConnection",
1154 ),
1155 );
1156 self.inner.unary(req, path, codec).await
1157 }
1158 pub async fn unarchive_connection(
1159 &mut self,
1160 request: impl tonic::IntoRequest<super::UnarchiveConnectionRequest>,
1161 ) -> std::result::Result<
1162 tonic::Response<super::UnarchiveConnectionResponse>,
1163 tonic::Status,
1164 > {
1165 self.inner
1166 .ready()
1167 .await
1168 .map_err(|e| {
1169 tonic::Status::unknown(
1170 format!("Service was not ready: {}", e.into()),
1171 )
1172 })?;
1173 let codec = tonic::codec::ProstCodec::default();
1174 let path = http::uri::PathAndQuery::from_static(
1175 "/nominal.connection.v1.ConnectionService/UnarchiveConnection",
1176 );
1177 let mut req = request.into_request();
1178 req.extensions_mut()
1179 .insert(
1180 GrpcMethod::new(
1181 "nominal.connection.v1.ConnectionService",
1182 "UnarchiveConnection",
1183 ),
1184 );
1185 self.inner.unary(req, path, codec).await
1186 }
1187 }
1188}
1189pub mod connection_bootstrapper_service_client {
1191 #![allow(
1192 unused_variables,
1193 dead_code,
1194 missing_docs,
1195 clippy::wildcard_imports,
1196 clippy::let_unit_value,
1197 )]
1198 use tonic::codegen::*;
1199 use tonic::codegen::http::Uri;
1200 #[derive(Debug, Clone)]
1201 pub struct ConnectionBootstrapperServiceClient<T> {
1202 inner: tonic::client::Grpc<T>,
1203 }
1204 impl ConnectionBootstrapperServiceClient<tonic::transport::Channel> {
1205 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1207 where
1208 D: TryInto<tonic::transport::Endpoint>,
1209 D::Error: Into<StdError>,
1210 {
1211 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1212 Ok(Self::new(conn))
1213 }
1214 }
1215 impl<T> ConnectionBootstrapperServiceClient<T>
1216 where
1217 T: tonic::client::GrpcService<tonic::body::Body>,
1218 T::Error: Into<StdError>,
1219 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1220 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1221 {
1222 pub fn new(inner: T) -> Self {
1223 let inner = tonic::client::Grpc::new(inner);
1224 Self { inner }
1225 }
1226 pub fn with_origin(inner: T, origin: Uri) -> Self {
1227 let inner = tonic::client::Grpc::with_origin(inner, origin);
1228 Self { inner }
1229 }
1230 pub fn with_interceptor<F>(
1231 inner: T,
1232 interceptor: F,
1233 ) -> ConnectionBootstrapperServiceClient<InterceptedService<T, F>>
1234 where
1235 F: tonic::service::Interceptor,
1236 T::ResponseBody: Default,
1237 T: tonic::codegen::Service<
1238 http::Request<tonic::body::Body>,
1239 Response = http::Response<
1240 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
1241 >,
1242 >,
1243 <T as tonic::codegen::Service<
1244 http::Request<tonic::body::Body>,
1245 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1246 {
1247 ConnectionBootstrapperServiceClient::new(
1248 InterceptedService::new(inner, interceptor),
1249 )
1250 }
1251 #[must_use]
1256 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1257 self.inner = self.inner.send_compressed(encoding);
1258 self
1259 }
1260 #[must_use]
1262 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1263 self.inner = self.inner.accept_compressed(encoding);
1264 self
1265 }
1266 #[must_use]
1270 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1271 self.inner = self.inner.max_decoding_message_size(limit);
1272 self
1273 }
1274 #[must_use]
1278 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1279 self.inner = self.inner.max_encoding_message_size(limit);
1280 self
1281 }
1282 pub async fn populate_series(
1283 &mut self,
1284 request: impl tonic::IntoRequest<super::PopulateSeriesRequest>,
1285 ) -> std::result::Result<
1286 tonic::Response<super::PopulateSeriesResponse>,
1287 tonic::Status,
1288 > {
1289 self.inner
1290 .ready()
1291 .await
1292 .map_err(|e| {
1293 tonic::Status::unknown(
1294 format!("Service was not ready: {}", e.into()),
1295 )
1296 })?;
1297 let codec = tonic::codec::ProstCodec::default();
1298 let path = http::uri::PathAndQuery::from_static(
1299 "/nominal.connection.v1.ConnectionBootstrapperService/PopulateSeries",
1300 );
1301 let mut req = request.into_request();
1302 req.extensions_mut()
1303 .insert(
1304 GrpcMethod::new(
1305 "nominal.connection.v1.ConnectionBootstrapperService",
1306 "PopulateSeries",
1307 ),
1308 );
1309 self.inner.unary(req, path, codec).await
1310 }
1311 }
1312}