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