Skip to main content

nominal_api/conjure/clients/scout/catalog/
catalog_service.rs

1use conjure_http::endpoint;
2/// The Catalog Service provides the ability to query for information about Datasets that are stored in
3/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
4/// a file, primarily CSV.
5#[conjure_http::conjure_client(name = "CatalogService")]
6pub trait CatalogService<
7    #[response_body]
8    I: Iterator<
9            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
10        >,
11> {
12    #[endpoint(
13        method = GET,
14        path = "/catalog/v1/datasets/{datasetUuid}",
15        name = "getEnrichedDataset",
16        accept = conjure_http::client::StdResponseDeserializer
17    )]
18    fn get_enriched_dataset(
19        &self,
20        #[auth]
21        auth_: &conjure_object::BearerToken,
22        #[path(
23            name = "datasetUuid",
24            encoder = conjure_http::client::conjure::PlainEncoder
25        )]
26        dataset_uuid: conjure_object::Uuid,
27    ) -> Result<
28        super::super::super::super::objects::scout::catalog::EnrichedDataset,
29        conjure_http::private::Error,
30    >;
31    #[endpoint(
32        method = POST,
33        path = "/catalog/v1/datasets/multiple",
34        name = "getEnrichedDatasets",
35        accept = conjure_http::client::conjure::CollectionResponseDeserializer
36    )]
37    fn get_enriched_datasets(
38        &self,
39        #[auth]
40        auth_: &conjure_object::BearerToken,
41        #[body(serializer = conjure_http::client::StdRequestSerializer)]
42        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
43    ) -> Result<
44        std::collections::BTreeSet<
45            super::super::super::super::objects::scout::catalog::EnrichedDataset,
46        >,
47        conjure_http::private::Error,
48    >;
49    #[endpoint(
50        method = GET,
51        path = "/catalog/v1/datasets-simple/{datasetUuid}",
52        name = "getDataset",
53        accept = conjure_http::client::StdResponseDeserializer
54    )]
55    fn get_dataset(
56        &self,
57        #[auth]
58        auth_: &conjure_object::BearerToken,
59        #[path(
60            name = "datasetUuid",
61            encoder = conjure_http::client::conjure::PlainEncoder
62        )]
63        dataset_uuid: conjure_object::Uuid,
64    ) -> Result<
65        super::super::super::super::objects::scout::catalog::Dataset,
66        conjure_http::private::Error,
67    >;
68    #[endpoint(
69        method = POST,
70        path = "/catalog/v1/datasets-simple/multiple",
71        name = "getDatasets",
72        accept = conjure_http::client::conjure::CollectionResponseDeserializer
73    )]
74    fn get_datasets(
75        &self,
76        #[auth]
77        auth_: &conjure_object::BearerToken,
78        #[body(serializer = conjure_http::client::StdRequestSerializer)]
79        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
80    ) -> Result<
81        std::collections::BTreeSet<
82            super::super::super::super::objects::scout::catalog::Dataset,
83        >,
84        conjure_http::private::Error,
85    >;
86    /// Gets the subset of dataset RIDs that currently have external connection config attached.
87    #[endpoint(
88        method = POST,
89        path = "/catalog/v1/datasets-simple/external-config",
90        name = "getDatasetsWithExternalConnectionConfig",
91        accept = conjure_http::client::conjure::CollectionResponseDeserializer
92    )]
93    fn get_datasets_with_external_connection_config(
94        &self,
95        #[auth]
96        auth_: &conjure_object::BearerToken,
97        #[body(serializer = conjure_http::client::StdRequestSerializer)]
98        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
99    ) -> Result<
100        std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
101        conjure_http::private::Error,
102    >;
103    /// Registers or updates external connection configuration for an existing dataset.
104    #[endpoint(
105        method = POST,
106        path = "/catalog/v1/datasets/external-config",
107        name = "registerExternalConnectionConfig",
108        accept = conjure_http::client::StdResponseDeserializer
109    )]
110    fn register_external_connection_config(
111        &self,
112        #[auth]
113        auth_: &conjure_object::BearerToken,
114        #[body(serializer = conjure_http::client::StdRequestSerializer)]
115        request: &super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
116    ) -> Result<
117        super::super::super::super::objects::scout::catalog::EnrichedDataset,
118        conjure_http::private::Error,
119    >;
120    #[endpoint(
121        method = GET,
122        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
123        name = "getDatasetFile",
124        accept = conjure_http::client::StdResponseDeserializer
125    )]
126    fn get_dataset_file(
127        &self,
128        #[auth]
129        auth_: &conjure_object::BearerToken,
130        #[path(
131            name = "datasetRid",
132            encoder = conjure_http::client::conjure::PlainEncoder
133        )]
134        dataset_rid: &conjure_object::ResourceIdentifier,
135        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
136        file_id: super::super::super::super::objects::datasource::DatasetFileId,
137    ) -> Result<
138        super::super::super::super::objects::scout::catalog::DatasetFile,
139        conjure_http::private::Error,
140    >;
141    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
142    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
143    #[endpoint(
144        method = POST,
145        path = "/catalog/v1/dataset-files/batchGet",
146        name = "batchGetDatasetFiles",
147        accept = conjure_http::client::conjure::CollectionResponseDeserializer
148    )]
149    fn batch_get_dataset_files(
150        &self,
151        #[auth]
152        auth_: &conjure_object::BearerToken,
153        #[body(serializer = conjure_http::client::StdRequestSerializer)]
154        request: &super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
155    ) -> Result<
156        std::collections::BTreeMap<
157            super::super::super::super::objects::datasource::DatasetFileId,
158            super::super::super::super::objects::scout::catalog::DatasetFile,
159        >,
160        conjure_http::private::Error,
161    >;
162    #[endpoint(
163        method = GET,
164        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
165        name = "getDatasetFilesForJob",
166        accept = conjure_http::client::StdResponseDeserializer
167    )]
168    fn get_dataset_files_for_job(
169        &self,
170        #[auth]
171        auth_: &conjure_object::BearerToken,
172        #[path(
173            name = "ingestJobRid",
174            encoder = conjure_http::client::conjure::PlainEncoder
175        )]
176        ingest_job_rid: &conjure_object::ResourceIdentifier,
177        #[query(
178            name = "nextPageToken",
179            encoder = conjure_http::client::conjure::PlainSeqEncoder
180        )]
181        next_page_token: Option<&str>,
182    ) -> Result<
183        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
184        conjure_http::private::Error,
185    >;
186    #[endpoint(
187        method = POST,
188        path = "/catalog/v1/search-datasets-v2",
189        name = "searchDatasets",
190        accept = conjure_http::client::StdResponseDeserializer
191    )]
192    fn search_datasets(
193        &self,
194        #[auth]
195        auth_: &conjure_object::BearerToken,
196        #[body(serializer = conjure_http::client::StdRequestSerializer)]
197        request: &super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
198    ) -> Result<
199        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
200        conjure_http::private::Error,
201    >;
202    #[endpoint(
203        method = PUT,
204        path = "/catalog/v1/datasets/ingest-status-v2",
205        name = "updateDatasetIngestStatusV2",
206        accept = conjure_http::client::StdResponseDeserializer
207    )]
208    fn update_dataset_ingest_status_v2(
209        &self,
210        #[auth]
211        auth_: &conjure_object::BearerToken,
212        #[body(serializer = conjure_http::client::StdRequestSerializer)]
213        details: &super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
214    ) -> Result<
215        super::super::super::super::objects::api::IngestStatusV2,
216        conjure_http::private::Error,
217    >;
218    #[endpoint(
219        method = GET,
220        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
221        name = "getIngestProgressV2",
222        accept = conjure_http::client::StdResponseDeserializer
223    )]
224    fn get_ingest_progress_v2(
225        &self,
226        #[auth]
227        auth_: &conjure_object::BearerToken,
228        #[path(
229            name = "datasetRid",
230            encoder = conjure_http::client::conjure::PlainEncoder
231        )]
232        dataset_rid: &conjure_object::ResourceIdentifier,
233    ) -> Result<
234        super::super::super::super::objects::scout::catalog::IngestProgressV2,
235        conjure_http::private::Error,
236    >;
237    #[endpoint(
238        method = GET,
239        path = "/catalog/v1/datasets/{dataset}/handle",
240        name = "getHandleForDataset",
241        accept = conjure_http::client::conjure::CollectionResponseDeserializer
242    )]
243    fn get_handle_for_dataset(
244        &self,
245        #[auth]
246        auth_: &conjure_object::BearerToken,
247        #[path(name = "dataset", encoder = conjure_http::client::conjure::PlainEncoder)]
248        dataset: conjure_object::Uuid,
249    ) -> Result<
250        Option<super::super::super::super::objects::scout::catalog::Handle>,
251        conjure_http::private::Error,
252    >;
253    #[endpoint(
254        method = POST,
255        path = "/catalog/v1/datasets",
256        name = "createDataset",
257        accept = conjure_http::client::StdResponseDeserializer
258    )]
259    fn create_dataset(
260        &self,
261        #[auth]
262        auth_: &conjure_object::BearerToken,
263        #[body(serializer = conjure_http::client::StdRequestSerializer)]
264        details: &super::super::super::super::objects::scout::catalog::CreateDataset,
265    ) -> Result<
266        super::super::super::super::objects::scout::catalog::EnrichedDataset,
267        conjure_http::private::Error,
268    >;
269    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
270    #[endpoint(
271        method = POST,
272        path = "/catalog/v1/datasets/create-or-update",
273        name = "createOrUpdateDataset",
274        accept = conjure_http::client::StdResponseDeserializer
275    )]
276    fn create_or_update_dataset(
277        &self,
278        #[auth]
279        auth_: &conjure_object::BearerToken,
280        #[body(serializer = conjure_http::client::StdRequestSerializer)]
281        details: &super::super::super::super::objects::scout::catalog::CreateDataset,
282    ) -> Result<
283        super::super::super::super::objects::scout::catalog::EnrichedDataset,
284        conjure_http::private::Error,
285    >;
286    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
287    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
288    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
289    #[endpoint(
290        method = POST,
291        path = "/catalog/v1/datasets/with-uuid",
292        name = "createDatasetWithUuid",
293        accept = conjure_http::client::StdResponseDeserializer
294    )]
295    fn create_dataset_with_uuid(
296        &self,
297        #[auth]
298        auth_: &conjure_object::BearerToken,
299        #[body(serializer = conjure_http::client::StdRequestSerializer)]
300        request: &super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
301    ) -> Result<
302        super::super::super::super::objects::scout::catalog::EnrichedDataset,
303        conjure_http::private::Error,
304    >;
305    /// Adds a single file to an existing dataset.
306    #[endpoint(
307        method = POST,
308        path = "/catalog/v1/datasets/{datasetRid}/add-file",
309        name = "addFileToDataset",
310        accept = conjure_http::client::StdResponseDeserializer
311    )]
312    fn add_file_to_dataset(
313        &self,
314        #[auth]
315        auth_: &conjure_object::BearerToken,
316        #[path(
317            name = "datasetRid",
318            encoder = conjure_http::client::conjure::PlainEncoder
319        )]
320        dataset_rid: &conjure_object::ResourceIdentifier,
321        #[body(serializer = conjure_http::client::StdRequestSerializer)]
322        request: &super::super::super::super::objects::scout::catalog::AddFileToDataset,
323    ) -> Result<
324        super::super::super::super::objects::scout::catalog::DatasetFile,
325        conjure_http::private::Error,
326    >;
327    #[endpoint(
328        method = GET,
329        path = "/catalog/v1/datasets/{datasetRid}/files",
330        name = "listDatasetFiles",
331        accept = conjure_http::client::StdResponseDeserializer
332    )]
333    fn list_dataset_files(
334        &self,
335        #[auth]
336        auth_: &conjure_object::BearerToken,
337        #[path(
338            name = "datasetRid",
339            encoder = conjure_http::client::conjure::PlainEncoder
340        )]
341        dataset_rid: &conjure_object::ResourceIdentifier,
342        #[query(
343            name = "nextPageToken",
344            encoder = conjure_http::client::conjure::PlainSeqEncoder
345        )]
346        next_page_token: Option<&str>,
347    ) -> Result<
348        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
349        conjure_http::private::Error,
350    >;
351    #[endpoint(
352        method = POST,
353        path = "/catalog/v1/search-dataset-files",
354        name = "searchDatasetFiles",
355        accept = conjure_http::client::StdResponseDeserializer
356    )]
357    fn search_dataset_files(
358        &self,
359        #[auth]
360        auth_: &conjure_object::BearerToken,
361        #[body(serializer = conjure_http::client::StdRequestSerializer)]
362        request: &super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
363    ) -> Result<
364        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
365        conjure_http::private::Error,
366    >;
367    #[endpoint(
368        method = GET,
369        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
370        name = "getDatasetFileUri",
371        accept = conjure_http::client::StdResponseDeserializer
372    )]
373    fn get_dataset_file_uri(
374        &self,
375        #[auth]
376        auth_: &conjure_object::BearerToken,
377        #[path(
378            name = "datasetRid",
379            encoder = conjure_http::client::conjure::PlainEncoder
380        )]
381        dataset_rid: &conjure_object::ResourceIdentifier,
382        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
383        file_id: super::super::super::super::objects::datasource::DatasetFileId,
384    ) -> Result<
385        super::super::super::super::objects::scout::catalog::DatasetFileUri,
386        conjure_http::private::Error,
387    >;
388    #[endpoint(
389        method = GET,
390        path = "/catalog/v1/videos/{videoFileRid}/uri",
391        name = "getVideoFileUri",
392        accept = conjure_http::client::StdResponseDeserializer
393    )]
394    fn get_video_file_uri(
395        &self,
396        #[auth]
397        auth_: &conjure_object::BearerToken,
398        #[path(
399            name = "videoFileRid",
400            encoder = conjure_http::client::conjure::PlainEncoder
401        )]
402        video_file_rid: &conjure_object::ResourceIdentifier,
403    ) -> Result<
404        super::super::super::super::objects::scout::catalog::VideoFileUri,
405        conjure_http::private::Error,
406    >;
407    #[endpoint(
408        method = GET,
409        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
410        name = "getOriginFileUris",
411        accept = conjure_http::client::conjure::CollectionResponseDeserializer
412    )]
413    fn get_origin_file_uris(
414        &self,
415        #[auth]
416        auth_: &conjure_object::BearerToken,
417        #[path(
418            name = "datasetRid",
419            encoder = conjure_http::client::conjure::PlainEncoder
420        )]
421        dataset_rid: &conjure_object::ResourceIdentifier,
422        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
423        file_id: super::super::super::super::objects::datasource::DatasetFileId,
424    ) -> Result<
425        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
426        conjure_http::private::Error,
427    >;
428    #[endpoint(
429        method = PUT,
430        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
431        name = "markFileIngestSuccessful",
432        accept = conjure_http::client::StdResponseDeserializer
433    )]
434    fn mark_file_ingest_successful(
435        &self,
436        #[auth]
437        auth_: &conjure_object::BearerToken,
438        #[path(
439            name = "datasetRid",
440            encoder = conjure_http::client::conjure::PlainEncoder
441        )]
442        dataset_rid: &conjure_object::ResourceIdentifier,
443        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
444        file_id: super::super::super::super::objects::datasource::DatasetFileId,
445        #[body(serializer = conjure_http::client::StdRequestSerializer)]
446        request: &super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
447    ) -> Result<
448        super::super::super::super::objects::scout::catalog::DatasetFile,
449        conjure_http::private::Error,
450    >;
451    #[endpoint(
452        method = PUT,
453        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
454        name = "markFileIngestError",
455        accept = conjure_http::client::StdResponseDeserializer
456    )]
457    fn mark_file_ingest_error(
458        &self,
459        #[auth]
460        auth_: &conjure_object::BearerToken,
461        #[path(
462            name = "datasetRid",
463            encoder = conjure_http::client::conjure::PlainEncoder
464        )]
465        dataset_rid: &conjure_object::ResourceIdentifier,
466        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
467        file_id: super::super::super::super::objects::datasource::DatasetFileId,
468        #[body(serializer = conjure_http::client::StdRequestSerializer)]
469        request: &super::super::super::super::objects::scout::catalog::MarkFileIngestError,
470    ) -> Result<
471        super::super::super::super::objects::scout::catalog::DatasetFile,
472        conjure_http::private::Error,
473    >;
474    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
475    /// after video segmentation is complete.
476    #[endpoint(
477        method = PUT,
478        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
479        name = "updateDatasetFileMetadata",
480        accept = conjure_http::client::StdResponseDeserializer
481    )]
482    fn update_dataset_file_metadata(
483        &self,
484        #[auth]
485        auth_: &conjure_object::BearerToken,
486        #[path(
487            name = "datasetRid",
488            encoder = conjure_http::client::conjure::PlainEncoder
489        )]
490        dataset_rid: &conjure_object::ResourceIdentifier,
491        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
492        file_id: super::super::super::super::objects::datasource::DatasetFileId,
493        #[body(serializer = conjure_http::client::StdRequestSerializer)]
494        metadata: &super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
495    ) -> Result<
496        super::super::super::super::objects::scout::catalog::DatasetFile,
497        conjure_http::private::Error,
498    >;
499    #[endpoint(
500        method = PUT,
501        path = "/catalog/v1/datasets/{datasetRid}",
502        name = "updateDatasetMetadata",
503        accept = conjure_http::client::StdResponseDeserializer
504    )]
505    fn update_dataset_metadata(
506        &self,
507        #[auth]
508        auth_: &conjure_object::BearerToken,
509        #[path(
510            name = "datasetRid",
511            encoder = conjure_http::client::conjure::PlainEncoder
512        )]
513        dataset_rid: &conjure_object::ResourceIdentifier,
514        #[body(serializer = conjure_http::client::StdRequestSerializer)]
515        request: &super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
516    ) -> Result<
517        super::super::super::super::objects::scout::catalog::EnrichedDataset,
518        conjure_http::private::Error,
519    >;
520    /// Returns a versioned derived definition. If commit is omitted, returns the latest commit on main.
521    #[endpoint(
522        method = GET,
523        path = "/catalog/v1/datasets/{datasetRid}/derived-definition",
524        name = "getDatasetDerivedDefinition",
525        accept = conjure_http::client::StdResponseDeserializer
526    )]
527    fn get_dataset_derived_definition(
528        &self,
529        #[auth]
530        auth_: &conjure_object::BearerToken,
531        #[path(
532            name = "datasetRid",
533            encoder = conjure_http::client::conjure::PlainEncoder
534        )]
535        dataset_rid: &conjure_object::ResourceIdentifier,
536        #[query(
537            name = "commit",
538            encoder = conjure_http::client::conjure::PlainSeqEncoder
539        )]
540        commit: Option<
541            &super::super::super::super::objects::scout::versioning::api::CommitId,
542        >,
543    ) -> Result<
544        super::super::super::super::objects::scout::catalog::DerivedDefinition,
545        conjure_http::private::Error,
546    >;
547    /// Replaces the current derived definition by creating a permanent commit on main.
548    /// Throws if the dataset is not derived, if referenced datasets are unauthorized, or if latestCommit is stale.
549    #[endpoint(
550        method = POST,
551        path = "/catalog/v1/datasets/{datasetRid}/derived-definition/commit",
552        name = "commitDerivedDefinition",
553        accept = conjure_http::client::StdResponseDeserializer
554    )]
555    fn commit_derived_definition(
556        &self,
557        #[auth]
558        auth_: &conjure_object::BearerToken,
559        #[path(
560            name = "datasetRid",
561            encoder = conjure_http::client::conjure::PlainEncoder
562        )]
563        dataset_rid: &conjure_object::ResourceIdentifier,
564        #[body(serializer = conjure_http::client::StdRequestSerializer)]
565        request: &super::super::super::super::objects::scout::catalog::CommitDerivedDefinitionRequest,
566    ) -> Result<
567        super::super::super::super::objects::scout::catalog::DerivedDefinition,
568        conjure_http::private::Error,
569    >;
570    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
571    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
572    /// the bounds will be min(current start, request start), max(current end, request end).
573    #[endpoint(
574        method = PUT,
575        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
576        name = "updateGlobalDatasetBounds",
577        accept = conjure_http::client::StdResponseDeserializer
578    )]
579    fn update_global_dataset_bounds(
580        &self,
581        #[auth]
582        auth_: &conjure_object::BearerToken,
583        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
584        rid: &conjure_object::ResourceIdentifier,
585        #[body(serializer = conjure_http::client::StdRequestSerializer)]
586        request: &super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
587    ) -> Result<
588        super::super::super::super::objects::scout::catalog::Dataset,
589        conjure_http::private::Error,
590    >;
591    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
592    /// dataset can still be directly accessed by its UUID/rid.
593    #[endpoint(
594        method = POST,
595        path = "/catalog/v1/datasets/{datasetRid}/archive",
596        name = "archiveDataset",
597        accept = conjure_http::client::conjure::EmptyResponseDeserializer
598    )]
599    fn archive_dataset(
600        &self,
601        #[auth]
602        auth_: &conjure_object::BearerToken,
603        #[path(
604            name = "datasetRid",
605            encoder = conjure_http::client::conjure::PlainEncoder
606        )]
607        dataset_rid: &conjure_object::ResourceIdentifier,
608    ) -> Result<(), conjure_http::private::Error>;
609    /// Undoes the archiving of a dataset.
610    #[endpoint(
611        method = POST,
612        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
613        name = "unarchiveDataset",
614        accept = conjure_http::client::conjure::EmptyResponseDeserializer
615    )]
616    fn unarchive_dataset(
617        &self,
618        #[auth]
619        auth_: &conjure_object::BearerToken,
620        #[path(
621            name = "datasetRid",
622            encoder = conjure_http::client::conjure::PlainEncoder
623        )]
624        dataset_rid: &conjure_object::ResourceIdentifier,
625    ) -> Result<(), conjure_http::private::Error>;
626    #[endpoint(
627        method = GET,
628        path = "/catalog/v1/datasets/all-properties-labels",
629        name = "getAllPropertiesAndLabels",
630        accept = conjure_http::client::StdResponseDeserializer
631    )]
632    fn get_all_properties_and_labels(
633        &self,
634        #[auth]
635        auth_: &conjure_object::BearerToken,
636        #[query(
637            name = "workspaces",
638            encoder = conjure_http::client::conjure::PlainSeqEncoder
639        )]
640        workspaces: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
641    ) -> Result<
642        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
643        conjure_http::private::Error,
644    >;
645    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
646    #[endpoint(
647        method = GET,
648        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
649        name = "getLogDatasetForWorkspace",
650        accept = conjure_http::client::conjure::CollectionResponseDeserializer
651    )]
652    fn get_log_dataset_for_workspace(
653        &self,
654        #[auth]
655        auth_: &conjure_object::BearerToken,
656        #[path(
657            name = "workspaceRid",
658            encoder = conjure_http::client::conjure::PlainEncoder
659        )]
660        workspace_rid: &conjure_object::ResourceIdentifier,
661    ) -> Result<
662        Option<conjure_object::ResourceIdentifier>,
663        conjure_http::private::Error,
664    >;
665}
666/// The Catalog Service provides the ability to query for information about Datasets that are stored in
667/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
668/// a file, primarily CSV.
669#[conjure_http::conjure_client(name = "CatalogService")]
670pub trait AsyncCatalogService<
671    #[response_body]
672    I: conjure_http::private::Stream<
673            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
674        >,
675> {
676    #[endpoint(
677        method = GET,
678        path = "/catalog/v1/datasets/{datasetUuid}",
679        name = "getEnrichedDataset",
680        accept = conjure_http::client::StdResponseDeserializer
681    )]
682    async fn get_enriched_dataset(
683        &self,
684        #[auth]
685        auth_: &conjure_object::BearerToken,
686        #[path(
687            name = "datasetUuid",
688            encoder = conjure_http::client::conjure::PlainEncoder
689        )]
690        dataset_uuid: conjure_object::Uuid,
691    ) -> Result<
692        super::super::super::super::objects::scout::catalog::EnrichedDataset,
693        conjure_http::private::Error,
694    >;
695    #[endpoint(
696        method = POST,
697        path = "/catalog/v1/datasets/multiple",
698        name = "getEnrichedDatasets",
699        accept = conjure_http::client::conjure::CollectionResponseDeserializer
700    )]
701    async fn get_enriched_datasets(
702        &self,
703        #[auth]
704        auth_: &conjure_object::BearerToken,
705        #[body(serializer = conjure_http::client::StdRequestSerializer)]
706        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
707    ) -> Result<
708        std::collections::BTreeSet<
709            super::super::super::super::objects::scout::catalog::EnrichedDataset,
710        >,
711        conjure_http::private::Error,
712    >;
713    #[endpoint(
714        method = GET,
715        path = "/catalog/v1/datasets-simple/{datasetUuid}",
716        name = "getDataset",
717        accept = conjure_http::client::StdResponseDeserializer
718    )]
719    async fn get_dataset(
720        &self,
721        #[auth]
722        auth_: &conjure_object::BearerToken,
723        #[path(
724            name = "datasetUuid",
725            encoder = conjure_http::client::conjure::PlainEncoder
726        )]
727        dataset_uuid: conjure_object::Uuid,
728    ) -> Result<
729        super::super::super::super::objects::scout::catalog::Dataset,
730        conjure_http::private::Error,
731    >;
732    #[endpoint(
733        method = POST,
734        path = "/catalog/v1/datasets-simple/multiple",
735        name = "getDatasets",
736        accept = conjure_http::client::conjure::CollectionResponseDeserializer
737    )]
738    async fn get_datasets(
739        &self,
740        #[auth]
741        auth_: &conjure_object::BearerToken,
742        #[body(serializer = conjure_http::client::StdRequestSerializer)]
743        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
744    ) -> Result<
745        std::collections::BTreeSet<
746            super::super::super::super::objects::scout::catalog::Dataset,
747        >,
748        conjure_http::private::Error,
749    >;
750    /// Gets the subset of dataset RIDs that currently have external connection config attached.
751    #[endpoint(
752        method = POST,
753        path = "/catalog/v1/datasets-simple/external-config",
754        name = "getDatasetsWithExternalConnectionConfig",
755        accept = conjure_http::client::conjure::CollectionResponseDeserializer
756    )]
757    async fn get_datasets_with_external_connection_config(
758        &self,
759        #[auth]
760        auth_: &conjure_object::BearerToken,
761        #[body(serializer = conjure_http::client::StdRequestSerializer)]
762        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
763    ) -> Result<
764        std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
765        conjure_http::private::Error,
766    >;
767    /// Registers or updates external connection configuration for an existing dataset.
768    #[endpoint(
769        method = POST,
770        path = "/catalog/v1/datasets/external-config",
771        name = "registerExternalConnectionConfig",
772        accept = conjure_http::client::StdResponseDeserializer
773    )]
774    async fn register_external_connection_config(
775        &self,
776        #[auth]
777        auth_: &conjure_object::BearerToken,
778        #[body(serializer = conjure_http::client::StdRequestSerializer)]
779        request: &super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
780    ) -> Result<
781        super::super::super::super::objects::scout::catalog::EnrichedDataset,
782        conjure_http::private::Error,
783    >;
784    #[endpoint(
785        method = GET,
786        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
787        name = "getDatasetFile",
788        accept = conjure_http::client::StdResponseDeserializer
789    )]
790    async fn get_dataset_file(
791        &self,
792        #[auth]
793        auth_: &conjure_object::BearerToken,
794        #[path(
795            name = "datasetRid",
796            encoder = conjure_http::client::conjure::PlainEncoder
797        )]
798        dataset_rid: &conjure_object::ResourceIdentifier,
799        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
800        file_id: super::super::super::super::objects::datasource::DatasetFileId,
801    ) -> Result<
802        super::super::super::super::objects::scout::catalog::DatasetFile,
803        conjure_http::private::Error,
804    >;
805    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
806    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
807    #[endpoint(
808        method = POST,
809        path = "/catalog/v1/dataset-files/batchGet",
810        name = "batchGetDatasetFiles",
811        accept = conjure_http::client::conjure::CollectionResponseDeserializer
812    )]
813    async fn batch_get_dataset_files(
814        &self,
815        #[auth]
816        auth_: &conjure_object::BearerToken,
817        #[body(serializer = conjure_http::client::StdRequestSerializer)]
818        request: &super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
819    ) -> Result<
820        std::collections::BTreeMap<
821            super::super::super::super::objects::datasource::DatasetFileId,
822            super::super::super::super::objects::scout::catalog::DatasetFile,
823        >,
824        conjure_http::private::Error,
825    >;
826    #[endpoint(
827        method = GET,
828        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
829        name = "getDatasetFilesForJob",
830        accept = conjure_http::client::StdResponseDeserializer
831    )]
832    async fn get_dataset_files_for_job(
833        &self,
834        #[auth]
835        auth_: &conjure_object::BearerToken,
836        #[path(
837            name = "ingestJobRid",
838            encoder = conjure_http::client::conjure::PlainEncoder
839        )]
840        ingest_job_rid: &conjure_object::ResourceIdentifier,
841        #[query(
842            name = "nextPageToken",
843            encoder = conjure_http::client::conjure::PlainSeqEncoder
844        )]
845        next_page_token: Option<&str>,
846    ) -> Result<
847        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
848        conjure_http::private::Error,
849    >;
850    #[endpoint(
851        method = POST,
852        path = "/catalog/v1/search-datasets-v2",
853        name = "searchDatasets",
854        accept = conjure_http::client::StdResponseDeserializer
855    )]
856    async fn search_datasets(
857        &self,
858        #[auth]
859        auth_: &conjure_object::BearerToken,
860        #[body(serializer = conjure_http::client::StdRequestSerializer)]
861        request: &super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
862    ) -> Result<
863        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
864        conjure_http::private::Error,
865    >;
866    #[endpoint(
867        method = PUT,
868        path = "/catalog/v1/datasets/ingest-status-v2",
869        name = "updateDatasetIngestStatusV2",
870        accept = conjure_http::client::StdResponseDeserializer
871    )]
872    async fn update_dataset_ingest_status_v2(
873        &self,
874        #[auth]
875        auth_: &conjure_object::BearerToken,
876        #[body(serializer = conjure_http::client::StdRequestSerializer)]
877        details: &super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
878    ) -> Result<
879        super::super::super::super::objects::api::IngestStatusV2,
880        conjure_http::private::Error,
881    >;
882    #[endpoint(
883        method = GET,
884        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
885        name = "getIngestProgressV2",
886        accept = conjure_http::client::StdResponseDeserializer
887    )]
888    async fn get_ingest_progress_v2(
889        &self,
890        #[auth]
891        auth_: &conjure_object::BearerToken,
892        #[path(
893            name = "datasetRid",
894            encoder = conjure_http::client::conjure::PlainEncoder
895        )]
896        dataset_rid: &conjure_object::ResourceIdentifier,
897    ) -> Result<
898        super::super::super::super::objects::scout::catalog::IngestProgressV2,
899        conjure_http::private::Error,
900    >;
901    #[endpoint(
902        method = GET,
903        path = "/catalog/v1/datasets/{dataset}/handle",
904        name = "getHandleForDataset",
905        accept = conjure_http::client::conjure::CollectionResponseDeserializer
906    )]
907    async fn get_handle_for_dataset(
908        &self,
909        #[auth]
910        auth_: &conjure_object::BearerToken,
911        #[path(name = "dataset", encoder = conjure_http::client::conjure::PlainEncoder)]
912        dataset: conjure_object::Uuid,
913    ) -> Result<
914        Option<super::super::super::super::objects::scout::catalog::Handle>,
915        conjure_http::private::Error,
916    >;
917    #[endpoint(
918        method = POST,
919        path = "/catalog/v1/datasets",
920        name = "createDataset",
921        accept = conjure_http::client::StdResponseDeserializer
922    )]
923    async fn create_dataset(
924        &self,
925        #[auth]
926        auth_: &conjure_object::BearerToken,
927        #[body(serializer = conjure_http::client::StdRequestSerializer)]
928        details: &super::super::super::super::objects::scout::catalog::CreateDataset,
929    ) -> Result<
930        super::super::super::super::objects::scout::catalog::EnrichedDataset,
931        conjure_http::private::Error,
932    >;
933    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
934    #[endpoint(
935        method = POST,
936        path = "/catalog/v1/datasets/create-or-update",
937        name = "createOrUpdateDataset",
938        accept = conjure_http::client::StdResponseDeserializer
939    )]
940    async fn create_or_update_dataset(
941        &self,
942        #[auth]
943        auth_: &conjure_object::BearerToken,
944        #[body(serializer = conjure_http::client::StdRequestSerializer)]
945        details: &super::super::super::super::objects::scout::catalog::CreateDataset,
946    ) -> Result<
947        super::super::super::super::objects::scout::catalog::EnrichedDataset,
948        conjure_http::private::Error,
949    >;
950    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
951    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
952    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
953    #[endpoint(
954        method = POST,
955        path = "/catalog/v1/datasets/with-uuid",
956        name = "createDatasetWithUuid",
957        accept = conjure_http::client::StdResponseDeserializer
958    )]
959    async fn create_dataset_with_uuid(
960        &self,
961        #[auth]
962        auth_: &conjure_object::BearerToken,
963        #[body(serializer = conjure_http::client::StdRequestSerializer)]
964        request: &super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
965    ) -> Result<
966        super::super::super::super::objects::scout::catalog::EnrichedDataset,
967        conjure_http::private::Error,
968    >;
969    /// Adds a single file to an existing dataset.
970    #[endpoint(
971        method = POST,
972        path = "/catalog/v1/datasets/{datasetRid}/add-file",
973        name = "addFileToDataset",
974        accept = conjure_http::client::StdResponseDeserializer
975    )]
976    async fn add_file_to_dataset(
977        &self,
978        #[auth]
979        auth_: &conjure_object::BearerToken,
980        #[path(
981            name = "datasetRid",
982            encoder = conjure_http::client::conjure::PlainEncoder
983        )]
984        dataset_rid: &conjure_object::ResourceIdentifier,
985        #[body(serializer = conjure_http::client::StdRequestSerializer)]
986        request: &super::super::super::super::objects::scout::catalog::AddFileToDataset,
987    ) -> Result<
988        super::super::super::super::objects::scout::catalog::DatasetFile,
989        conjure_http::private::Error,
990    >;
991    #[endpoint(
992        method = GET,
993        path = "/catalog/v1/datasets/{datasetRid}/files",
994        name = "listDatasetFiles",
995        accept = conjure_http::client::StdResponseDeserializer
996    )]
997    async fn list_dataset_files(
998        &self,
999        #[auth]
1000        auth_: &conjure_object::BearerToken,
1001        #[path(
1002            name = "datasetRid",
1003            encoder = conjure_http::client::conjure::PlainEncoder
1004        )]
1005        dataset_rid: &conjure_object::ResourceIdentifier,
1006        #[query(
1007            name = "nextPageToken",
1008            encoder = conjure_http::client::conjure::PlainSeqEncoder
1009        )]
1010        next_page_token: Option<&str>,
1011    ) -> Result<
1012        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1013        conjure_http::private::Error,
1014    >;
1015    #[endpoint(
1016        method = POST,
1017        path = "/catalog/v1/search-dataset-files",
1018        name = "searchDatasetFiles",
1019        accept = conjure_http::client::StdResponseDeserializer
1020    )]
1021    async fn search_dataset_files(
1022        &self,
1023        #[auth]
1024        auth_: &conjure_object::BearerToken,
1025        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1026        request: &super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
1027    ) -> Result<
1028        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
1029        conjure_http::private::Error,
1030    >;
1031    #[endpoint(
1032        method = GET,
1033        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
1034        name = "getDatasetFileUri",
1035        accept = conjure_http::client::StdResponseDeserializer
1036    )]
1037    async fn get_dataset_file_uri(
1038        &self,
1039        #[auth]
1040        auth_: &conjure_object::BearerToken,
1041        #[path(
1042            name = "datasetRid",
1043            encoder = conjure_http::client::conjure::PlainEncoder
1044        )]
1045        dataset_rid: &conjure_object::ResourceIdentifier,
1046        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1047        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1048    ) -> Result<
1049        super::super::super::super::objects::scout::catalog::DatasetFileUri,
1050        conjure_http::private::Error,
1051    >;
1052    #[endpoint(
1053        method = GET,
1054        path = "/catalog/v1/videos/{videoFileRid}/uri",
1055        name = "getVideoFileUri",
1056        accept = conjure_http::client::StdResponseDeserializer
1057    )]
1058    async fn get_video_file_uri(
1059        &self,
1060        #[auth]
1061        auth_: &conjure_object::BearerToken,
1062        #[path(
1063            name = "videoFileRid",
1064            encoder = conjure_http::client::conjure::PlainEncoder
1065        )]
1066        video_file_rid: &conjure_object::ResourceIdentifier,
1067    ) -> Result<
1068        super::super::super::super::objects::scout::catalog::VideoFileUri,
1069        conjure_http::private::Error,
1070    >;
1071    #[endpoint(
1072        method = GET,
1073        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
1074        name = "getOriginFileUris",
1075        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1076    )]
1077    async fn get_origin_file_uris(
1078        &self,
1079        #[auth]
1080        auth_: &conjure_object::BearerToken,
1081        #[path(
1082            name = "datasetRid",
1083            encoder = conjure_http::client::conjure::PlainEncoder
1084        )]
1085        dataset_rid: &conjure_object::ResourceIdentifier,
1086        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1087        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1088    ) -> Result<
1089        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
1090        conjure_http::private::Error,
1091    >;
1092    #[endpoint(
1093        method = PUT,
1094        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
1095        name = "markFileIngestSuccessful",
1096        accept = conjure_http::client::StdResponseDeserializer
1097    )]
1098    async fn mark_file_ingest_successful(
1099        &self,
1100        #[auth]
1101        auth_: &conjure_object::BearerToken,
1102        #[path(
1103            name = "datasetRid",
1104            encoder = conjure_http::client::conjure::PlainEncoder
1105        )]
1106        dataset_rid: &conjure_object::ResourceIdentifier,
1107        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1108        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1109        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1110        request: &super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
1111    ) -> Result<
1112        super::super::super::super::objects::scout::catalog::DatasetFile,
1113        conjure_http::private::Error,
1114    >;
1115    #[endpoint(
1116        method = PUT,
1117        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
1118        name = "markFileIngestError",
1119        accept = conjure_http::client::StdResponseDeserializer
1120    )]
1121    async fn mark_file_ingest_error(
1122        &self,
1123        #[auth]
1124        auth_: &conjure_object::BearerToken,
1125        #[path(
1126            name = "datasetRid",
1127            encoder = conjure_http::client::conjure::PlainEncoder
1128        )]
1129        dataset_rid: &conjure_object::ResourceIdentifier,
1130        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1131        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1132        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1133        request: &super::super::super::super::objects::scout::catalog::MarkFileIngestError,
1134    ) -> Result<
1135        super::super::super::super::objects::scout::catalog::DatasetFile,
1136        conjure_http::private::Error,
1137    >;
1138    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
1139    /// after video segmentation is complete.
1140    #[endpoint(
1141        method = PUT,
1142        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
1143        name = "updateDatasetFileMetadata",
1144        accept = conjure_http::client::StdResponseDeserializer
1145    )]
1146    async fn update_dataset_file_metadata(
1147        &self,
1148        #[auth]
1149        auth_: &conjure_object::BearerToken,
1150        #[path(
1151            name = "datasetRid",
1152            encoder = conjure_http::client::conjure::PlainEncoder
1153        )]
1154        dataset_rid: &conjure_object::ResourceIdentifier,
1155        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1156        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1157        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1158        metadata: &super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
1159    ) -> Result<
1160        super::super::super::super::objects::scout::catalog::DatasetFile,
1161        conjure_http::private::Error,
1162    >;
1163    #[endpoint(
1164        method = PUT,
1165        path = "/catalog/v1/datasets/{datasetRid}",
1166        name = "updateDatasetMetadata",
1167        accept = conjure_http::client::StdResponseDeserializer
1168    )]
1169    async fn update_dataset_metadata(
1170        &self,
1171        #[auth]
1172        auth_: &conjure_object::BearerToken,
1173        #[path(
1174            name = "datasetRid",
1175            encoder = conjure_http::client::conjure::PlainEncoder
1176        )]
1177        dataset_rid: &conjure_object::ResourceIdentifier,
1178        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1179        request: &super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
1180    ) -> Result<
1181        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1182        conjure_http::private::Error,
1183    >;
1184    /// Returns a versioned derived definition. If commit is omitted, returns the latest commit on main.
1185    #[endpoint(
1186        method = GET,
1187        path = "/catalog/v1/datasets/{datasetRid}/derived-definition",
1188        name = "getDatasetDerivedDefinition",
1189        accept = conjure_http::client::StdResponseDeserializer
1190    )]
1191    async fn get_dataset_derived_definition(
1192        &self,
1193        #[auth]
1194        auth_: &conjure_object::BearerToken,
1195        #[path(
1196            name = "datasetRid",
1197            encoder = conjure_http::client::conjure::PlainEncoder
1198        )]
1199        dataset_rid: &conjure_object::ResourceIdentifier,
1200        #[query(
1201            name = "commit",
1202            encoder = conjure_http::client::conjure::PlainSeqEncoder
1203        )]
1204        commit: Option<
1205            &super::super::super::super::objects::scout::versioning::api::CommitId,
1206        >,
1207    ) -> Result<
1208        super::super::super::super::objects::scout::catalog::DerivedDefinition,
1209        conjure_http::private::Error,
1210    >;
1211    /// Replaces the current derived definition by creating a permanent commit on main.
1212    /// Throws if the dataset is not derived, if referenced datasets are unauthorized, or if latestCommit is stale.
1213    #[endpoint(
1214        method = POST,
1215        path = "/catalog/v1/datasets/{datasetRid}/derived-definition/commit",
1216        name = "commitDerivedDefinition",
1217        accept = conjure_http::client::StdResponseDeserializer
1218    )]
1219    async fn commit_derived_definition(
1220        &self,
1221        #[auth]
1222        auth_: &conjure_object::BearerToken,
1223        #[path(
1224            name = "datasetRid",
1225            encoder = conjure_http::client::conjure::PlainEncoder
1226        )]
1227        dataset_rid: &conjure_object::ResourceIdentifier,
1228        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1229        request: &super::super::super::super::objects::scout::catalog::CommitDerivedDefinitionRequest,
1230    ) -> Result<
1231        super::super::super::super::objects::scout::catalog::DerivedDefinition,
1232        conjure_http::private::Error,
1233    >;
1234    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
1235    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
1236    /// the bounds will be min(current start, request start), max(current end, request end).
1237    #[endpoint(
1238        method = PUT,
1239        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
1240        name = "updateGlobalDatasetBounds",
1241        accept = conjure_http::client::StdResponseDeserializer
1242    )]
1243    async fn update_global_dataset_bounds(
1244        &self,
1245        #[auth]
1246        auth_: &conjure_object::BearerToken,
1247        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
1248        rid: &conjure_object::ResourceIdentifier,
1249        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1250        request: &super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
1251    ) -> Result<
1252        super::super::super::super::objects::scout::catalog::Dataset,
1253        conjure_http::private::Error,
1254    >;
1255    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
1256    /// dataset can still be directly accessed by its UUID/rid.
1257    #[endpoint(
1258        method = POST,
1259        path = "/catalog/v1/datasets/{datasetRid}/archive",
1260        name = "archiveDataset",
1261        accept = conjure_http::client::conjure::EmptyResponseDeserializer
1262    )]
1263    async fn archive_dataset(
1264        &self,
1265        #[auth]
1266        auth_: &conjure_object::BearerToken,
1267        #[path(
1268            name = "datasetRid",
1269            encoder = conjure_http::client::conjure::PlainEncoder
1270        )]
1271        dataset_rid: &conjure_object::ResourceIdentifier,
1272    ) -> Result<(), conjure_http::private::Error>;
1273    /// Undoes the archiving of a dataset.
1274    #[endpoint(
1275        method = POST,
1276        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
1277        name = "unarchiveDataset",
1278        accept = conjure_http::client::conjure::EmptyResponseDeserializer
1279    )]
1280    async fn unarchive_dataset(
1281        &self,
1282        #[auth]
1283        auth_: &conjure_object::BearerToken,
1284        #[path(
1285            name = "datasetRid",
1286            encoder = conjure_http::client::conjure::PlainEncoder
1287        )]
1288        dataset_rid: &conjure_object::ResourceIdentifier,
1289    ) -> Result<(), conjure_http::private::Error>;
1290    #[endpoint(
1291        method = GET,
1292        path = "/catalog/v1/datasets/all-properties-labels",
1293        name = "getAllPropertiesAndLabels",
1294        accept = conjure_http::client::StdResponseDeserializer
1295    )]
1296    async fn get_all_properties_and_labels(
1297        &self,
1298        #[auth]
1299        auth_: &conjure_object::BearerToken,
1300        #[query(
1301            name = "workspaces",
1302            encoder = conjure_http::client::conjure::PlainSeqEncoder
1303        )]
1304        workspaces: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
1305    ) -> Result<
1306        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
1307        conjure_http::private::Error,
1308    >;
1309    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
1310    #[endpoint(
1311        method = GET,
1312        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
1313        name = "getLogDatasetForWorkspace",
1314        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1315    )]
1316    async fn get_log_dataset_for_workspace(
1317        &self,
1318        #[auth]
1319        auth_: &conjure_object::BearerToken,
1320        #[path(
1321            name = "workspaceRid",
1322            encoder = conjure_http::client::conjure::PlainEncoder
1323        )]
1324        workspace_rid: &conjure_object::ResourceIdentifier,
1325    ) -> Result<
1326        Option<conjure_object::ResourceIdentifier>,
1327        conjure_http::private::Error,
1328    >;
1329}
1330/// The Catalog Service provides the ability to query for information about Datasets that are stored in
1331/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
1332/// a file, primarily CSV.
1333#[conjure_http::conjure_client(name = "CatalogService", local)]
1334pub trait LocalAsyncCatalogService<
1335    #[response_body]
1336    I: conjure_http::private::Stream<
1337            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
1338        >,
1339> {
1340    #[endpoint(
1341        method = GET,
1342        path = "/catalog/v1/datasets/{datasetUuid}",
1343        name = "getEnrichedDataset",
1344        accept = conjure_http::client::StdResponseDeserializer
1345    )]
1346    async fn get_enriched_dataset(
1347        &self,
1348        #[auth]
1349        auth_: &conjure_object::BearerToken,
1350        #[path(
1351            name = "datasetUuid",
1352            encoder = conjure_http::client::conjure::PlainEncoder
1353        )]
1354        dataset_uuid: conjure_object::Uuid,
1355    ) -> Result<
1356        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1357        conjure_http::private::Error,
1358    >;
1359    #[endpoint(
1360        method = POST,
1361        path = "/catalog/v1/datasets/multiple",
1362        name = "getEnrichedDatasets",
1363        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1364    )]
1365    async fn get_enriched_datasets(
1366        &self,
1367        #[auth]
1368        auth_: &conjure_object::BearerToken,
1369        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1370        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1371    ) -> Result<
1372        std::collections::BTreeSet<
1373            super::super::super::super::objects::scout::catalog::EnrichedDataset,
1374        >,
1375        conjure_http::private::Error,
1376    >;
1377    #[endpoint(
1378        method = GET,
1379        path = "/catalog/v1/datasets-simple/{datasetUuid}",
1380        name = "getDataset",
1381        accept = conjure_http::client::StdResponseDeserializer
1382    )]
1383    async fn get_dataset(
1384        &self,
1385        #[auth]
1386        auth_: &conjure_object::BearerToken,
1387        #[path(
1388            name = "datasetUuid",
1389            encoder = conjure_http::client::conjure::PlainEncoder
1390        )]
1391        dataset_uuid: conjure_object::Uuid,
1392    ) -> Result<
1393        super::super::super::super::objects::scout::catalog::Dataset,
1394        conjure_http::private::Error,
1395    >;
1396    #[endpoint(
1397        method = POST,
1398        path = "/catalog/v1/datasets-simple/multiple",
1399        name = "getDatasets",
1400        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1401    )]
1402    async fn get_datasets(
1403        &self,
1404        #[auth]
1405        auth_: &conjure_object::BearerToken,
1406        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1407        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1408    ) -> Result<
1409        std::collections::BTreeSet<
1410            super::super::super::super::objects::scout::catalog::Dataset,
1411        >,
1412        conjure_http::private::Error,
1413    >;
1414    /// Gets the subset of dataset RIDs that currently have external connection config attached.
1415    #[endpoint(
1416        method = POST,
1417        path = "/catalog/v1/datasets-simple/external-config",
1418        name = "getDatasetsWithExternalConnectionConfig",
1419        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1420    )]
1421    async fn get_datasets_with_external_connection_config(
1422        &self,
1423        #[auth]
1424        auth_: &conjure_object::BearerToken,
1425        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1426        get_datasets_request: &super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1427    ) -> Result<
1428        std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
1429        conjure_http::private::Error,
1430    >;
1431    /// Registers or updates external connection configuration for an existing dataset.
1432    #[endpoint(
1433        method = POST,
1434        path = "/catalog/v1/datasets/external-config",
1435        name = "registerExternalConnectionConfig",
1436        accept = conjure_http::client::StdResponseDeserializer
1437    )]
1438    async fn register_external_connection_config(
1439        &self,
1440        #[auth]
1441        auth_: &conjure_object::BearerToken,
1442        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1443        request: &super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
1444    ) -> Result<
1445        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1446        conjure_http::private::Error,
1447    >;
1448    #[endpoint(
1449        method = GET,
1450        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
1451        name = "getDatasetFile",
1452        accept = conjure_http::client::StdResponseDeserializer
1453    )]
1454    async fn get_dataset_file(
1455        &self,
1456        #[auth]
1457        auth_: &conjure_object::BearerToken,
1458        #[path(
1459            name = "datasetRid",
1460            encoder = conjure_http::client::conjure::PlainEncoder
1461        )]
1462        dataset_rid: &conjure_object::ResourceIdentifier,
1463        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1464        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1465    ) -> Result<
1466        super::super::super::super::objects::scout::catalog::DatasetFile,
1467        conjure_http::private::Error,
1468    >;
1469    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
1470    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
1471    #[endpoint(
1472        method = POST,
1473        path = "/catalog/v1/dataset-files/batchGet",
1474        name = "batchGetDatasetFiles",
1475        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1476    )]
1477    async fn batch_get_dataset_files(
1478        &self,
1479        #[auth]
1480        auth_: &conjure_object::BearerToken,
1481        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1482        request: &super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
1483    ) -> Result<
1484        std::collections::BTreeMap<
1485            super::super::super::super::objects::datasource::DatasetFileId,
1486            super::super::super::super::objects::scout::catalog::DatasetFile,
1487        >,
1488        conjure_http::private::Error,
1489    >;
1490    #[endpoint(
1491        method = GET,
1492        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
1493        name = "getDatasetFilesForJob",
1494        accept = conjure_http::client::StdResponseDeserializer
1495    )]
1496    async fn get_dataset_files_for_job(
1497        &self,
1498        #[auth]
1499        auth_: &conjure_object::BearerToken,
1500        #[path(
1501            name = "ingestJobRid",
1502            encoder = conjure_http::client::conjure::PlainEncoder
1503        )]
1504        ingest_job_rid: &conjure_object::ResourceIdentifier,
1505        #[query(
1506            name = "nextPageToken",
1507            encoder = conjure_http::client::conjure::PlainSeqEncoder
1508        )]
1509        next_page_token: Option<&str>,
1510    ) -> Result<
1511        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1512        conjure_http::private::Error,
1513    >;
1514    #[endpoint(
1515        method = POST,
1516        path = "/catalog/v1/search-datasets-v2",
1517        name = "searchDatasets",
1518        accept = conjure_http::client::StdResponseDeserializer
1519    )]
1520    async fn search_datasets(
1521        &self,
1522        #[auth]
1523        auth_: &conjure_object::BearerToken,
1524        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1525        request: &super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
1526    ) -> Result<
1527        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
1528        conjure_http::private::Error,
1529    >;
1530    #[endpoint(
1531        method = PUT,
1532        path = "/catalog/v1/datasets/ingest-status-v2",
1533        name = "updateDatasetIngestStatusV2",
1534        accept = conjure_http::client::StdResponseDeserializer
1535    )]
1536    async fn update_dataset_ingest_status_v2(
1537        &self,
1538        #[auth]
1539        auth_: &conjure_object::BearerToken,
1540        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1541        details: &super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
1542    ) -> Result<
1543        super::super::super::super::objects::api::IngestStatusV2,
1544        conjure_http::private::Error,
1545    >;
1546    #[endpoint(
1547        method = GET,
1548        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
1549        name = "getIngestProgressV2",
1550        accept = conjure_http::client::StdResponseDeserializer
1551    )]
1552    async fn get_ingest_progress_v2(
1553        &self,
1554        #[auth]
1555        auth_: &conjure_object::BearerToken,
1556        #[path(
1557            name = "datasetRid",
1558            encoder = conjure_http::client::conjure::PlainEncoder
1559        )]
1560        dataset_rid: &conjure_object::ResourceIdentifier,
1561    ) -> Result<
1562        super::super::super::super::objects::scout::catalog::IngestProgressV2,
1563        conjure_http::private::Error,
1564    >;
1565    #[endpoint(
1566        method = GET,
1567        path = "/catalog/v1/datasets/{dataset}/handle",
1568        name = "getHandleForDataset",
1569        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1570    )]
1571    async fn get_handle_for_dataset(
1572        &self,
1573        #[auth]
1574        auth_: &conjure_object::BearerToken,
1575        #[path(name = "dataset", encoder = conjure_http::client::conjure::PlainEncoder)]
1576        dataset: conjure_object::Uuid,
1577    ) -> Result<
1578        Option<super::super::super::super::objects::scout::catalog::Handle>,
1579        conjure_http::private::Error,
1580    >;
1581    #[endpoint(
1582        method = POST,
1583        path = "/catalog/v1/datasets",
1584        name = "createDataset",
1585        accept = conjure_http::client::StdResponseDeserializer
1586    )]
1587    async fn create_dataset(
1588        &self,
1589        #[auth]
1590        auth_: &conjure_object::BearerToken,
1591        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1592        details: &super::super::super::super::objects::scout::catalog::CreateDataset,
1593    ) -> Result<
1594        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1595        conjure_http::private::Error,
1596    >;
1597    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
1598    #[endpoint(
1599        method = POST,
1600        path = "/catalog/v1/datasets/create-or-update",
1601        name = "createOrUpdateDataset",
1602        accept = conjure_http::client::StdResponseDeserializer
1603    )]
1604    async fn create_or_update_dataset(
1605        &self,
1606        #[auth]
1607        auth_: &conjure_object::BearerToken,
1608        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1609        details: &super::super::super::super::objects::scout::catalog::CreateDataset,
1610    ) -> Result<
1611        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1612        conjure_http::private::Error,
1613    >;
1614    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
1615    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
1616    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
1617    #[endpoint(
1618        method = POST,
1619        path = "/catalog/v1/datasets/with-uuid",
1620        name = "createDatasetWithUuid",
1621        accept = conjure_http::client::StdResponseDeserializer
1622    )]
1623    async fn create_dataset_with_uuid(
1624        &self,
1625        #[auth]
1626        auth_: &conjure_object::BearerToken,
1627        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1628        request: &super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
1629    ) -> Result<
1630        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1631        conjure_http::private::Error,
1632    >;
1633    /// Adds a single file to an existing dataset.
1634    #[endpoint(
1635        method = POST,
1636        path = "/catalog/v1/datasets/{datasetRid}/add-file",
1637        name = "addFileToDataset",
1638        accept = conjure_http::client::StdResponseDeserializer
1639    )]
1640    async fn add_file_to_dataset(
1641        &self,
1642        #[auth]
1643        auth_: &conjure_object::BearerToken,
1644        #[path(
1645            name = "datasetRid",
1646            encoder = conjure_http::client::conjure::PlainEncoder
1647        )]
1648        dataset_rid: &conjure_object::ResourceIdentifier,
1649        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1650        request: &super::super::super::super::objects::scout::catalog::AddFileToDataset,
1651    ) -> Result<
1652        super::super::super::super::objects::scout::catalog::DatasetFile,
1653        conjure_http::private::Error,
1654    >;
1655    #[endpoint(
1656        method = GET,
1657        path = "/catalog/v1/datasets/{datasetRid}/files",
1658        name = "listDatasetFiles",
1659        accept = conjure_http::client::StdResponseDeserializer
1660    )]
1661    async fn list_dataset_files(
1662        &self,
1663        #[auth]
1664        auth_: &conjure_object::BearerToken,
1665        #[path(
1666            name = "datasetRid",
1667            encoder = conjure_http::client::conjure::PlainEncoder
1668        )]
1669        dataset_rid: &conjure_object::ResourceIdentifier,
1670        #[query(
1671            name = "nextPageToken",
1672            encoder = conjure_http::client::conjure::PlainSeqEncoder
1673        )]
1674        next_page_token: Option<&str>,
1675    ) -> Result<
1676        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1677        conjure_http::private::Error,
1678    >;
1679    #[endpoint(
1680        method = POST,
1681        path = "/catalog/v1/search-dataset-files",
1682        name = "searchDatasetFiles",
1683        accept = conjure_http::client::StdResponseDeserializer
1684    )]
1685    async fn search_dataset_files(
1686        &self,
1687        #[auth]
1688        auth_: &conjure_object::BearerToken,
1689        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1690        request: &super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
1691    ) -> Result<
1692        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
1693        conjure_http::private::Error,
1694    >;
1695    #[endpoint(
1696        method = GET,
1697        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
1698        name = "getDatasetFileUri",
1699        accept = conjure_http::client::StdResponseDeserializer
1700    )]
1701    async fn get_dataset_file_uri(
1702        &self,
1703        #[auth]
1704        auth_: &conjure_object::BearerToken,
1705        #[path(
1706            name = "datasetRid",
1707            encoder = conjure_http::client::conjure::PlainEncoder
1708        )]
1709        dataset_rid: &conjure_object::ResourceIdentifier,
1710        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1711        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1712    ) -> Result<
1713        super::super::super::super::objects::scout::catalog::DatasetFileUri,
1714        conjure_http::private::Error,
1715    >;
1716    #[endpoint(
1717        method = GET,
1718        path = "/catalog/v1/videos/{videoFileRid}/uri",
1719        name = "getVideoFileUri",
1720        accept = conjure_http::client::StdResponseDeserializer
1721    )]
1722    async fn get_video_file_uri(
1723        &self,
1724        #[auth]
1725        auth_: &conjure_object::BearerToken,
1726        #[path(
1727            name = "videoFileRid",
1728            encoder = conjure_http::client::conjure::PlainEncoder
1729        )]
1730        video_file_rid: &conjure_object::ResourceIdentifier,
1731    ) -> Result<
1732        super::super::super::super::objects::scout::catalog::VideoFileUri,
1733        conjure_http::private::Error,
1734    >;
1735    #[endpoint(
1736        method = GET,
1737        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
1738        name = "getOriginFileUris",
1739        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1740    )]
1741    async fn get_origin_file_uris(
1742        &self,
1743        #[auth]
1744        auth_: &conjure_object::BearerToken,
1745        #[path(
1746            name = "datasetRid",
1747            encoder = conjure_http::client::conjure::PlainEncoder
1748        )]
1749        dataset_rid: &conjure_object::ResourceIdentifier,
1750        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1751        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1752    ) -> Result<
1753        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
1754        conjure_http::private::Error,
1755    >;
1756    #[endpoint(
1757        method = PUT,
1758        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
1759        name = "markFileIngestSuccessful",
1760        accept = conjure_http::client::StdResponseDeserializer
1761    )]
1762    async fn mark_file_ingest_successful(
1763        &self,
1764        #[auth]
1765        auth_: &conjure_object::BearerToken,
1766        #[path(
1767            name = "datasetRid",
1768            encoder = conjure_http::client::conjure::PlainEncoder
1769        )]
1770        dataset_rid: &conjure_object::ResourceIdentifier,
1771        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1772        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1773        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1774        request: &super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
1775    ) -> Result<
1776        super::super::super::super::objects::scout::catalog::DatasetFile,
1777        conjure_http::private::Error,
1778    >;
1779    #[endpoint(
1780        method = PUT,
1781        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
1782        name = "markFileIngestError",
1783        accept = conjure_http::client::StdResponseDeserializer
1784    )]
1785    async fn mark_file_ingest_error(
1786        &self,
1787        #[auth]
1788        auth_: &conjure_object::BearerToken,
1789        #[path(
1790            name = "datasetRid",
1791            encoder = conjure_http::client::conjure::PlainEncoder
1792        )]
1793        dataset_rid: &conjure_object::ResourceIdentifier,
1794        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1795        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1796        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1797        request: &super::super::super::super::objects::scout::catalog::MarkFileIngestError,
1798    ) -> Result<
1799        super::super::super::super::objects::scout::catalog::DatasetFile,
1800        conjure_http::private::Error,
1801    >;
1802    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
1803    /// after video segmentation is complete.
1804    #[endpoint(
1805        method = PUT,
1806        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
1807        name = "updateDatasetFileMetadata",
1808        accept = conjure_http::client::StdResponseDeserializer
1809    )]
1810    async fn update_dataset_file_metadata(
1811        &self,
1812        #[auth]
1813        auth_: &conjure_object::BearerToken,
1814        #[path(
1815            name = "datasetRid",
1816            encoder = conjure_http::client::conjure::PlainEncoder
1817        )]
1818        dataset_rid: &conjure_object::ResourceIdentifier,
1819        #[path(name = "fileId", encoder = conjure_http::client::conjure::PlainEncoder)]
1820        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1821        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1822        metadata: &super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
1823    ) -> Result<
1824        super::super::super::super::objects::scout::catalog::DatasetFile,
1825        conjure_http::private::Error,
1826    >;
1827    #[endpoint(
1828        method = PUT,
1829        path = "/catalog/v1/datasets/{datasetRid}",
1830        name = "updateDatasetMetadata",
1831        accept = conjure_http::client::StdResponseDeserializer
1832    )]
1833    async fn update_dataset_metadata(
1834        &self,
1835        #[auth]
1836        auth_: &conjure_object::BearerToken,
1837        #[path(
1838            name = "datasetRid",
1839            encoder = conjure_http::client::conjure::PlainEncoder
1840        )]
1841        dataset_rid: &conjure_object::ResourceIdentifier,
1842        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1843        request: &super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
1844    ) -> Result<
1845        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1846        conjure_http::private::Error,
1847    >;
1848    /// Returns a versioned derived definition. If commit is omitted, returns the latest commit on main.
1849    #[endpoint(
1850        method = GET,
1851        path = "/catalog/v1/datasets/{datasetRid}/derived-definition",
1852        name = "getDatasetDerivedDefinition",
1853        accept = conjure_http::client::StdResponseDeserializer
1854    )]
1855    async fn get_dataset_derived_definition(
1856        &self,
1857        #[auth]
1858        auth_: &conjure_object::BearerToken,
1859        #[path(
1860            name = "datasetRid",
1861            encoder = conjure_http::client::conjure::PlainEncoder
1862        )]
1863        dataset_rid: &conjure_object::ResourceIdentifier,
1864        #[query(
1865            name = "commit",
1866            encoder = conjure_http::client::conjure::PlainSeqEncoder
1867        )]
1868        commit: Option<
1869            &super::super::super::super::objects::scout::versioning::api::CommitId,
1870        >,
1871    ) -> Result<
1872        super::super::super::super::objects::scout::catalog::DerivedDefinition,
1873        conjure_http::private::Error,
1874    >;
1875    /// Replaces the current derived definition by creating a permanent commit on main.
1876    /// Throws if the dataset is not derived, if referenced datasets are unauthorized, or if latestCommit is stale.
1877    #[endpoint(
1878        method = POST,
1879        path = "/catalog/v1/datasets/{datasetRid}/derived-definition/commit",
1880        name = "commitDerivedDefinition",
1881        accept = conjure_http::client::StdResponseDeserializer
1882    )]
1883    async fn commit_derived_definition(
1884        &self,
1885        #[auth]
1886        auth_: &conjure_object::BearerToken,
1887        #[path(
1888            name = "datasetRid",
1889            encoder = conjure_http::client::conjure::PlainEncoder
1890        )]
1891        dataset_rid: &conjure_object::ResourceIdentifier,
1892        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1893        request: &super::super::super::super::objects::scout::catalog::CommitDerivedDefinitionRequest,
1894    ) -> Result<
1895        super::super::super::super::objects::scout::catalog::DerivedDefinition,
1896        conjure_http::private::Error,
1897    >;
1898    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
1899    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
1900    /// the bounds will be min(current start, request start), max(current end, request end).
1901    #[endpoint(
1902        method = PUT,
1903        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
1904        name = "updateGlobalDatasetBounds",
1905        accept = conjure_http::client::StdResponseDeserializer
1906    )]
1907    async fn update_global_dataset_bounds(
1908        &self,
1909        #[auth]
1910        auth_: &conjure_object::BearerToken,
1911        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
1912        rid: &conjure_object::ResourceIdentifier,
1913        #[body(serializer = conjure_http::client::StdRequestSerializer)]
1914        request: &super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
1915    ) -> Result<
1916        super::super::super::super::objects::scout::catalog::Dataset,
1917        conjure_http::private::Error,
1918    >;
1919    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
1920    /// dataset can still be directly accessed by its UUID/rid.
1921    #[endpoint(
1922        method = POST,
1923        path = "/catalog/v1/datasets/{datasetRid}/archive",
1924        name = "archiveDataset",
1925        accept = conjure_http::client::conjure::EmptyResponseDeserializer
1926    )]
1927    async fn archive_dataset(
1928        &self,
1929        #[auth]
1930        auth_: &conjure_object::BearerToken,
1931        #[path(
1932            name = "datasetRid",
1933            encoder = conjure_http::client::conjure::PlainEncoder
1934        )]
1935        dataset_rid: &conjure_object::ResourceIdentifier,
1936    ) -> Result<(), conjure_http::private::Error>;
1937    /// Undoes the archiving of a dataset.
1938    #[endpoint(
1939        method = POST,
1940        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
1941        name = "unarchiveDataset",
1942        accept = conjure_http::client::conjure::EmptyResponseDeserializer
1943    )]
1944    async fn unarchive_dataset(
1945        &self,
1946        #[auth]
1947        auth_: &conjure_object::BearerToken,
1948        #[path(
1949            name = "datasetRid",
1950            encoder = conjure_http::client::conjure::PlainEncoder
1951        )]
1952        dataset_rid: &conjure_object::ResourceIdentifier,
1953    ) -> Result<(), conjure_http::private::Error>;
1954    #[endpoint(
1955        method = GET,
1956        path = "/catalog/v1/datasets/all-properties-labels",
1957        name = "getAllPropertiesAndLabels",
1958        accept = conjure_http::client::StdResponseDeserializer
1959    )]
1960    async fn get_all_properties_and_labels(
1961        &self,
1962        #[auth]
1963        auth_: &conjure_object::BearerToken,
1964        #[query(
1965            name = "workspaces",
1966            encoder = conjure_http::client::conjure::PlainSeqEncoder
1967        )]
1968        workspaces: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
1969    ) -> Result<
1970        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
1971        conjure_http::private::Error,
1972    >;
1973    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
1974    #[endpoint(
1975        method = GET,
1976        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
1977        name = "getLogDatasetForWorkspace",
1978        accept = conjure_http::client::conjure::CollectionResponseDeserializer
1979    )]
1980    async fn get_log_dataset_for_workspace(
1981        &self,
1982        #[auth]
1983        auth_: &conjure_object::BearerToken,
1984        #[path(
1985            name = "workspaceRid",
1986            encoder = conjure_http::client::conjure::PlainEncoder
1987        )]
1988        workspace_rid: &conjure_object::ResourceIdentifier,
1989    ) -> Result<
1990        Option<conjure_object::ResourceIdentifier>,
1991        conjure_http::private::Error,
1992    >;
1993}