Skip to main content

nominal_api/conjure/endpoints/module/
module_service.rs

1use conjure_http::endpoint;
2/// Modules define collections of compute logic that can be shared and used across different contexts.
3/// The Modules Service provides the API for managing these collections of functions.
4#[conjure_http::conjure_endpoints(
5    name = "ModuleService",
6    use_legacy_error_serialization
7)]
8pub trait ModuleService {
9    /// Create a new module.
10    #[endpoint(
11        method = POST,
12        path = "/scout/v2/module",
13        name = "createModule",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn create_module(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
21        request: super::super::super::objects::module::CreateModuleRequest,
22    ) -> Result<
23        super::super::super::objects::module::Module,
24        conjure_http::private::Error,
25    >;
26    /// Update an existing module.
27    #[endpoint(
28        method = PUT,
29        path = "/scout/v2/module/{moduleRid}",
30        name = "updateModule",
31        produces = conjure_http::server::StdResponseSerializer
32    )]
33    fn update_module(
34        &self,
35        #[auth]
36        auth_: conjure_object::BearerToken,
37        #[path(
38            name = "moduleRid",
39            decoder = conjure_http::server::conjure::FromPlainDecoder,
40            log_as = "moduleRid"
41        )]
42        module_rid: conjure_object::ResourceIdentifier,
43        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
44        request: super::super::super::objects::module::UpdateModuleRequest,
45    ) -> Result<
46        super::super::super::objects::module::Module,
47        conjure_http::private::Error,
48    >;
49    /// Get a list of modules by their RIDs and version specifiers if provided.
50    #[endpoint(
51        method = POST,
52        path = "/scout/v2/module/batch-get",
53        name = "batchGetModules",
54        produces = conjure_http::server::conjure::CollectionResponseSerializer
55    )]
56    fn batch_get_modules(
57        &self,
58        #[auth]
59        auth_: conjure_object::BearerToken,
60        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
61        request: super::super::super::objects::module::BatchGetModulesRequest,
62    ) -> Result<
63        Vec<super::super::super::objects::module::Module>,
64        conjure_http::private::Error,
65    >;
66    /// Search for modules.
67    #[endpoint(
68        method = POST,
69        path = "/scout/v2/module/search",
70        name = "searchModules",
71        produces = conjure_http::server::StdResponseSerializer
72    )]
73    fn search_modules(
74        &self,
75        #[auth]
76        auth_: conjure_object::BearerToken,
77        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
78        request: super::super::super::objects::module::SearchModulesRequest,
79    ) -> Result<
80        super::super::super::objects::module::SearchModulesResponse,
81        conjure_http::private::Error,
82    >;
83    /// Archive a set of modules.
84    #[endpoint(
85        method = POST,
86        path = "/scout/v2/module/archive",
87        name = "batchArchiveModules",
88        produces = conjure_http::server::StdResponseSerializer
89    )]
90    fn batch_archive_modules(
91        &self,
92        #[auth]
93        auth_: conjure_object::BearerToken,
94        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
95        request: super::super::super::objects::module::BatchArchiveModulesRequest,
96    ) -> Result<
97        super::super::super::objects::module::BatchArchiveModulesResponse,
98        conjure_http::private::Error,
99    >;
100    /// Unarchive a set of modules.
101    #[endpoint(
102        method = POST,
103        path = "/scout/v2/module/unarchive",
104        name = "batchUnarchiveModules",
105        produces = conjure_http::server::StdResponseSerializer
106    )]
107    fn batch_unarchive_modules(
108        &self,
109        #[auth]
110        auth_: conjure_object::BearerToken,
111        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
112        request: super::super::super::objects::module::BatchUnarchiveModulesRequest,
113    ) -> Result<
114        super::super::super::objects::module::BatchUnarchiveModulesResponse,
115        conjure_http::private::Error,
116    >;
117}
118/// Modules define collections of compute logic that can be shared and used across different contexts.
119/// The Modules Service provides the API for managing these collections of functions.
120#[conjure_http::conjure_endpoints(
121    name = "ModuleService",
122    use_legacy_error_serialization
123)]
124pub trait AsyncModuleService {
125    /// Create a new module.
126    #[endpoint(
127        method = POST,
128        path = "/scout/v2/module",
129        name = "createModule",
130        produces = conjure_http::server::StdResponseSerializer
131    )]
132    async fn create_module(
133        &self,
134        #[auth]
135        auth_: conjure_object::BearerToken,
136        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
137        request: super::super::super::objects::module::CreateModuleRequest,
138    ) -> Result<
139        super::super::super::objects::module::Module,
140        conjure_http::private::Error,
141    >;
142    /// Update an existing module.
143    #[endpoint(
144        method = PUT,
145        path = "/scout/v2/module/{moduleRid}",
146        name = "updateModule",
147        produces = conjure_http::server::StdResponseSerializer
148    )]
149    async fn update_module(
150        &self,
151        #[auth]
152        auth_: conjure_object::BearerToken,
153        #[path(
154            name = "moduleRid",
155            decoder = conjure_http::server::conjure::FromPlainDecoder,
156            log_as = "moduleRid"
157        )]
158        module_rid: conjure_object::ResourceIdentifier,
159        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
160        request: super::super::super::objects::module::UpdateModuleRequest,
161    ) -> Result<
162        super::super::super::objects::module::Module,
163        conjure_http::private::Error,
164    >;
165    /// Get a list of modules by their RIDs and version specifiers if provided.
166    #[endpoint(
167        method = POST,
168        path = "/scout/v2/module/batch-get",
169        name = "batchGetModules",
170        produces = conjure_http::server::conjure::CollectionResponseSerializer
171    )]
172    async fn batch_get_modules(
173        &self,
174        #[auth]
175        auth_: conjure_object::BearerToken,
176        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
177        request: super::super::super::objects::module::BatchGetModulesRequest,
178    ) -> Result<
179        Vec<super::super::super::objects::module::Module>,
180        conjure_http::private::Error,
181    >;
182    /// Search for modules.
183    #[endpoint(
184        method = POST,
185        path = "/scout/v2/module/search",
186        name = "searchModules",
187        produces = conjure_http::server::StdResponseSerializer
188    )]
189    async fn search_modules(
190        &self,
191        #[auth]
192        auth_: conjure_object::BearerToken,
193        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
194        request: super::super::super::objects::module::SearchModulesRequest,
195    ) -> Result<
196        super::super::super::objects::module::SearchModulesResponse,
197        conjure_http::private::Error,
198    >;
199    /// Archive a set of modules.
200    #[endpoint(
201        method = POST,
202        path = "/scout/v2/module/archive",
203        name = "batchArchiveModules",
204        produces = conjure_http::server::StdResponseSerializer
205    )]
206    async fn batch_archive_modules(
207        &self,
208        #[auth]
209        auth_: conjure_object::BearerToken,
210        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
211        request: super::super::super::objects::module::BatchArchiveModulesRequest,
212    ) -> Result<
213        super::super::super::objects::module::BatchArchiveModulesResponse,
214        conjure_http::private::Error,
215    >;
216    /// Unarchive a set of modules.
217    #[endpoint(
218        method = POST,
219        path = "/scout/v2/module/unarchive",
220        name = "batchUnarchiveModules",
221        produces = conjure_http::server::StdResponseSerializer
222    )]
223    async fn batch_unarchive_modules(
224        &self,
225        #[auth]
226        auth_: conjure_object::BearerToken,
227        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
228        request: super::super::super::objects::module::BatchUnarchiveModulesRequest,
229    ) -> Result<
230        super::super::super::objects::module::BatchUnarchiveModulesResponse,
231        conjure_http::private::Error,
232    >;
233}
234/// Modules define collections of compute logic that can be shared and used across different contexts.
235/// The Modules Service provides the API for managing these collections of functions.
236#[conjure_http::conjure_endpoints(
237    name = "ModuleService",
238    use_legacy_error_serialization,
239    local
240)]
241pub trait LocalAsyncModuleService {
242    /// Create a new module.
243    #[endpoint(
244        method = POST,
245        path = "/scout/v2/module",
246        name = "createModule",
247        produces = conjure_http::server::StdResponseSerializer
248    )]
249    async fn create_module(
250        &self,
251        #[auth]
252        auth_: conjure_object::BearerToken,
253        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
254        request: super::super::super::objects::module::CreateModuleRequest,
255    ) -> Result<
256        super::super::super::objects::module::Module,
257        conjure_http::private::Error,
258    >;
259    /// Update an existing module.
260    #[endpoint(
261        method = PUT,
262        path = "/scout/v2/module/{moduleRid}",
263        name = "updateModule",
264        produces = conjure_http::server::StdResponseSerializer
265    )]
266    async fn update_module(
267        &self,
268        #[auth]
269        auth_: conjure_object::BearerToken,
270        #[path(
271            name = "moduleRid",
272            decoder = conjure_http::server::conjure::FromPlainDecoder,
273            log_as = "moduleRid"
274        )]
275        module_rid: conjure_object::ResourceIdentifier,
276        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
277        request: super::super::super::objects::module::UpdateModuleRequest,
278    ) -> Result<
279        super::super::super::objects::module::Module,
280        conjure_http::private::Error,
281    >;
282    /// Get a list of modules by their RIDs and version specifiers if provided.
283    #[endpoint(
284        method = POST,
285        path = "/scout/v2/module/batch-get",
286        name = "batchGetModules",
287        produces = conjure_http::server::conjure::CollectionResponseSerializer
288    )]
289    async fn batch_get_modules(
290        &self,
291        #[auth]
292        auth_: conjure_object::BearerToken,
293        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
294        request: super::super::super::objects::module::BatchGetModulesRequest,
295    ) -> Result<
296        Vec<super::super::super::objects::module::Module>,
297        conjure_http::private::Error,
298    >;
299    /// Search for modules.
300    #[endpoint(
301        method = POST,
302        path = "/scout/v2/module/search",
303        name = "searchModules",
304        produces = conjure_http::server::StdResponseSerializer
305    )]
306    async fn search_modules(
307        &self,
308        #[auth]
309        auth_: conjure_object::BearerToken,
310        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
311        request: super::super::super::objects::module::SearchModulesRequest,
312    ) -> Result<
313        super::super::super::objects::module::SearchModulesResponse,
314        conjure_http::private::Error,
315    >;
316    /// Archive a set of modules.
317    #[endpoint(
318        method = POST,
319        path = "/scout/v2/module/archive",
320        name = "batchArchiveModules",
321        produces = conjure_http::server::StdResponseSerializer
322    )]
323    async fn batch_archive_modules(
324        &self,
325        #[auth]
326        auth_: conjure_object::BearerToken,
327        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
328        request: super::super::super::objects::module::BatchArchiveModulesRequest,
329    ) -> Result<
330        super::super::super::objects::module::BatchArchiveModulesResponse,
331        conjure_http::private::Error,
332    >;
333    /// Unarchive a set of modules.
334    #[endpoint(
335        method = POST,
336        path = "/scout/v2/module/unarchive",
337        name = "batchUnarchiveModules",
338        produces = conjure_http::server::StdResponseSerializer
339    )]
340    async fn batch_unarchive_modules(
341        &self,
342        #[auth]
343        auth_: conjure_object::BearerToken,
344        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
345        request: super::super::super::objects::module::BatchUnarchiveModulesRequest,
346    ) -> Result<
347        super::super::super::objects::module::BatchUnarchiveModulesResponse,
348        conjure_http::private::Error,
349    >;
350}