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