Skip to main content

nominal_api/conjure/endpoints/scout/datasource/connection/
connection_service.rs

1use conjure_http::endpoint;
2/// A Connection contains the relevant metadata and information to be used as a data source for runs.
3/// The Connection Service is responsible for creating, updating, and retrieving database connections.
4#[conjure_http::conjure_endpoints(
5    name = "ConnectionService",
6    use_legacy_error_serialization
7)]
8pub trait ConnectionService {
9    /// Creates a new connection.
10    #[endpoint(
11        method = POST,
12        path = "/data-source/connection/v1/connections",
13        name = "createConnection",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn create_connection(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[body(
21            deserializer = conjure_http::server::StdRequestDeserializer,
22            log_as = "createConnection"
23        )]
24        create_connection: super::super::super::super::super::objects::scout::datasource::connection::api::CreateConnection,
25    ) -> Result<
26        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
27        conjure_http::private::Error,
28    >;
29    /// Updates an existing connection.
30    #[endpoint(
31        method = PUT,
32        path = "/data-source/connection/v1/connection/{rid}/details",
33        name = "updateConnection",
34        produces = conjure_http::server::StdResponseSerializer
35    )]
36    fn update_connection(
37        &self,
38        #[auth]
39        auth_: conjure_object::BearerToken,
40        #[path(
41            name = "rid",
42            decoder = conjure_http::server::conjure::FromPlainDecoder,
43            safe
44        )]
45        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
46        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
47        request: super::super::super::super::super::objects::scout::datasource::connection::api::UpdateConnectionRequest,
48    ) -> Result<
49        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
50        conjure_http::private::Error,
51    >;
52    /// Updates an existing connection status.
53    #[endpoint(
54        method = PUT,
55        path = "/data-source/connection/v1/connection/{rid}/status",
56        name = "updateConnectionStatus"
57    )]
58    fn update_connection_status(
59        &self,
60        #[auth]
61        auth_: conjure_object::BearerToken,
62        #[path(
63            name = "rid",
64            decoder = conjure_http::server::conjure::FromPlainDecoder,
65            safe
66        )]
67        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
68        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
69        request: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionStatus,
70    ) -> Result<(), conjure_http::private::Error>;
71    /// Adds available tag key/value pairs to the connection. If a tag name already exists, the values will be merged.
72    /// This is primarily an internal endpoint to update tags for external connections as they are periodically
73    /// scraped. This endpoint should only be called by clients for Visual crossing connections. Throws if called for
74    /// Nominal connections which have their tags automatically indexed in the underlying Database.
75    #[endpoint(
76        method = POST,
77        path = "/data-source/connection/v1/connection/{rid}/available-tags",
78        name = "addAvailableTags",
79        produces = conjure_http::server::StdResponseSerializer
80    )]
81    fn add_available_tags(
82        &self,
83        #[auth]
84        auth_: conjure_object::BearerToken,
85        #[path(
86            name = "rid",
87            decoder = conjure_http::server::conjure::FromPlainDecoder,
88            safe
89        )]
90        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
91        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
92        tags: std::collections::BTreeMap<String, std::collections::BTreeSet<String>>,
93    ) -> Result<
94        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
95        conjure_http::private::Error,
96    >;
97    /// Gets a connection by its RID.
98    #[endpoint(
99        method = GET,
100        path = "/data-source/connection/v1/connection/{rid}",
101        name = "getConnection",
102        produces = conjure_http::server::StdResponseSerializer
103    )]
104    fn get_connection(
105        &self,
106        #[auth]
107        auth_: conjure_object::BearerToken,
108        #[path(
109            name = "rid",
110            decoder = conjure_http::server::conjure::FromPlainDecoder,
111            safe
112        )]
113        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
114    ) -> Result<
115        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
116        conjure_http::private::Error,
117    >;
118    /// Gets a set of connections by their RIDs.
119    #[endpoint(
120        method = POST,
121        path = "/data-source/connection/v1/connection/multiple",
122        name = "getConnections",
123        produces = conjure_http::server::conjure::CollectionResponseSerializer
124    )]
125    fn get_connections(
126        &self,
127        #[auth]
128        auth_: conjure_object::BearerToken,
129        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
130        rids: std::collections::BTreeSet<
131            super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
132        >,
133    ) -> Result<
134        std::collections::BTreeSet<
135            super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
136        >,
137        conjure_http::private::Error,
138    >;
139    /// Lists all connections.
140    #[endpoint(
141        method = GET,
142        path = "/data-source/connection/v1/connections",
143        name = "listConnections",
144        produces = conjure_http::server::conjure::CollectionResponseSerializer
145    )]
146    fn list_connections(
147        &self,
148        #[auth]
149        auth_: conjure_object::BearerToken,
150        #[query(
151            name = "includeArchived",
152            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
153            log_as = "includeArchived"
154        )]
155        include_archived: Option<bool>,
156        #[query(
157            name = "workspaces",
158            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
159        )]
160        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
161    ) -> Result<
162        std::collections::BTreeSet<
163            super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
164        >,
165        conjure_http::private::Error,
166    >;
167    /// Lists connections with pagination. Returns connections ordered by creation time descending.
168    #[endpoint(
169        method = GET,
170        path = "/data-source/connection/v2/connections",
171        name = "listConnectionsV2",
172        produces = conjure_http::server::StdResponseSerializer
173    )]
174    fn list_connections_v2(
175        &self,
176        #[auth]
177        auth_: conjure_object::BearerToken,
178        #[query(
179            name = "includeArchived",
180            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
181            log_as = "includeArchived"
182        )]
183        include_archived: Option<bool>,
184        #[query(
185            name = "workspaces",
186            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
187        )]
188        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
189        #[query(
190            name = "pageSize",
191            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
192            log_as = "pageSize"
193        )]
194        page_size: Option<i32>,
195        #[query(
196            name = "nextPageToken",
197            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
198            log_as = "nextPageToken"
199        )]
200        next_page_token: Option<String>,
201    ) -> Result<
202        super::super::super::super::super::objects::scout::datasource::connection::api::ListConnectionsResponse,
203        conjure_http::private::Error,
204    >;
205    /// Lists connections that reference the specified Nominal data sources, with pagination.
206    /// Only returns connections within the caller's organization.
207    #[endpoint(
208        method = GET,
209        path = "/data-source/connection/v2/connections/by-datasource",
210        name = "listConnectionsByNominalDataSource",
211        produces = conjure_http::server::StdResponseSerializer
212    )]
213    fn list_connections_by_nominal_data_source(
214        &self,
215        #[auth]
216        auth_: conjure_object::BearerToken,
217        #[query(
218            name = "nominalDataSourceRids",
219            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
220            log_as = "nominalDataSourceRids"
221        )]
222        nominal_data_source_rids: std::collections::BTreeSet<
223            conjure_object::ResourceIdentifier,
224        >,
225        #[query(
226            name = "workspaces",
227            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
228        )]
229        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
230        #[query(
231            name = "pageSize",
232            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
233            log_as = "pageSize"
234        )]
235        page_size: Option<i32>,
236        #[query(
237            name = "nextPageToken",
238            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
239            log_as = "nextPageToken"
240        )]
241        next_page_token: Option<String>,
242    ) -> Result<
243        super::super::super::super::super::objects::scout::datasource::connection::api::ListConnectionsResponse,
244        conjure_http::private::Error,
245    >;
246    /// Archives a connection, which simply tags the connection for a client to filter.
247    #[endpoint(
248        method = POST,
249        path = "/data-source/connection/v1/connections/{rid}/archive",
250        name = "archiveConnection"
251    )]
252    fn archive_connection(
253        &self,
254        #[auth]
255        auth_: conjure_object::BearerToken,
256        #[path(
257            name = "rid",
258            decoder = conjure_http::server::conjure::FromPlainDecoder,
259            safe
260        )]
261        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
262    ) -> Result<(), conjure_http::private::Error>;
263    /// Undoes the archiving of a connection.
264    #[endpoint(
265        method = POST,
266        path = "/data-source/connection/v1/connections/{rid}/unarchive",
267        name = "unarchiveConnection"
268    )]
269    fn unarchive_connection(
270        &self,
271        #[auth]
272        auth_: conjure_object::BearerToken,
273        #[path(
274            name = "rid",
275            decoder = conjure_http::server::conjure::FromPlainDecoder,
276            safe
277        )]
278        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
279    ) -> Result<(), conjure_http::private::Error>;
280}
281/// A Connection contains the relevant metadata and information to be used as a data source for runs.
282/// The Connection Service is responsible for creating, updating, and retrieving database connections.
283#[conjure_http::conjure_endpoints(
284    name = "ConnectionService",
285    use_legacy_error_serialization
286)]
287pub trait AsyncConnectionService {
288    /// Creates a new connection.
289    #[endpoint(
290        method = POST,
291        path = "/data-source/connection/v1/connections",
292        name = "createConnection",
293        produces = conjure_http::server::StdResponseSerializer
294    )]
295    async fn create_connection(
296        &self,
297        #[auth]
298        auth_: conjure_object::BearerToken,
299        #[body(
300            deserializer = conjure_http::server::StdRequestDeserializer,
301            log_as = "createConnection"
302        )]
303        create_connection: super::super::super::super::super::objects::scout::datasource::connection::api::CreateConnection,
304    ) -> Result<
305        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
306        conjure_http::private::Error,
307    >;
308    /// Updates an existing connection.
309    #[endpoint(
310        method = PUT,
311        path = "/data-source/connection/v1/connection/{rid}/details",
312        name = "updateConnection",
313        produces = conjure_http::server::StdResponseSerializer
314    )]
315    async fn update_connection(
316        &self,
317        #[auth]
318        auth_: conjure_object::BearerToken,
319        #[path(
320            name = "rid",
321            decoder = conjure_http::server::conjure::FromPlainDecoder,
322            safe
323        )]
324        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
325        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
326        request: super::super::super::super::super::objects::scout::datasource::connection::api::UpdateConnectionRequest,
327    ) -> Result<
328        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
329        conjure_http::private::Error,
330    >;
331    /// Updates an existing connection status.
332    #[endpoint(
333        method = PUT,
334        path = "/data-source/connection/v1/connection/{rid}/status",
335        name = "updateConnectionStatus"
336    )]
337    async fn update_connection_status(
338        &self,
339        #[auth]
340        auth_: conjure_object::BearerToken,
341        #[path(
342            name = "rid",
343            decoder = conjure_http::server::conjure::FromPlainDecoder,
344            safe
345        )]
346        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
347        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
348        request: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionStatus,
349    ) -> Result<(), conjure_http::private::Error>;
350    /// Adds available tag key/value pairs to the connection. If a tag name already exists, the values will be merged.
351    /// This is primarily an internal endpoint to update tags for external connections as they are periodically
352    /// scraped. This endpoint should only be called by clients for Visual crossing connections. Throws if called for
353    /// Nominal connections which have their tags automatically indexed in the underlying Database.
354    #[endpoint(
355        method = POST,
356        path = "/data-source/connection/v1/connection/{rid}/available-tags",
357        name = "addAvailableTags",
358        produces = conjure_http::server::StdResponseSerializer
359    )]
360    async fn add_available_tags(
361        &self,
362        #[auth]
363        auth_: conjure_object::BearerToken,
364        #[path(
365            name = "rid",
366            decoder = conjure_http::server::conjure::FromPlainDecoder,
367            safe
368        )]
369        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
370        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
371        tags: std::collections::BTreeMap<String, std::collections::BTreeSet<String>>,
372    ) -> Result<
373        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
374        conjure_http::private::Error,
375    >;
376    /// Gets a connection by its RID.
377    #[endpoint(
378        method = GET,
379        path = "/data-source/connection/v1/connection/{rid}",
380        name = "getConnection",
381        produces = conjure_http::server::StdResponseSerializer
382    )]
383    async fn get_connection(
384        &self,
385        #[auth]
386        auth_: conjure_object::BearerToken,
387        #[path(
388            name = "rid",
389            decoder = conjure_http::server::conjure::FromPlainDecoder,
390            safe
391        )]
392        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
393    ) -> Result<
394        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
395        conjure_http::private::Error,
396    >;
397    /// Gets a set of connections by their RIDs.
398    #[endpoint(
399        method = POST,
400        path = "/data-source/connection/v1/connection/multiple",
401        name = "getConnections",
402        produces = conjure_http::server::conjure::CollectionResponseSerializer
403    )]
404    async fn get_connections(
405        &self,
406        #[auth]
407        auth_: conjure_object::BearerToken,
408        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
409        rids: std::collections::BTreeSet<
410            super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
411        >,
412    ) -> Result<
413        std::collections::BTreeSet<
414            super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
415        >,
416        conjure_http::private::Error,
417    >;
418    /// Lists all connections.
419    #[endpoint(
420        method = GET,
421        path = "/data-source/connection/v1/connections",
422        name = "listConnections",
423        produces = conjure_http::server::conjure::CollectionResponseSerializer
424    )]
425    async fn list_connections(
426        &self,
427        #[auth]
428        auth_: conjure_object::BearerToken,
429        #[query(
430            name = "includeArchived",
431            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
432            log_as = "includeArchived"
433        )]
434        include_archived: Option<bool>,
435        #[query(
436            name = "workspaces",
437            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
438        )]
439        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
440    ) -> Result<
441        std::collections::BTreeSet<
442            super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
443        >,
444        conjure_http::private::Error,
445    >;
446    /// Lists connections with pagination. Returns connections ordered by creation time descending.
447    #[endpoint(
448        method = GET,
449        path = "/data-source/connection/v2/connections",
450        name = "listConnectionsV2",
451        produces = conjure_http::server::StdResponseSerializer
452    )]
453    async fn list_connections_v2(
454        &self,
455        #[auth]
456        auth_: conjure_object::BearerToken,
457        #[query(
458            name = "includeArchived",
459            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
460            log_as = "includeArchived"
461        )]
462        include_archived: Option<bool>,
463        #[query(
464            name = "workspaces",
465            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
466        )]
467        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
468        #[query(
469            name = "pageSize",
470            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
471            log_as = "pageSize"
472        )]
473        page_size: Option<i32>,
474        #[query(
475            name = "nextPageToken",
476            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
477            log_as = "nextPageToken"
478        )]
479        next_page_token: Option<String>,
480    ) -> Result<
481        super::super::super::super::super::objects::scout::datasource::connection::api::ListConnectionsResponse,
482        conjure_http::private::Error,
483    >;
484    /// Lists connections that reference the specified Nominal data sources, with pagination.
485    /// Only returns connections within the caller's organization.
486    #[endpoint(
487        method = GET,
488        path = "/data-source/connection/v2/connections/by-datasource",
489        name = "listConnectionsByNominalDataSource",
490        produces = conjure_http::server::StdResponseSerializer
491    )]
492    async fn list_connections_by_nominal_data_source(
493        &self,
494        #[auth]
495        auth_: conjure_object::BearerToken,
496        #[query(
497            name = "nominalDataSourceRids",
498            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
499            log_as = "nominalDataSourceRids"
500        )]
501        nominal_data_source_rids: std::collections::BTreeSet<
502            conjure_object::ResourceIdentifier,
503        >,
504        #[query(
505            name = "workspaces",
506            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
507        )]
508        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
509        #[query(
510            name = "pageSize",
511            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
512            log_as = "pageSize"
513        )]
514        page_size: Option<i32>,
515        #[query(
516            name = "nextPageToken",
517            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
518            log_as = "nextPageToken"
519        )]
520        next_page_token: Option<String>,
521    ) -> Result<
522        super::super::super::super::super::objects::scout::datasource::connection::api::ListConnectionsResponse,
523        conjure_http::private::Error,
524    >;
525    /// Archives a connection, which simply tags the connection for a client to filter.
526    #[endpoint(
527        method = POST,
528        path = "/data-source/connection/v1/connections/{rid}/archive",
529        name = "archiveConnection"
530    )]
531    async fn archive_connection(
532        &self,
533        #[auth]
534        auth_: conjure_object::BearerToken,
535        #[path(
536            name = "rid",
537            decoder = conjure_http::server::conjure::FromPlainDecoder,
538            safe
539        )]
540        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
541    ) -> Result<(), conjure_http::private::Error>;
542    /// Undoes the archiving of a connection.
543    #[endpoint(
544        method = POST,
545        path = "/data-source/connection/v1/connections/{rid}/unarchive",
546        name = "unarchiveConnection"
547    )]
548    async fn unarchive_connection(
549        &self,
550        #[auth]
551        auth_: conjure_object::BearerToken,
552        #[path(
553            name = "rid",
554            decoder = conjure_http::server::conjure::FromPlainDecoder,
555            safe
556        )]
557        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
558    ) -> Result<(), conjure_http::private::Error>;
559}
560/// A Connection contains the relevant metadata and information to be used as a data source for runs.
561/// The Connection Service is responsible for creating, updating, and retrieving database connections.
562#[conjure_http::conjure_endpoints(
563    name = "ConnectionService",
564    use_legacy_error_serialization,
565    local
566)]
567pub trait LocalAsyncConnectionService {
568    /// Creates a new connection.
569    #[endpoint(
570        method = POST,
571        path = "/data-source/connection/v1/connections",
572        name = "createConnection",
573        produces = conjure_http::server::StdResponseSerializer
574    )]
575    async fn create_connection(
576        &self,
577        #[auth]
578        auth_: conjure_object::BearerToken,
579        #[body(
580            deserializer = conjure_http::server::StdRequestDeserializer,
581            log_as = "createConnection"
582        )]
583        create_connection: super::super::super::super::super::objects::scout::datasource::connection::api::CreateConnection,
584    ) -> Result<
585        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
586        conjure_http::private::Error,
587    >;
588    /// Updates an existing connection.
589    #[endpoint(
590        method = PUT,
591        path = "/data-source/connection/v1/connection/{rid}/details",
592        name = "updateConnection",
593        produces = conjure_http::server::StdResponseSerializer
594    )]
595    async fn update_connection(
596        &self,
597        #[auth]
598        auth_: conjure_object::BearerToken,
599        #[path(
600            name = "rid",
601            decoder = conjure_http::server::conjure::FromPlainDecoder,
602            safe
603        )]
604        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
605        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
606        request: super::super::super::super::super::objects::scout::datasource::connection::api::UpdateConnectionRequest,
607    ) -> Result<
608        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
609        conjure_http::private::Error,
610    >;
611    /// Updates an existing connection status.
612    #[endpoint(
613        method = PUT,
614        path = "/data-source/connection/v1/connection/{rid}/status",
615        name = "updateConnectionStatus"
616    )]
617    async fn update_connection_status(
618        &self,
619        #[auth]
620        auth_: conjure_object::BearerToken,
621        #[path(
622            name = "rid",
623            decoder = conjure_http::server::conjure::FromPlainDecoder,
624            safe
625        )]
626        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
627        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
628        request: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionStatus,
629    ) -> Result<(), conjure_http::private::Error>;
630    /// Adds available tag key/value pairs to the connection. If a tag name already exists, the values will be merged.
631    /// This is primarily an internal endpoint to update tags for external connections as they are periodically
632    /// scraped. This endpoint should only be called by clients for Visual crossing connections. Throws if called for
633    /// Nominal connections which have their tags automatically indexed in the underlying Database.
634    #[endpoint(
635        method = POST,
636        path = "/data-source/connection/v1/connection/{rid}/available-tags",
637        name = "addAvailableTags",
638        produces = conjure_http::server::StdResponseSerializer
639    )]
640    async fn add_available_tags(
641        &self,
642        #[auth]
643        auth_: conjure_object::BearerToken,
644        #[path(
645            name = "rid",
646            decoder = conjure_http::server::conjure::FromPlainDecoder,
647            safe
648        )]
649        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
650        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
651        tags: std::collections::BTreeMap<String, std::collections::BTreeSet<String>>,
652    ) -> Result<
653        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
654        conjure_http::private::Error,
655    >;
656    /// Gets a connection by its RID.
657    #[endpoint(
658        method = GET,
659        path = "/data-source/connection/v1/connection/{rid}",
660        name = "getConnection",
661        produces = conjure_http::server::StdResponseSerializer
662    )]
663    async fn get_connection(
664        &self,
665        #[auth]
666        auth_: conjure_object::BearerToken,
667        #[path(
668            name = "rid",
669            decoder = conjure_http::server::conjure::FromPlainDecoder,
670            safe
671        )]
672        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
673    ) -> Result<
674        super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
675        conjure_http::private::Error,
676    >;
677    /// Gets a set of connections by their RIDs.
678    #[endpoint(
679        method = POST,
680        path = "/data-source/connection/v1/connection/multiple",
681        name = "getConnections",
682        produces = conjure_http::server::conjure::CollectionResponseSerializer
683    )]
684    async fn get_connections(
685        &self,
686        #[auth]
687        auth_: conjure_object::BearerToken,
688        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
689        rids: std::collections::BTreeSet<
690            super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
691        >,
692    ) -> Result<
693        std::collections::BTreeSet<
694            super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
695        >,
696        conjure_http::private::Error,
697    >;
698    /// Lists all connections.
699    #[endpoint(
700        method = GET,
701        path = "/data-source/connection/v1/connections",
702        name = "listConnections",
703        produces = conjure_http::server::conjure::CollectionResponseSerializer
704    )]
705    async fn list_connections(
706        &self,
707        #[auth]
708        auth_: conjure_object::BearerToken,
709        #[query(
710            name = "includeArchived",
711            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
712            log_as = "includeArchived"
713        )]
714        include_archived: Option<bool>,
715        #[query(
716            name = "workspaces",
717            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
718        )]
719        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
720    ) -> Result<
721        std::collections::BTreeSet<
722            super::super::super::super::super::objects::scout::datasource::connection::api::Connection,
723        >,
724        conjure_http::private::Error,
725    >;
726    /// Lists connections with pagination. Returns connections ordered by creation time descending.
727    #[endpoint(
728        method = GET,
729        path = "/data-source/connection/v2/connections",
730        name = "listConnectionsV2",
731        produces = conjure_http::server::StdResponseSerializer
732    )]
733    async fn list_connections_v2(
734        &self,
735        #[auth]
736        auth_: conjure_object::BearerToken,
737        #[query(
738            name = "includeArchived",
739            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
740            log_as = "includeArchived"
741        )]
742        include_archived: Option<bool>,
743        #[query(
744            name = "workspaces",
745            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
746        )]
747        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
748        #[query(
749            name = "pageSize",
750            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
751            log_as = "pageSize"
752        )]
753        page_size: Option<i32>,
754        #[query(
755            name = "nextPageToken",
756            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
757            log_as = "nextPageToken"
758        )]
759        next_page_token: Option<String>,
760    ) -> Result<
761        super::super::super::super::super::objects::scout::datasource::connection::api::ListConnectionsResponse,
762        conjure_http::private::Error,
763    >;
764    /// Lists connections that reference the specified Nominal data sources, with pagination.
765    /// Only returns connections within the caller's organization.
766    #[endpoint(
767        method = GET,
768        path = "/data-source/connection/v2/connections/by-datasource",
769        name = "listConnectionsByNominalDataSource",
770        produces = conjure_http::server::StdResponseSerializer
771    )]
772    async fn list_connections_by_nominal_data_source(
773        &self,
774        #[auth]
775        auth_: conjure_object::BearerToken,
776        #[query(
777            name = "nominalDataSourceRids",
778            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
779            log_as = "nominalDataSourceRids"
780        )]
781        nominal_data_source_rids: std::collections::BTreeSet<
782            conjure_object::ResourceIdentifier,
783        >,
784        #[query(
785            name = "workspaces",
786            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
787        )]
788        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
789        #[query(
790            name = "pageSize",
791            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
792            log_as = "pageSize"
793        )]
794        page_size: Option<i32>,
795        #[query(
796            name = "nextPageToken",
797            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
798            log_as = "nextPageToken"
799        )]
800        next_page_token: Option<String>,
801    ) -> Result<
802        super::super::super::super::super::objects::scout::datasource::connection::api::ListConnectionsResponse,
803        conjure_http::private::Error,
804    >;
805    /// Archives a connection, which simply tags the connection for a client to filter.
806    #[endpoint(
807        method = POST,
808        path = "/data-source/connection/v1/connections/{rid}/archive",
809        name = "archiveConnection"
810    )]
811    async fn archive_connection(
812        &self,
813        #[auth]
814        auth_: conjure_object::BearerToken,
815        #[path(
816            name = "rid",
817            decoder = conjure_http::server::conjure::FromPlainDecoder,
818            safe
819        )]
820        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
821    ) -> Result<(), conjure_http::private::Error>;
822    /// Undoes the archiving of a connection.
823    #[endpoint(
824        method = POST,
825        path = "/data-source/connection/v1/connections/{rid}/unarchive",
826        name = "unarchiveConnection"
827    )]
828    async fn unarchive_connection(
829        &self,
830        #[auth]
831        auth_: conjure_object::BearerToken,
832        #[path(
833            name = "rid",
834            decoder = conjure_http::server::conjure::FromPlainDecoder,
835            safe
836        )]
837        rid: super::super::super::super::super::objects::scout::datasource::connection::api::ConnectionRid,
838    ) -> Result<(), conjure_http::private::Error>;
839}