Skip to main content

nominal_api/conjure/endpoints/scout/metadata/
resource_metadata_service.rs

1use conjure_http::endpoint;
2/// The Resource Metadata Service provides common metadata about resources.
3#[conjure_http::conjure_endpoints(
4    name = "ResourceMetadataService",
5    use_legacy_error_serialization
6)]
7pub trait ResourceMetadataService {
8    /// Returns all existing properties (key value pairs) and labels, which can be used to organize resources
9    /// such as runs and videos.
10    #[endpoint(
11        method = POST,
12        path = "/scout/v1/metadata/list-properties-labels",
13        name = "listPropertiesAndLabels",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn list_properties_and_labels(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
21        request: super::super::super::super::objects::scout::metadata::ListPropertiesAndLabelsRequest,
22    ) -> Result<
23        super::super::super::super::objects::scout::metadata::ListPropertiesAndLabelsResponse,
24        conjure_http::private::Error,
25    >;
26    /// Returns the count of resources that use a given label or property. The query can
27    /// match by label, property name (key only), or a full property key+value pair.
28    /// Counts are scoped to the caller's accessible workspaces unless specific workspaces
29    /// are provided.
30    #[endpoint(
31        method = POST,
32        path = "/scout/v1/metadata/usage-count",
33        name = "getMetadataUsageCount",
34        produces = conjure_http::server::StdResponseSerializer
35    )]
36    fn get_metadata_usage_count(
37        &self,
38        #[auth]
39        auth_: conjure_object::BearerToken,
40        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
41        request: super::super::super::super::objects::scout::metadata::GetMetadataUsageCountRequest,
42    ) -> Result<
43        super::super::super::super::objects::scout::metadata::GetMetadataUsageCountResponse,
44        conjure_http::private::Error,
45    >;
46    /// Given a set of labels, finds similar labels across the specified workspaces and resource types.
47    /// Includes document count. Useful for detecting unintentional duplicate labels.
48    #[endpoint(
49        method = POST,
50        path = "/scout/v1/metadata/label/find-similar",
51        name = "findSimilarLabelMatches",
52        produces = conjure_http::server::StdResponseSerializer
53    )]
54    fn find_similar_label_matches(
55        &self,
56        #[auth]
57        auth_: conjure_object::BearerToken,
58        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
59        request: super::super::super::super::objects::scout::metadata::FindSimilarLabelMatchesRequest,
60    ) -> Result<
61        super::super::super::super::objects::scout::metadata::FindSimilarLabelMatchesResponse,
62        conjure_http::private::Error,
63    >;
64    /// Given a set of property keys, finds similar property keys across the specified workspaces and resource types.
65    /// Includes document count. Useful for detecting unintentional duplicate property keys.
66    #[endpoint(
67        method = POST,
68        path = "/scout/v1/metadata/property/find-similar",
69        name = "findSimilarPropertyKeyMatches",
70        produces = conjure_http::server::StdResponseSerializer
71    )]
72    fn find_similar_property_key_matches(
73        &self,
74        #[auth]
75        auth_: conjure_object::BearerToken,
76        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
77        request: super::super::super::super::objects::scout::metadata::FindSimilarPropertyKeyMatchesRequest,
78    ) -> Result<
79        super::super::super::super::objects::scout::metadata::FindSimilarPropertyKeyMatchesResponse,
80        conjure_http::private::Error,
81    >;
82    /// Returns a paginated list of labels with document usage counts, filterable by
83    /// resource type, workspace, and search text.
84    #[endpoint(
85        method = POST,
86        path = "/scout/v1/metadata/search-labels",
87        name = "searchLabels",
88        produces = conjure_http::server::StdResponseSerializer
89    )]
90    fn search_labels(
91        &self,
92        #[auth]
93        auth_: conjure_object::BearerToken,
94        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
95        request: super::super::super::super::objects::scout::metadata::SearchMetadataRequest,
96    ) -> Result<
97        super::super::super::super::objects::scout::metadata::SearchLabelsResponse,
98        conjure_http::private::Error,
99    >;
100    /// Returns a paginated list of property keys with document usage counts, filterable
101    /// by resource type, workspace, and search text.
102    #[endpoint(
103        method = POST,
104        path = "/scout/v1/metadata/search-property-keys",
105        name = "searchPropertyKeys",
106        produces = conjure_http::server::StdResponseSerializer
107    )]
108    fn search_property_keys(
109        &self,
110        #[auth]
111        auth_: conjure_object::BearerToken,
112        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
113        request: super::super::super::super::objects::scout::metadata::SearchMetadataRequest,
114    ) -> Result<
115        super::super::super::super::objects::scout::metadata::SearchPropertyKeysResponse,
116        conjure_http::private::Error,
117    >;
118    /// Returns a paginated list of property values for a given property key with document
119    /// usage counts, filterable by resource type, workspace, and search text.
120    #[endpoint(
121        method = POST,
122        path = "/scout/v1/metadata/search-property-values",
123        name = "searchPropertyValues",
124        produces = conjure_http::server::StdResponseSerializer
125    )]
126    fn search_property_values(
127        &self,
128        #[auth]
129        auth_: conjure_object::BearerToken,
130        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
131        request: super::super::super::super::objects::scout::metadata::SearchPropertyValuesRequest,
132    ) -> Result<
133        super::super::super::super::objects::scout::metadata::SearchPropertyValuesResponse,
134        conjure_http::private::Error,
135    >;
136}
137/// The Resource Metadata Service provides common metadata about resources.
138#[conjure_http::conjure_endpoints(
139    name = "ResourceMetadataService",
140    use_legacy_error_serialization
141)]
142pub trait AsyncResourceMetadataService {
143    /// Returns all existing properties (key value pairs) and labels, which can be used to organize resources
144    /// such as runs and videos.
145    #[endpoint(
146        method = POST,
147        path = "/scout/v1/metadata/list-properties-labels",
148        name = "listPropertiesAndLabels",
149        produces = conjure_http::server::StdResponseSerializer
150    )]
151    async fn list_properties_and_labels(
152        &self,
153        #[auth]
154        auth_: conjure_object::BearerToken,
155        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
156        request: super::super::super::super::objects::scout::metadata::ListPropertiesAndLabelsRequest,
157    ) -> Result<
158        super::super::super::super::objects::scout::metadata::ListPropertiesAndLabelsResponse,
159        conjure_http::private::Error,
160    >;
161    /// Returns the count of resources that use a given label or property. The query can
162    /// match by label, property name (key only), or a full property key+value pair.
163    /// Counts are scoped to the caller's accessible workspaces unless specific workspaces
164    /// are provided.
165    #[endpoint(
166        method = POST,
167        path = "/scout/v1/metadata/usage-count",
168        name = "getMetadataUsageCount",
169        produces = conjure_http::server::StdResponseSerializer
170    )]
171    async fn get_metadata_usage_count(
172        &self,
173        #[auth]
174        auth_: conjure_object::BearerToken,
175        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
176        request: super::super::super::super::objects::scout::metadata::GetMetadataUsageCountRequest,
177    ) -> Result<
178        super::super::super::super::objects::scout::metadata::GetMetadataUsageCountResponse,
179        conjure_http::private::Error,
180    >;
181    /// Given a set of labels, finds similar labels across the specified workspaces and resource types.
182    /// Includes document count. Useful for detecting unintentional duplicate labels.
183    #[endpoint(
184        method = POST,
185        path = "/scout/v1/metadata/label/find-similar",
186        name = "findSimilarLabelMatches",
187        produces = conjure_http::server::StdResponseSerializer
188    )]
189    async fn find_similar_label_matches(
190        &self,
191        #[auth]
192        auth_: conjure_object::BearerToken,
193        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
194        request: super::super::super::super::objects::scout::metadata::FindSimilarLabelMatchesRequest,
195    ) -> Result<
196        super::super::super::super::objects::scout::metadata::FindSimilarLabelMatchesResponse,
197        conjure_http::private::Error,
198    >;
199    /// Given a set of property keys, finds similar property keys across the specified workspaces and resource types.
200    /// Includes document count. Useful for detecting unintentional duplicate property keys.
201    #[endpoint(
202        method = POST,
203        path = "/scout/v1/metadata/property/find-similar",
204        name = "findSimilarPropertyKeyMatches",
205        produces = conjure_http::server::StdResponseSerializer
206    )]
207    async fn find_similar_property_key_matches(
208        &self,
209        #[auth]
210        auth_: conjure_object::BearerToken,
211        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
212        request: super::super::super::super::objects::scout::metadata::FindSimilarPropertyKeyMatchesRequest,
213    ) -> Result<
214        super::super::super::super::objects::scout::metadata::FindSimilarPropertyKeyMatchesResponse,
215        conjure_http::private::Error,
216    >;
217    /// Returns a paginated list of labels with document usage counts, filterable by
218    /// resource type, workspace, and search text.
219    #[endpoint(
220        method = POST,
221        path = "/scout/v1/metadata/search-labels",
222        name = "searchLabels",
223        produces = conjure_http::server::StdResponseSerializer
224    )]
225    async fn search_labels(
226        &self,
227        #[auth]
228        auth_: conjure_object::BearerToken,
229        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
230        request: super::super::super::super::objects::scout::metadata::SearchMetadataRequest,
231    ) -> Result<
232        super::super::super::super::objects::scout::metadata::SearchLabelsResponse,
233        conjure_http::private::Error,
234    >;
235    /// Returns a paginated list of property keys with document usage counts, filterable
236    /// by resource type, workspace, and search text.
237    #[endpoint(
238        method = POST,
239        path = "/scout/v1/metadata/search-property-keys",
240        name = "searchPropertyKeys",
241        produces = conjure_http::server::StdResponseSerializer
242    )]
243    async fn search_property_keys(
244        &self,
245        #[auth]
246        auth_: conjure_object::BearerToken,
247        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
248        request: super::super::super::super::objects::scout::metadata::SearchMetadataRequest,
249    ) -> Result<
250        super::super::super::super::objects::scout::metadata::SearchPropertyKeysResponse,
251        conjure_http::private::Error,
252    >;
253    /// Returns a paginated list of property values for a given property key with document
254    /// usage counts, filterable by resource type, workspace, and search text.
255    #[endpoint(
256        method = POST,
257        path = "/scout/v1/metadata/search-property-values",
258        name = "searchPropertyValues",
259        produces = conjure_http::server::StdResponseSerializer
260    )]
261    async fn search_property_values(
262        &self,
263        #[auth]
264        auth_: conjure_object::BearerToken,
265        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
266        request: super::super::super::super::objects::scout::metadata::SearchPropertyValuesRequest,
267    ) -> Result<
268        super::super::super::super::objects::scout::metadata::SearchPropertyValuesResponse,
269        conjure_http::private::Error,
270    >;
271}
272/// The Resource Metadata Service provides common metadata about resources.
273#[conjure_http::conjure_endpoints(
274    name = "ResourceMetadataService",
275    use_legacy_error_serialization,
276    local
277)]
278pub trait LocalAsyncResourceMetadataService {
279    /// Returns all existing properties (key value pairs) and labels, which can be used to organize resources
280    /// such as runs and videos.
281    #[endpoint(
282        method = POST,
283        path = "/scout/v1/metadata/list-properties-labels",
284        name = "listPropertiesAndLabels",
285        produces = conjure_http::server::StdResponseSerializer
286    )]
287    async fn list_properties_and_labels(
288        &self,
289        #[auth]
290        auth_: conjure_object::BearerToken,
291        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
292        request: super::super::super::super::objects::scout::metadata::ListPropertiesAndLabelsRequest,
293    ) -> Result<
294        super::super::super::super::objects::scout::metadata::ListPropertiesAndLabelsResponse,
295        conjure_http::private::Error,
296    >;
297    /// Returns the count of resources that use a given label or property. The query can
298    /// match by label, property name (key only), or a full property key+value pair.
299    /// Counts are scoped to the caller's accessible workspaces unless specific workspaces
300    /// are provided.
301    #[endpoint(
302        method = POST,
303        path = "/scout/v1/metadata/usage-count",
304        name = "getMetadataUsageCount",
305        produces = conjure_http::server::StdResponseSerializer
306    )]
307    async fn get_metadata_usage_count(
308        &self,
309        #[auth]
310        auth_: conjure_object::BearerToken,
311        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
312        request: super::super::super::super::objects::scout::metadata::GetMetadataUsageCountRequest,
313    ) -> Result<
314        super::super::super::super::objects::scout::metadata::GetMetadataUsageCountResponse,
315        conjure_http::private::Error,
316    >;
317    /// Given a set of labels, finds similar labels across the specified workspaces and resource types.
318    /// Includes document count. Useful for detecting unintentional duplicate labels.
319    #[endpoint(
320        method = POST,
321        path = "/scout/v1/metadata/label/find-similar",
322        name = "findSimilarLabelMatches",
323        produces = conjure_http::server::StdResponseSerializer
324    )]
325    async fn find_similar_label_matches(
326        &self,
327        #[auth]
328        auth_: conjure_object::BearerToken,
329        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
330        request: super::super::super::super::objects::scout::metadata::FindSimilarLabelMatchesRequest,
331    ) -> Result<
332        super::super::super::super::objects::scout::metadata::FindSimilarLabelMatchesResponse,
333        conjure_http::private::Error,
334    >;
335    /// Given a set of property keys, finds similar property keys across the specified workspaces and resource types.
336    /// Includes document count. Useful for detecting unintentional duplicate property keys.
337    #[endpoint(
338        method = POST,
339        path = "/scout/v1/metadata/property/find-similar",
340        name = "findSimilarPropertyKeyMatches",
341        produces = conjure_http::server::StdResponseSerializer
342    )]
343    async fn find_similar_property_key_matches(
344        &self,
345        #[auth]
346        auth_: conjure_object::BearerToken,
347        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
348        request: super::super::super::super::objects::scout::metadata::FindSimilarPropertyKeyMatchesRequest,
349    ) -> Result<
350        super::super::super::super::objects::scout::metadata::FindSimilarPropertyKeyMatchesResponse,
351        conjure_http::private::Error,
352    >;
353    /// Returns a paginated list of labels with document usage counts, filterable by
354    /// resource type, workspace, and search text.
355    #[endpoint(
356        method = POST,
357        path = "/scout/v1/metadata/search-labels",
358        name = "searchLabels",
359        produces = conjure_http::server::StdResponseSerializer
360    )]
361    async fn search_labels(
362        &self,
363        #[auth]
364        auth_: conjure_object::BearerToken,
365        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
366        request: super::super::super::super::objects::scout::metadata::SearchMetadataRequest,
367    ) -> Result<
368        super::super::super::super::objects::scout::metadata::SearchLabelsResponse,
369        conjure_http::private::Error,
370    >;
371    /// Returns a paginated list of property keys with document usage counts, filterable
372    /// by resource type, workspace, and search text.
373    #[endpoint(
374        method = POST,
375        path = "/scout/v1/metadata/search-property-keys",
376        name = "searchPropertyKeys",
377        produces = conjure_http::server::StdResponseSerializer
378    )]
379    async fn search_property_keys(
380        &self,
381        #[auth]
382        auth_: conjure_object::BearerToken,
383        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
384        request: super::super::super::super::objects::scout::metadata::SearchMetadataRequest,
385    ) -> Result<
386        super::super::super::super::objects::scout::metadata::SearchPropertyKeysResponse,
387        conjure_http::private::Error,
388    >;
389    /// Returns a paginated list of property values for a given property key with document
390    /// usage counts, filterable by resource type, workspace, and search text.
391    #[endpoint(
392        method = POST,
393        path = "/scout/v1/metadata/search-property-values",
394        name = "searchPropertyValues",
395        produces = conjure_http::server::StdResponseSerializer
396    )]
397    async fn search_property_values(
398        &self,
399        #[auth]
400        auth_: conjure_object::BearerToken,
401        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
402        request: super::super::super::super::objects::scout::metadata::SearchPropertyValuesRequest,
403    ) -> Result<
404        super::super::super::super::objects::scout::metadata::SearchPropertyValuesResponse,
405        conjure_http::private::Error,
406    >;
407}