Skip to main content

nominal_api/conjure/endpoints/scout/
run_service.rs

1use conjure_http::endpoint;
2/// Runs are collections of channels and metadata from one or more data sources, synchronized over a
3/// range of real time, which represents a test event or simulation. These API endpoints let you
4/// manage runs in the Nominal app.
5#[conjure_http::conjure_endpoints(name = "RunService", use_legacy_error_serialization)]
6pub trait RunService {
7    /// Create a new run in Nominal.
8    ///
9    /// Throws if start is equal to or after end.
10    #[endpoint(
11        method = POST,
12        path = "/scout/v1/run",
13        name = "createRun",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn create_run(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
21        details: super::super::super::objects::scout::run::api::CreateRunRequest,
22    ) -> Result<
23        super::super::super::objects::scout::run::api::Run,
24        conjure_http::private::Error,
25    >;
26    /// Updates an existing run based on its RID.
27    ///
28    /// Throws if start is equal to or after end.
29    #[endpoint(
30        method = PUT,
31        path = "/scout/v1/run/{rid}",
32        name = "updateRun",
33        produces = conjure_http::server::StdResponseSerializer
34    )]
35    fn update_run(
36        &self,
37        #[auth]
38        auth_: conjure_object::BearerToken,
39        #[path(
40            name = "rid",
41            decoder = conjure_http::server::conjure::FromPlainDecoder,
42            safe
43        )]
44        rid: super::super::super::objects::scout::run::api::RunRid,
45        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
46        details: super::super::super::objects::scout::run::api::UpdateRunRequest,
47    ) -> Result<
48        super::super::super::objects::scout::run::api::Run,
49        conjure_http::private::Error,
50    >;
51    /// Batch edits metadata across multiple runs. Supports rename/merge for labels and properties.
52    /// If more than 1000 runs are targeted, this endpoint will throw a 400.
53    #[endpoint(
54        method = POST,
55        path = "/scout/v1/run/metadata/batch-edit",
56        name = "batchEditRunMetadata",
57        produces = conjure_http::server::StdResponseSerializer
58    )]
59    fn batch_edit_run_metadata(
60        &self,
61        #[auth]
62        auth_: conjure_object::BearerToken,
63        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
64        request: super::super::super::objects::scout::run::api::BatchEditRunMetadataRequest,
65    ) -> Result<
66        super::super::super::objects::scout::run::api::BatchEditRunMetadataResponse,
67        conjure_http::private::Error,
68    >;
69    /// Adds datasources to the run in question.
70    ///
71    /// Throws if any of the ref names conflict with existing data sources or each other.
72    #[endpoint(
73        method = POST,
74        path = "/scout/v1/run/{runRid}/data-sources",
75        name = "addDataSourcesToRun",
76        produces = conjure_http::server::StdResponseSerializer
77    )]
78    fn add_data_sources_to_run(
79        &self,
80        #[auth]
81        auth_: conjure_object::BearerToken,
82        #[path(
83            name = "runRid",
84            decoder = conjure_http::server::conjure::FromPlainDecoder,
85            log_as = "runRid",
86            safe
87        )]
88        run_rid: super::super::super::objects::scout::run::api::RunRid,
89        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
90        request: std::collections::BTreeMap<
91            super::super::super::objects::scout::api::DataSourceRefName,
92            super::super::super::objects::scout::run::api::CreateRunDataSource,
93        >,
94    ) -> Result<
95        super::super::super::objects::scout::run::api::Run,
96        conjure_http::private::Error,
97    >;
98    /// Updates a run if it exists, otherwise it's created from scratch.
99    /// Will throw if the workspace of an existing run is different from the workspace of the request.
100    #[endpoint(
101        method = POST,
102        path = "/scout/v1/run/create-or-update",
103        name = "createOrUpdateRun",
104        produces = conjure_http::server::StdResponseSerializer
105    )]
106    fn create_or_update_run(
107        &self,
108        #[auth]
109        auth_: conjure_object::BearerToken,
110        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
111        details: super::super::super::objects::scout::run::api::CreateOrUpdateRunRequest,
112    ) -> Result<
113        super::super::super::objects::scout::run::api::Run,
114        conjure_http::private::Error,
115    >;
116    /// Fetches details about the run in question based on its RID.
117    #[endpoint(
118        method = GET,
119        path = "/scout/v1/run/{rid}",
120        name = "getRun",
121        produces = conjure_http::server::StdResponseSerializer
122    )]
123    fn get_run(
124        &self,
125        #[auth]
126        auth_: conjure_object::BearerToken,
127        #[path(
128            name = "rid",
129            decoder = conjure_http::server::conjure::FromPlainDecoder,
130            safe
131        )]
132        rid: super::super::super::objects::scout::run::api::RunRid,
133    ) -> Result<
134        super::super::super::objects::scout::run::api::Run,
135        conjure_http::private::Error,
136    >;
137    /// Fetches details about the run in question based on its RID,
138    /// including metrics for check and violation review status.
139    #[endpoint(
140        method = GET,
141        path = "/scout/v1/run/{rid}/with-data-review-metrics",
142        name = "getRunWithDataReviewMetrics",
143        produces = conjure_http::server::StdResponseSerializer
144    )]
145    fn get_run_with_data_review_metrics(
146        &self,
147        #[auth]
148        auth_: conjure_object::BearerToken,
149        #[path(
150            name = "rid",
151            decoder = conjure_http::server::conjure::FromPlainDecoder,
152            safe
153        )]
154        rid: super::super::super::objects::scout::run::api::RunRid,
155    ) -> Result<
156        super::super::super::objects::scout::run::api::RunWithDataReviewMetrics,
157        conjure_http::private::Error,
158    >;
159    /// Fetches details about the run in question based on its RID, including a summary of the data review status.
160    #[endpoint(
161        method = GET,
162        path = "/scout/v1/run/{rid}/with-data-review-summary",
163        name = "getRunWithDataReviewSummary",
164        produces = conjure_http::server::StdResponseSerializer
165    )]
166    fn get_run_with_data_review_summary(
167        &self,
168        #[auth]
169        auth_: conjure_object::BearerToken,
170        #[path(
171            name = "rid",
172            decoder = conjure_http::server::conjure::FromPlainDecoder,
173            safe
174        )]
175        rid: super::super::super::objects::scout::run::api::RunRid,
176    ) -> Result<
177        super::super::super::objects::scout::run::api::RunWithDataReviewSummary,
178        conjure_http::private::Error,
179    >;
180    /// Fetches a run based on the run number, rather than RID.
181    #[endpoint(
182        method = POST,
183        path = "/scout/v1/run/by-id",
184        name = "getRunById",
185        produces = conjure_http::server::StdResponseSerializer
186    )]
187    fn get_run_by_id(
188        &self,
189        #[auth]
190        auth_: conjure_object::BearerToken,
191        #[body(
192            deserializer = conjure_http::server::StdRequestDeserializer,
193            log_as = "getRunByIdRequest"
194        )]
195        get_run_by_id_request: super::super::super::objects::scout::run::api::GetRunByIdRequest,
196    ) -> Result<
197        super::super::super::objects::scout::run::api::Run,
198        conjure_http::private::Error,
199    >;
200    /// Fetches a list of run details based on a list of RIDs.
201    #[endpoint(
202        method = POST,
203        path = "/scout/v1/run/multiple",
204        name = "getRuns",
205        produces = conjure_http::server::conjure::CollectionResponseSerializer
206    )]
207    fn get_runs(
208        &self,
209        #[auth]
210        auth_: conjure_object::BearerToken,
211        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
212        rids: std::collections::BTreeSet<
213            super::super::super::objects::scout::run::api::RunRid,
214        >,
215    ) -> Result<
216        std::collections::BTreeMap<
217            super::super::super::objects::scout::run::api::RunRid,
218            super::super::super::objects::scout::run::api::Run,
219        >,
220        conjure_http::private::Error,
221    >;
222    /// Fetches the runs with the given asset.
223    #[endpoint(
224        method = POST,
225        path = "/scout/v1/run/by-asset",
226        name = "getRunsByAsset",
227        produces = conjure_http::server::StdResponseSerializer
228    )]
229    fn get_runs_by_asset(
230        &self,
231        #[auth]
232        auth_: conjure_object::BearerToken,
233        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
234        request: super::super::super::objects::scout::run::api::GetRunsByAssetRequest,
235    ) -> Result<
236        super::super::super::objects::scout::run::api::GetRunsByAssetResponse,
237        conjure_http::private::Error,
238    >;
239    /// Fetches the latest run for each requested asset.
240    /// Assets without associated runs will not be included in response.
241    #[endpoint(
242        method = POST,
243        path = "/scout/v1/run/by-assets/latest",
244        name = "getLatestRunForAssets",
245        produces = conjure_http::server::conjure::CollectionResponseSerializer
246    )]
247    fn get_latest_run_for_assets(
248        &self,
249        #[auth]
250        auth_: conjure_object::BearerToken,
251        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
252        request: std::collections::BTreeSet<
253            super::super::super::objects::scout::rids::api::AssetRid,
254        >,
255    ) -> Result<
256        std::collections::BTreeMap<
257            super::super::super::objects::scout::rids::api::AssetRid,
258            super::super::super::objects::scout::run::api::Run,
259        >,
260        conjure_http::private::Error,
261    >;
262    #[endpoint(
263        method = GET,
264        path = "/scout/v1/all-runs-properties-labels",
265        name = "getAllRunsPropertiesAndLabels",
266        produces = conjure_http::server::StdResponseSerializer
267    )]
268    fn get_all_runs_properties_and_labels(
269        &self,
270        #[auth]
271        auth_: conjure_object::BearerToken,
272        #[query(
273            name = "workspaces",
274            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
275            safe
276        )]
277        workspaces: std::collections::BTreeSet<
278            super::super::super::objects::api::rids::WorkspaceRid,
279        >,
280    ) -> Result<
281        super::super::super::objects::scout::run::api::AllRunsPropertiesAndLabelsResponse,
282        conjure_http::private::Error,
283    >;
284    /// Searches for runs that match the given filters. Defaults to returning un-archived runs, absent an archive
285    /// filter.
286    #[endpoint(
287        method = POST,
288        path = "/scout/v1/search-runs",
289        name = "searchRuns",
290        produces = conjure_http::server::StdResponseSerializer
291    )]
292    fn search_runs(
293        &self,
294        #[auth]
295        auth_: conjure_object::BearerToken,
296        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
297        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
298    ) -> Result<
299        super::super::super::objects::scout::run::api::SearchRunsResponse,
300        conjure_http::private::Error,
301    >;
302    /// Searches for runs that match the given filters and
303    /// includes metrics for check and violation review status. Defaults to returning un-archived runs, absent an
304    /// archive filter.
305    #[endpoint(
306        method = POST,
307        path = "/scout/v1/search-runs-with-data-review-metrics",
308        name = "searchRunsWithDataReviewMetrics",
309        produces = conjure_http::server::StdResponseSerializer
310    )]
311    fn search_runs_with_data_review_metrics(
312        &self,
313        #[auth]
314        auth_: conjure_object::BearerToken,
315        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
316        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
317    ) -> Result<
318        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewMetricsResponse,
319        conjure_http::private::Error,
320    >;
321    /// Searches for runs that match the given filters and includes a summary of the data review status. Defaults to
322    /// returning un-archived runs, absent an archive filter.
323    #[endpoint(
324        method = POST,
325        path = "/scout/v1/search-runs-with-data-review-summary",
326        name = "searchRunsWithDataReviewSummary",
327        produces = conjure_http::server::StdResponseSerializer
328    )]
329    fn search_runs_with_data_review_summary(
330        &self,
331        #[auth]
332        auth_: conjure_object::BearerToken,
333        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
334        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
335    ) -> Result<
336        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewSummaryResponse,
337        conjure_http::private::Error,
338    >;
339    /// Soft-deletes a run. Runs still exist in the database but are no longer visible.
340    #[endpoint(
341        method = PUT,
342        path = "/scout/v1/archive-run/{rid}",
343        name = "archiveRun",
344        produces = conjure_http::server::StdResponseSerializer
345    )]
346    fn archive_run(
347        &self,
348        #[auth]
349        auth_: conjure_object::BearerToken,
350        #[path(
351            name = "rid",
352            decoder = conjure_http::server::conjure::FromPlainDecoder,
353            safe
354        )]
355        rid: super::super::super::objects::scout::run::api::RunRid,
356        #[query(
357            name = "includeLinkedWorkbooks",
358            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
359            log_as = "includeLinkedWorkbooks"
360        )]
361        include_linked_workbooks: Option<bool>,
362    ) -> Result<bool, conjure_http::private::Error>;
363    #[endpoint(
364        method = PUT,
365        path = "/scout/v1/unarchive-run/{rid}",
366        name = "unarchiveRun",
367        produces = conjure_http::server::StdResponseSerializer
368    )]
369    fn unarchive_run(
370        &self,
371        #[auth]
372        auth_: conjure_object::BearerToken,
373        #[path(
374            name = "rid",
375            decoder = conjure_http::server::conjure::FromPlainDecoder,
376            safe
377        )]
378        rid: super::super::super::objects::scout::run::api::RunRid,
379        #[query(
380            name = "includeLinkedWorkbooks",
381            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
382            log_as = "includeLinkedWorkbooks"
383        )]
384        include_linked_workbooks: Option<bool>,
385    ) -> Result<bool, conjure_http::private::Error>;
386    #[endpoint(method = POST, path = "/scout/v1/archive-run", name = "archiveRuns")]
387    fn archive_runs(
388        &self,
389        #[auth]
390        auth_: conjure_object::BearerToken,
391        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
392        request: super::super::super::objects::scout::run::api::ArchiveRunsRequest,
393    ) -> Result<(), conjure_http::private::Error>;
394    #[endpoint(method = POST, path = "/scout/v1/unarchive-run", name = "unarchiveRuns")]
395    fn unarchive_runs(
396        &self,
397        #[auth]
398        auth_: conjure_object::BearerToken,
399        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
400        request: super::super::super::objects::scout::run::api::UnarchiveRunsRequest,
401    ) -> Result<(), conjure_http::private::Error>;
402    /// Returns the list of ref names that are in use across specified and authorized workspaces.
403    #[endpoint(
404        method = GET,
405        path = "/scout/v1/data-source-ref-names-and-types",
406        name = "getDataSourceRefNameAndTypeList",
407        produces = conjure_http::server::conjure::CollectionResponseSerializer
408    )]
409    fn get_data_source_ref_name_and_type_list(
410        &self,
411        #[auth]
412        auth_: conjure_object::BearerToken,
413        #[query(
414            name = "workspaces",
415            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
416            safe
417        )]
418        workspaces: std::collections::BTreeSet<
419            super::super::super::objects::api::rids::WorkspaceRid,
420        >,
421    ) -> Result<
422        Vec<super::super::super::objects::scout::run::api::RefNameAndType>,
423        conjure_http::private::Error,
424    >;
425    /// Updates the attachments associated with a run.
426    #[endpoint(
427        method = POST,
428        path = "/scout/v1/run/{rid}/attachments",
429        name = "updateRunAttachment"
430    )]
431    fn update_run_attachment(
432        &self,
433        #[auth]
434        auth_: conjure_object::BearerToken,
435        #[path(
436            name = "rid",
437            decoder = conjure_http::server::conjure::FromPlainDecoder,
438            safe
439        )]
440        rid: super::super::super::objects::scout::run::api::RunRid,
441        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
442        request: super::super::super::objects::scout::run::api::UpdateAttachmentsRequest,
443    ) -> Result<(), conjure_http::private::Error>;
444}
445/// Runs are collections of channels and metadata from one or more data sources, synchronized over a
446/// range of real time, which represents a test event or simulation. These API endpoints let you
447/// manage runs in the Nominal app.
448#[conjure_http::conjure_endpoints(name = "RunService", use_legacy_error_serialization)]
449pub trait AsyncRunService {
450    /// Create a new run in Nominal.
451    ///
452    /// Throws if start is equal to or after end.
453    #[endpoint(
454        method = POST,
455        path = "/scout/v1/run",
456        name = "createRun",
457        produces = conjure_http::server::StdResponseSerializer
458    )]
459    async fn create_run(
460        &self,
461        #[auth]
462        auth_: conjure_object::BearerToken,
463        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
464        details: super::super::super::objects::scout::run::api::CreateRunRequest,
465    ) -> Result<
466        super::super::super::objects::scout::run::api::Run,
467        conjure_http::private::Error,
468    >;
469    /// Updates an existing run based on its RID.
470    ///
471    /// Throws if start is equal to or after end.
472    #[endpoint(
473        method = PUT,
474        path = "/scout/v1/run/{rid}",
475        name = "updateRun",
476        produces = conjure_http::server::StdResponseSerializer
477    )]
478    async fn update_run(
479        &self,
480        #[auth]
481        auth_: conjure_object::BearerToken,
482        #[path(
483            name = "rid",
484            decoder = conjure_http::server::conjure::FromPlainDecoder,
485            safe
486        )]
487        rid: super::super::super::objects::scout::run::api::RunRid,
488        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
489        details: super::super::super::objects::scout::run::api::UpdateRunRequest,
490    ) -> Result<
491        super::super::super::objects::scout::run::api::Run,
492        conjure_http::private::Error,
493    >;
494    /// Batch edits metadata across multiple runs. Supports rename/merge for labels and properties.
495    /// If more than 1000 runs are targeted, this endpoint will throw a 400.
496    #[endpoint(
497        method = POST,
498        path = "/scout/v1/run/metadata/batch-edit",
499        name = "batchEditRunMetadata",
500        produces = conjure_http::server::StdResponseSerializer
501    )]
502    async fn batch_edit_run_metadata(
503        &self,
504        #[auth]
505        auth_: conjure_object::BearerToken,
506        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
507        request: super::super::super::objects::scout::run::api::BatchEditRunMetadataRequest,
508    ) -> Result<
509        super::super::super::objects::scout::run::api::BatchEditRunMetadataResponse,
510        conjure_http::private::Error,
511    >;
512    /// Adds datasources to the run in question.
513    ///
514    /// Throws if any of the ref names conflict with existing data sources or each other.
515    #[endpoint(
516        method = POST,
517        path = "/scout/v1/run/{runRid}/data-sources",
518        name = "addDataSourcesToRun",
519        produces = conjure_http::server::StdResponseSerializer
520    )]
521    async fn add_data_sources_to_run(
522        &self,
523        #[auth]
524        auth_: conjure_object::BearerToken,
525        #[path(
526            name = "runRid",
527            decoder = conjure_http::server::conjure::FromPlainDecoder,
528            log_as = "runRid",
529            safe
530        )]
531        run_rid: super::super::super::objects::scout::run::api::RunRid,
532        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
533        request: std::collections::BTreeMap<
534            super::super::super::objects::scout::api::DataSourceRefName,
535            super::super::super::objects::scout::run::api::CreateRunDataSource,
536        >,
537    ) -> Result<
538        super::super::super::objects::scout::run::api::Run,
539        conjure_http::private::Error,
540    >;
541    /// Updates a run if it exists, otherwise it's created from scratch.
542    /// Will throw if the workspace of an existing run is different from the workspace of the request.
543    #[endpoint(
544        method = POST,
545        path = "/scout/v1/run/create-or-update",
546        name = "createOrUpdateRun",
547        produces = conjure_http::server::StdResponseSerializer
548    )]
549    async fn create_or_update_run(
550        &self,
551        #[auth]
552        auth_: conjure_object::BearerToken,
553        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
554        details: super::super::super::objects::scout::run::api::CreateOrUpdateRunRequest,
555    ) -> Result<
556        super::super::super::objects::scout::run::api::Run,
557        conjure_http::private::Error,
558    >;
559    /// Fetches details about the run in question based on its RID.
560    #[endpoint(
561        method = GET,
562        path = "/scout/v1/run/{rid}",
563        name = "getRun",
564        produces = conjure_http::server::StdResponseSerializer
565    )]
566    async fn get_run(
567        &self,
568        #[auth]
569        auth_: conjure_object::BearerToken,
570        #[path(
571            name = "rid",
572            decoder = conjure_http::server::conjure::FromPlainDecoder,
573            safe
574        )]
575        rid: super::super::super::objects::scout::run::api::RunRid,
576    ) -> Result<
577        super::super::super::objects::scout::run::api::Run,
578        conjure_http::private::Error,
579    >;
580    /// Fetches details about the run in question based on its RID,
581    /// including metrics for check and violation review status.
582    #[endpoint(
583        method = GET,
584        path = "/scout/v1/run/{rid}/with-data-review-metrics",
585        name = "getRunWithDataReviewMetrics",
586        produces = conjure_http::server::StdResponseSerializer
587    )]
588    async fn get_run_with_data_review_metrics(
589        &self,
590        #[auth]
591        auth_: conjure_object::BearerToken,
592        #[path(
593            name = "rid",
594            decoder = conjure_http::server::conjure::FromPlainDecoder,
595            safe
596        )]
597        rid: super::super::super::objects::scout::run::api::RunRid,
598    ) -> Result<
599        super::super::super::objects::scout::run::api::RunWithDataReviewMetrics,
600        conjure_http::private::Error,
601    >;
602    /// Fetches details about the run in question based on its RID, including a summary of the data review status.
603    #[endpoint(
604        method = GET,
605        path = "/scout/v1/run/{rid}/with-data-review-summary",
606        name = "getRunWithDataReviewSummary",
607        produces = conjure_http::server::StdResponseSerializer
608    )]
609    async fn get_run_with_data_review_summary(
610        &self,
611        #[auth]
612        auth_: conjure_object::BearerToken,
613        #[path(
614            name = "rid",
615            decoder = conjure_http::server::conjure::FromPlainDecoder,
616            safe
617        )]
618        rid: super::super::super::objects::scout::run::api::RunRid,
619    ) -> Result<
620        super::super::super::objects::scout::run::api::RunWithDataReviewSummary,
621        conjure_http::private::Error,
622    >;
623    /// Fetches a run based on the run number, rather than RID.
624    #[endpoint(
625        method = POST,
626        path = "/scout/v1/run/by-id",
627        name = "getRunById",
628        produces = conjure_http::server::StdResponseSerializer
629    )]
630    async fn get_run_by_id(
631        &self,
632        #[auth]
633        auth_: conjure_object::BearerToken,
634        #[body(
635            deserializer = conjure_http::server::StdRequestDeserializer,
636            log_as = "getRunByIdRequest"
637        )]
638        get_run_by_id_request: super::super::super::objects::scout::run::api::GetRunByIdRequest,
639    ) -> Result<
640        super::super::super::objects::scout::run::api::Run,
641        conjure_http::private::Error,
642    >;
643    /// Fetches a list of run details based on a list of RIDs.
644    #[endpoint(
645        method = POST,
646        path = "/scout/v1/run/multiple",
647        name = "getRuns",
648        produces = conjure_http::server::conjure::CollectionResponseSerializer
649    )]
650    async fn get_runs(
651        &self,
652        #[auth]
653        auth_: conjure_object::BearerToken,
654        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
655        rids: std::collections::BTreeSet<
656            super::super::super::objects::scout::run::api::RunRid,
657        >,
658    ) -> Result<
659        std::collections::BTreeMap<
660            super::super::super::objects::scout::run::api::RunRid,
661            super::super::super::objects::scout::run::api::Run,
662        >,
663        conjure_http::private::Error,
664    >;
665    /// Fetches the runs with the given asset.
666    #[endpoint(
667        method = POST,
668        path = "/scout/v1/run/by-asset",
669        name = "getRunsByAsset",
670        produces = conjure_http::server::StdResponseSerializer
671    )]
672    async fn get_runs_by_asset(
673        &self,
674        #[auth]
675        auth_: conjure_object::BearerToken,
676        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
677        request: super::super::super::objects::scout::run::api::GetRunsByAssetRequest,
678    ) -> Result<
679        super::super::super::objects::scout::run::api::GetRunsByAssetResponse,
680        conjure_http::private::Error,
681    >;
682    /// Fetches the latest run for each requested asset.
683    /// Assets without associated runs will not be included in response.
684    #[endpoint(
685        method = POST,
686        path = "/scout/v1/run/by-assets/latest",
687        name = "getLatestRunForAssets",
688        produces = conjure_http::server::conjure::CollectionResponseSerializer
689    )]
690    async fn get_latest_run_for_assets(
691        &self,
692        #[auth]
693        auth_: conjure_object::BearerToken,
694        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
695        request: std::collections::BTreeSet<
696            super::super::super::objects::scout::rids::api::AssetRid,
697        >,
698    ) -> Result<
699        std::collections::BTreeMap<
700            super::super::super::objects::scout::rids::api::AssetRid,
701            super::super::super::objects::scout::run::api::Run,
702        >,
703        conjure_http::private::Error,
704    >;
705    #[endpoint(
706        method = GET,
707        path = "/scout/v1/all-runs-properties-labels",
708        name = "getAllRunsPropertiesAndLabels",
709        produces = conjure_http::server::StdResponseSerializer
710    )]
711    async fn get_all_runs_properties_and_labels(
712        &self,
713        #[auth]
714        auth_: conjure_object::BearerToken,
715        #[query(
716            name = "workspaces",
717            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
718            safe
719        )]
720        workspaces: std::collections::BTreeSet<
721            super::super::super::objects::api::rids::WorkspaceRid,
722        >,
723    ) -> Result<
724        super::super::super::objects::scout::run::api::AllRunsPropertiesAndLabelsResponse,
725        conjure_http::private::Error,
726    >;
727    /// Searches for runs that match the given filters. Defaults to returning un-archived runs, absent an archive
728    /// filter.
729    #[endpoint(
730        method = POST,
731        path = "/scout/v1/search-runs",
732        name = "searchRuns",
733        produces = conjure_http::server::StdResponseSerializer
734    )]
735    async fn search_runs(
736        &self,
737        #[auth]
738        auth_: conjure_object::BearerToken,
739        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
740        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
741    ) -> Result<
742        super::super::super::objects::scout::run::api::SearchRunsResponse,
743        conjure_http::private::Error,
744    >;
745    /// Searches for runs that match the given filters and
746    /// includes metrics for check and violation review status. Defaults to returning un-archived runs, absent an
747    /// archive filter.
748    #[endpoint(
749        method = POST,
750        path = "/scout/v1/search-runs-with-data-review-metrics",
751        name = "searchRunsWithDataReviewMetrics",
752        produces = conjure_http::server::StdResponseSerializer
753    )]
754    async fn search_runs_with_data_review_metrics(
755        &self,
756        #[auth]
757        auth_: conjure_object::BearerToken,
758        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
759        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
760    ) -> Result<
761        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewMetricsResponse,
762        conjure_http::private::Error,
763    >;
764    /// Searches for runs that match the given filters and includes a summary of the data review status. Defaults to
765    /// returning un-archived runs, absent an archive filter.
766    #[endpoint(
767        method = POST,
768        path = "/scout/v1/search-runs-with-data-review-summary",
769        name = "searchRunsWithDataReviewSummary",
770        produces = conjure_http::server::StdResponseSerializer
771    )]
772    async fn search_runs_with_data_review_summary(
773        &self,
774        #[auth]
775        auth_: conjure_object::BearerToken,
776        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
777        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
778    ) -> Result<
779        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewSummaryResponse,
780        conjure_http::private::Error,
781    >;
782    /// Soft-deletes a run. Runs still exist in the database but are no longer visible.
783    #[endpoint(
784        method = PUT,
785        path = "/scout/v1/archive-run/{rid}",
786        name = "archiveRun",
787        produces = conjure_http::server::StdResponseSerializer
788    )]
789    async fn archive_run(
790        &self,
791        #[auth]
792        auth_: conjure_object::BearerToken,
793        #[path(
794            name = "rid",
795            decoder = conjure_http::server::conjure::FromPlainDecoder,
796            safe
797        )]
798        rid: super::super::super::objects::scout::run::api::RunRid,
799        #[query(
800            name = "includeLinkedWorkbooks",
801            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
802            log_as = "includeLinkedWorkbooks"
803        )]
804        include_linked_workbooks: Option<bool>,
805    ) -> Result<bool, conjure_http::private::Error>;
806    #[endpoint(
807        method = PUT,
808        path = "/scout/v1/unarchive-run/{rid}",
809        name = "unarchiveRun",
810        produces = conjure_http::server::StdResponseSerializer
811    )]
812    async fn unarchive_run(
813        &self,
814        #[auth]
815        auth_: conjure_object::BearerToken,
816        #[path(
817            name = "rid",
818            decoder = conjure_http::server::conjure::FromPlainDecoder,
819            safe
820        )]
821        rid: super::super::super::objects::scout::run::api::RunRid,
822        #[query(
823            name = "includeLinkedWorkbooks",
824            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
825            log_as = "includeLinkedWorkbooks"
826        )]
827        include_linked_workbooks: Option<bool>,
828    ) -> Result<bool, conjure_http::private::Error>;
829    #[endpoint(method = POST, path = "/scout/v1/archive-run", name = "archiveRuns")]
830    async fn archive_runs(
831        &self,
832        #[auth]
833        auth_: conjure_object::BearerToken,
834        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
835        request: super::super::super::objects::scout::run::api::ArchiveRunsRequest,
836    ) -> Result<(), conjure_http::private::Error>;
837    #[endpoint(method = POST, path = "/scout/v1/unarchive-run", name = "unarchiveRuns")]
838    async fn unarchive_runs(
839        &self,
840        #[auth]
841        auth_: conjure_object::BearerToken,
842        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
843        request: super::super::super::objects::scout::run::api::UnarchiveRunsRequest,
844    ) -> Result<(), conjure_http::private::Error>;
845    /// Returns the list of ref names that are in use across specified and authorized workspaces.
846    #[endpoint(
847        method = GET,
848        path = "/scout/v1/data-source-ref-names-and-types",
849        name = "getDataSourceRefNameAndTypeList",
850        produces = conjure_http::server::conjure::CollectionResponseSerializer
851    )]
852    async fn get_data_source_ref_name_and_type_list(
853        &self,
854        #[auth]
855        auth_: conjure_object::BearerToken,
856        #[query(
857            name = "workspaces",
858            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
859            safe
860        )]
861        workspaces: std::collections::BTreeSet<
862            super::super::super::objects::api::rids::WorkspaceRid,
863        >,
864    ) -> Result<
865        Vec<super::super::super::objects::scout::run::api::RefNameAndType>,
866        conjure_http::private::Error,
867    >;
868    /// Updates the attachments associated with a run.
869    #[endpoint(
870        method = POST,
871        path = "/scout/v1/run/{rid}/attachments",
872        name = "updateRunAttachment"
873    )]
874    async fn update_run_attachment(
875        &self,
876        #[auth]
877        auth_: conjure_object::BearerToken,
878        #[path(
879            name = "rid",
880            decoder = conjure_http::server::conjure::FromPlainDecoder,
881            safe
882        )]
883        rid: super::super::super::objects::scout::run::api::RunRid,
884        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
885        request: super::super::super::objects::scout::run::api::UpdateAttachmentsRequest,
886    ) -> Result<(), conjure_http::private::Error>;
887}
888/// Runs are collections of channels and metadata from one or more data sources, synchronized over a
889/// range of real time, which represents a test event or simulation. These API endpoints let you
890/// manage runs in the Nominal app.
891#[conjure_http::conjure_endpoints(
892    name = "RunService",
893    use_legacy_error_serialization,
894    local
895)]
896pub trait LocalAsyncRunService {
897    /// Create a new run in Nominal.
898    ///
899    /// Throws if start is equal to or after end.
900    #[endpoint(
901        method = POST,
902        path = "/scout/v1/run",
903        name = "createRun",
904        produces = conjure_http::server::StdResponseSerializer
905    )]
906    async fn create_run(
907        &self,
908        #[auth]
909        auth_: conjure_object::BearerToken,
910        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
911        details: super::super::super::objects::scout::run::api::CreateRunRequest,
912    ) -> Result<
913        super::super::super::objects::scout::run::api::Run,
914        conjure_http::private::Error,
915    >;
916    /// Updates an existing run based on its RID.
917    ///
918    /// Throws if start is equal to or after end.
919    #[endpoint(
920        method = PUT,
921        path = "/scout/v1/run/{rid}",
922        name = "updateRun",
923        produces = conjure_http::server::StdResponseSerializer
924    )]
925    async fn update_run(
926        &self,
927        #[auth]
928        auth_: conjure_object::BearerToken,
929        #[path(
930            name = "rid",
931            decoder = conjure_http::server::conjure::FromPlainDecoder,
932            safe
933        )]
934        rid: super::super::super::objects::scout::run::api::RunRid,
935        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
936        details: super::super::super::objects::scout::run::api::UpdateRunRequest,
937    ) -> Result<
938        super::super::super::objects::scout::run::api::Run,
939        conjure_http::private::Error,
940    >;
941    /// Batch edits metadata across multiple runs. Supports rename/merge for labels and properties.
942    /// If more than 1000 runs are targeted, this endpoint will throw a 400.
943    #[endpoint(
944        method = POST,
945        path = "/scout/v1/run/metadata/batch-edit",
946        name = "batchEditRunMetadata",
947        produces = conjure_http::server::StdResponseSerializer
948    )]
949    async fn batch_edit_run_metadata(
950        &self,
951        #[auth]
952        auth_: conjure_object::BearerToken,
953        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
954        request: super::super::super::objects::scout::run::api::BatchEditRunMetadataRequest,
955    ) -> Result<
956        super::super::super::objects::scout::run::api::BatchEditRunMetadataResponse,
957        conjure_http::private::Error,
958    >;
959    /// Adds datasources to the run in question.
960    ///
961    /// Throws if any of the ref names conflict with existing data sources or each other.
962    #[endpoint(
963        method = POST,
964        path = "/scout/v1/run/{runRid}/data-sources",
965        name = "addDataSourcesToRun",
966        produces = conjure_http::server::StdResponseSerializer
967    )]
968    async fn add_data_sources_to_run(
969        &self,
970        #[auth]
971        auth_: conjure_object::BearerToken,
972        #[path(
973            name = "runRid",
974            decoder = conjure_http::server::conjure::FromPlainDecoder,
975            log_as = "runRid",
976            safe
977        )]
978        run_rid: super::super::super::objects::scout::run::api::RunRid,
979        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
980        request: std::collections::BTreeMap<
981            super::super::super::objects::scout::api::DataSourceRefName,
982            super::super::super::objects::scout::run::api::CreateRunDataSource,
983        >,
984    ) -> Result<
985        super::super::super::objects::scout::run::api::Run,
986        conjure_http::private::Error,
987    >;
988    /// Updates a run if it exists, otherwise it's created from scratch.
989    /// Will throw if the workspace of an existing run is different from the workspace of the request.
990    #[endpoint(
991        method = POST,
992        path = "/scout/v1/run/create-or-update",
993        name = "createOrUpdateRun",
994        produces = conjure_http::server::StdResponseSerializer
995    )]
996    async fn create_or_update_run(
997        &self,
998        #[auth]
999        auth_: conjure_object::BearerToken,
1000        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1001        details: super::super::super::objects::scout::run::api::CreateOrUpdateRunRequest,
1002    ) -> Result<
1003        super::super::super::objects::scout::run::api::Run,
1004        conjure_http::private::Error,
1005    >;
1006    /// Fetches details about the run in question based on its RID.
1007    #[endpoint(
1008        method = GET,
1009        path = "/scout/v1/run/{rid}",
1010        name = "getRun",
1011        produces = conjure_http::server::StdResponseSerializer
1012    )]
1013    async fn get_run(
1014        &self,
1015        #[auth]
1016        auth_: conjure_object::BearerToken,
1017        #[path(
1018            name = "rid",
1019            decoder = conjure_http::server::conjure::FromPlainDecoder,
1020            safe
1021        )]
1022        rid: super::super::super::objects::scout::run::api::RunRid,
1023    ) -> Result<
1024        super::super::super::objects::scout::run::api::Run,
1025        conjure_http::private::Error,
1026    >;
1027    /// Fetches details about the run in question based on its RID,
1028    /// including metrics for check and violation review status.
1029    #[endpoint(
1030        method = GET,
1031        path = "/scout/v1/run/{rid}/with-data-review-metrics",
1032        name = "getRunWithDataReviewMetrics",
1033        produces = conjure_http::server::StdResponseSerializer
1034    )]
1035    async fn get_run_with_data_review_metrics(
1036        &self,
1037        #[auth]
1038        auth_: conjure_object::BearerToken,
1039        #[path(
1040            name = "rid",
1041            decoder = conjure_http::server::conjure::FromPlainDecoder,
1042            safe
1043        )]
1044        rid: super::super::super::objects::scout::run::api::RunRid,
1045    ) -> Result<
1046        super::super::super::objects::scout::run::api::RunWithDataReviewMetrics,
1047        conjure_http::private::Error,
1048    >;
1049    /// Fetches details about the run in question based on its RID, including a summary of the data review status.
1050    #[endpoint(
1051        method = GET,
1052        path = "/scout/v1/run/{rid}/with-data-review-summary",
1053        name = "getRunWithDataReviewSummary",
1054        produces = conjure_http::server::StdResponseSerializer
1055    )]
1056    async fn get_run_with_data_review_summary(
1057        &self,
1058        #[auth]
1059        auth_: conjure_object::BearerToken,
1060        #[path(
1061            name = "rid",
1062            decoder = conjure_http::server::conjure::FromPlainDecoder,
1063            safe
1064        )]
1065        rid: super::super::super::objects::scout::run::api::RunRid,
1066    ) -> Result<
1067        super::super::super::objects::scout::run::api::RunWithDataReviewSummary,
1068        conjure_http::private::Error,
1069    >;
1070    /// Fetches a run based on the run number, rather than RID.
1071    #[endpoint(
1072        method = POST,
1073        path = "/scout/v1/run/by-id",
1074        name = "getRunById",
1075        produces = conjure_http::server::StdResponseSerializer
1076    )]
1077    async fn get_run_by_id(
1078        &self,
1079        #[auth]
1080        auth_: conjure_object::BearerToken,
1081        #[body(
1082            deserializer = conjure_http::server::StdRequestDeserializer,
1083            log_as = "getRunByIdRequest"
1084        )]
1085        get_run_by_id_request: super::super::super::objects::scout::run::api::GetRunByIdRequest,
1086    ) -> Result<
1087        super::super::super::objects::scout::run::api::Run,
1088        conjure_http::private::Error,
1089    >;
1090    /// Fetches a list of run details based on a list of RIDs.
1091    #[endpoint(
1092        method = POST,
1093        path = "/scout/v1/run/multiple",
1094        name = "getRuns",
1095        produces = conjure_http::server::conjure::CollectionResponseSerializer
1096    )]
1097    async fn get_runs(
1098        &self,
1099        #[auth]
1100        auth_: conjure_object::BearerToken,
1101        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1102        rids: std::collections::BTreeSet<
1103            super::super::super::objects::scout::run::api::RunRid,
1104        >,
1105    ) -> Result<
1106        std::collections::BTreeMap<
1107            super::super::super::objects::scout::run::api::RunRid,
1108            super::super::super::objects::scout::run::api::Run,
1109        >,
1110        conjure_http::private::Error,
1111    >;
1112    /// Fetches the runs with the given asset.
1113    #[endpoint(
1114        method = POST,
1115        path = "/scout/v1/run/by-asset",
1116        name = "getRunsByAsset",
1117        produces = conjure_http::server::StdResponseSerializer
1118    )]
1119    async fn get_runs_by_asset(
1120        &self,
1121        #[auth]
1122        auth_: conjure_object::BearerToken,
1123        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1124        request: super::super::super::objects::scout::run::api::GetRunsByAssetRequest,
1125    ) -> Result<
1126        super::super::super::objects::scout::run::api::GetRunsByAssetResponse,
1127        conjure_http::private::Error,
1128    >;
1129    /// Fetches the latest run for each requested asset.
1130    /// Assets without associated runs will not be included in response.
1131    #[endpoint(
1132        method = POST,
1133        path = "/scout/v1/run/by-assets/latest",
1134        name = "getLatestRunForAssets",
1135        produces = conjure_http::server::conjure::CollectionResponseSerializer
1136    )]
1137    async fn get_latest_run_for_assets(
1138        &self,
1139        #[auth]
1140        auth_: conjure_object::BearerToken,
1141        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1142        request: std::collections::BTreeSet<
1143            super::super::super::objects::scout::rids::api::AssetRid,
1144        >,
1145    ) -> Result<
1146        std::collections::BTreeMap<
1147            super::super::super::objects::scout::rids::api::AssetRid,
1148            super::super::super::objects::scout::run::api::Run,
1149        >,
1150        conjure_http::private::Error,
1151    >;
1152    #[endpoint(
1153        method = GET,
1154        path = "/scout/v1/all-runs-properties-labels",
1155        name = "getAllRunsPropertiesAndLabels",
1156        produces = conjure_http::server::StdResponseSerializer
1157    )]
1158    async fn get_all_runs_properties_and_labels(
1159        &self,
1160        #[auth]
1161        auth_: conjure_object::BearerToken,
1162        #[query(
1163            name = "workspaces",
1164            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
1165            safe
1166        )]
1167        workspaces: std::collections::BTreeSet<
1168            super::super::super::objects::api::rids::WorkspaceRid,
1169        >,
1170    ) -> Result<
1171        super::super::super::objects::scout::run::api::AllRunsPropertiesAndLabelsResponse,
1172        conjure_http::private::Error,
1173    >;
1174    /// Searches for runs that match the given filters. Defaults to returning un-archived runs, absent an archive
1175    /// filter.
1176    #[endpoint(
1177        method = POST,
1178        path = "/scout/v1/search-runs",
1179        name = "searchRuns",
1180        produces = conjure_http::server::StdResponseSerializer
1181    )]
1182    async fn search_runs(
1183        &self,
1184        #[auth]
1185        auth_: conjure_object::BearerToken,
1186        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1187        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
1188    ) -> Result<
1189        super::super::super::objects::scout::run::api::SearchRunsResponse,
1190        conjure_http::private::Error,
1191    >;
1192    /// Searches for runs that match the given filters and
1193    /// includes metrics for check and violation review status. Defaults to returning un-archived runs, absent an
1194    /// archive filter.
1195    #[endpoint(
1196        method = POST,
1197        path = "/scout/v1/search-runs-with-data-review-metrics",
1198        name = "searchRunsWithDataReviewMetrics",
1199        produces = conjure_http::server::StdResponseSerializer
1200    )]
1201    async fn search_runs_with_data_review_metrics(
1202        &self,
1203        #[auth]
1204        auth_: conjure_object::BearerToken,
1205        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1206        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
1207    ) -> Result<
1208        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewMetricsResponse,
1209        conjure_http::private::Error,
1210    >;
1211    /// Searches for runs that match the given filters and includes a summary of the data review status. Defaults to
1212    /// returning un-archived runs, absent an archive filter.
1213    #[endpoint(
1214        method = POST,
1215        path = "/scout/v1/search-runs-with-data-review-summary",
1216        name = "searchRunsWithDataReviewSummary",
1217        produces = conjure_http::server::StdResponseSerializer
1218    )]
1219    async fn search_runs_with_data_review_summary(
1220        &self,
1221        #[auth]
1222        auth_: conjure_object::BearerToken,
1223        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1224        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
1225    ) -> Result<
1226        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewSummaryResponse,
1227        conjure_http::private::Error,
1228    >;
1229    /// Soft-deletes a run. Runs still exist in the database but are no longer visible.
1230    #[endpoint(
1231        method = PUT,
1232        path = "/scout/v1/archive-run/{rid}",
1233        name = "archiveRun",
1234        produces = conjure_http::server::StdResponseSerializer
1235    )]
1236    async fn archive_run(
1237        &self,
1238        #[auth]
1239        auth_: conjure_object::BearerToken,
1240        #[path(
1241            name = "rid",
1242            decoder = conjure_http::server::conjure::FromPlainDecoder,
1243            safe
1244        )]
1245        rid: super::super::super::objects::scout::run::api::RunRid,
1246        #[query(
1247            name = "includeLinkedWorkbooks",
1248            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1249            log_as = "includeLinkedWorkbooks"
1250        )]
1251        include_linked_workbooks: Option<bool>,
1252    ) -> Result<bool, conjure_http::private::Error>;
1253    #[endpoint(
1254        method = PUT,
1255        path = "/scout/v1/unarchive-run/{rid}",
1256        name = "unarchiveRun",
1257        produces = conjure_http::server::StdResponseSerializer
1258    )]
1259    async fn unarchive_run(
1260        &self,
1261        #[auth]
1262        auth_: conjure_object::BearerToken,
1263        #[path(
1264            name = "rid",
1265            decoder = conjure_http::server::conjure::FromPlainDecoder,
1266            safe
1267        )]
1268        rid: super::super::super::objects::scout::run::api::RunRid,
1269        #[query(
1270            name = "includeLinkedWorkbooks",
1271            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1272            log_as = "includeLinkedWorkbooks"
1273        )]
1274        include_linked_workbooks: Option<bool>,
1275    ) -> Result<bool, conjure_http::private::Error>;
1276    #[endpoint(method = POST, path = "/scout/v1/archive-run", name = "archiveRuns")]
1277    async fn archive_runs(
1278        &self,
1279        #[auth]
1280        auth_: conjure_object::BearerToken,
1281        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1282        request: super::super::super::objects::scout::run::api::ArchiveRunsRequest,
1283    ) -> Result<(), conjure_http::private::Error>;
1284    #[endpoint(method = POST, path = "/scout/v1/unarchive-run", name = "unarchiveRuns")]
1285    async fn unarchive_runs(
1286        &self,
1287        #[auth]
1288        auth_: conjure_object::BearerToken,
1289        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1290        request: super::super::super::objects::scout::run::api::UnarchiveRunsRequest,
1291    ) -> Result<(), conjure_http::private::Error>;
1292    /// Returns the list of ref names that are in use across specified and authorized workspaces.
1293    #[endpoint(
1294        method = GET,
1295        path = "/scout/v1/data-source-ref-names-and-types",
1296        name = "getDataSourceRefNameAndTypeList",
1297        produces = conjure_http::server::conjure::CollectionResponseSerializer
1298    )]
1299    async fn get_data_source_ref_name_and_type_list(
1300        &self,
1301        #[auth]
1302        auth_: conjure_object::BearerToken,
1303        #[query(
1304            name = "workspaces",
1305            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
1306            safe
1307        )]
1308        workspaces: std::collections::BTreeSet<
1309            super::super::super::objects::api::rids::WorkspaceRid,
1310        >,
1311    ) -> Result<
1312        Vec<super::super::super::objects::scout::run::api::RefNameAndType>,
1313        conjure_http::private::Error,
1314    >;
1315    /// Updates the attachments associated with a run.
1316    #[endpoint(
1317        method = POST,
1318        path = "/scout/v1/run/{rid}/attachments",
1319        name = "updateRunAttachment"
1320    )]
1321    async fn update_run_attachment(
1322        &self,
1323        #[auth]
1324        auth_: conjure_object::BearerToken,
1325        #[path(
1326            name = "rid",
1327            decoder = conjure_http::server::conjure::FromPlainDecoder,
1328            safe
1329        )]
1330        rid: super::super::super::objects::scout::run::api::RunRid,
1331        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1332        request: super::super::super::objects::scout::run::api::UpdateAttachmentsRequest,
1333    ) -> Result<(), conjure_http::private::Error>;
1334}