Skip to main content

nominal_api/conjure/clients/scout/sandbox/api/
sandbox_workspace_service.rs

1use conjure_http::endpoint;
2/// Service for managing demo workbooks in sandbox workspaces.
3/// All endpoints validate that the provided workspace has the human-readable ID "sandbox".
4#[conjure_http::conjure_client(name = "SandboxWorkspaceService")]
5pub trait SandboxWorkspaceService<
6    #[response_body]
7    I: Iterator<
8            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
9        >,
10> {
11    /// Returns the list of demo workbook RIDs for the given sandbox workspace.
12    #[endpoint(
13        method = GET,
14        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
15        name = "getDemoWorkbooks",
16        accept = conjure_http::client::StdResponseDeserializer
17    )]
18    fn get_demo_workbooks(
19        &self,
20        #[auth]
21        auth_: &conjure_object::BearerToken,
22        #[path(
23            name = "workspaceRid",
24            encoder = conjure_http::client::conjure::PlainEncoder
25        )]
26        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
27    ) -> Result<
28        super::super::super::super::super::objects::scout::sandbox::api::GetDemoWorkbooksResponse,
29        conjure_http::private::Error,
30    >;
31    /// Sets the list of demo workbook RIDs for the given sandbox workspace, replacing any existing entries.
32    #[endpoint(
33        method = PUT,
34        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
35        name = "setDemoWorkbooks",
36        accept = conjure_http::client::conjure::EmptyResponseDeserializer
37    )]
38    fn set_demo_workbooks(
39        &self,
40        #[auth]
41        auth_: &conjure_object::BearerToken,
42        #[path(
43            name = "workspaceRid",
44            encoder = conjure_http::client::conjure::PlainEncoder
45        )]
46        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
47        #[body(serializer = conjure_http::client::StdRequestSerializer)]
48        request: &super::super::super::super::super::objects::scout::sandbox::api::SetDemoWorkbooksRequest,
49    ) -> Result<(), conjure_http::private::Error>;
50    /// Appends workbooks to the existing demo workbook list. If archiveOnLabelConflict is true,
51    /// existing workbooks with an exact label-set match are archived along with all related
52    /// resources instead of raising an error. The cascade performs a full graph traversal:
53    /// starting from the workbook's data scope (asset RIDs or run RIDs), it alternates between
54    /// discovering runs linked to assets and assets linked to runs until convergence. All
55    /// discovered assets, runs, datasets (from both asset and run data scopes), and events
56    /// (from snapshot refs and from all discovered assets) are then archived. This ensures no
57    /// orphaned resources remain when demo workbooks are replaced. Partial (subset/superset)
58    /// label conflicts always raise an error.
59    #[endpoint(
60        method = POST,
61        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
62        name = "addDemoWorkbooks",
63        accept = conjure_http::client::conjure::EmptyResponseDeserializer
64    )]
65    fn add_demo_workbooks(
66        &self,
67        #[auth]
68        auth_: &conjure_object::BearerToken,
69        #[path(
70            name = "workspaceRid",
71            encoder = conjure_http::client::conjure::PlainEncoder
72        )]
73        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
74        #[body(serializer = conjure_http::client::StdRequestSerializer)]
75        request: &super::super::super::super::super::objects::scout::sandbox::api::AddDemoWorkbooksRequest,
76    ) -> Result<(), conjure_http::private::Error>;
77}
78/// Service for managing demo workbooks in sandbox workspaces.
79/// All endpoints validate that the provided workspace has the human-readable ID "sandbox".
80#[conjure_http::conjure_client(name = "SandboxWorkspaceService")]
81pub trait AsyncSandboxWorkspaceService<
82    #[response_body]
83    I: conjure_http::private::Stream<
84            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
85        >,
86> {
87    /// Returns the list of demo workbook RIDs for the given sandbox workspace.
88    #[endpoint(
89        method = GET,
90        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
91        name = "getDemoWorkbooks",
92        accept = conjure_http::client::StdResponseDeserializer
93    )]
94    async fn get_demo_workbooks(
95        &self,
96        #[auth]
97        auth_: &conjure_object::BearerToken,
98        #[path(
99            name = "workspaceRid",
100            encoder = conjure_http::client::conjure::PlainEncoder
101        )]
102        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
103    ) -> Result<
104        super::super::super::super::super::objects::scout::sandbox::api::GetDemoWorkbooksResponse,
105        conjure_http::private::Error,
106    >;
107    /// Sets the list of demo workbook RIDs for the given sandbox workspace, replacing any existing entries.
108    #[endpoint(
109        method = PUT,
110        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
111        name = "setDemoWorkbooks",
112        accept = conjure_http::client::conjure::EmptyResponseDeserializer
113    )]
114    async fn set_demo_workbooks(
115        &self,
116        #[auth]
117        auth_: &conjure_object::BearerToken,
118        #[path(
119            name = "workspaceRid",
120            encoder = conjure_http::client::conjure::PlainEncoder
121        )]
122        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
123        #[body(serializer = conjure_http::client::StdRequestSerializer)]
124        request: &super::super::super::super::super::objects::scout::sandbox::api::SetDemoWorkbooksRequest,
125    ) -> Result<(), conjure_http::private::Error>;
126    /// Appends workbooks to the existing demo workbook list. If archiveOnLabelConflict is true,
127    /// existing workbooks with an exact label-set match are archived along with all related
128    /// resources instead of raising an error. The cascade performs a full graph traversal:
129    /// starting from the workbook's data scope (asset RIDs or run RIDs), it alternates between
130    /// discovering runs linked to assets and assets linked to runs until convergence. All
131    /// discovered assets, runs, datasets (from both asset and run data scopes), and events
132    /// (from snapshot refs and from all discovered assets) are then archived. This ensures no
133    /// orphaned resources remain when demo workbooks are replaced. Partial (subset/superset)
134    /// label conflicts always raise an error.
135    #[endpoint(
136        method = POST,
137        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
138        name = "addDemoWorkbooks",
139        accept = conjure_http::client::conjure::EmptyResponseDeserializer
140    )]
141    async fn add_demo_workbooks(
142        &self,
143        #[auth]
144        auth_: &conjure_object::BearerToken,
145        #[path(
146            name = "workspaceRid",
147            encoder = conjure_http::client::conjure::PlainEncoder
148        )]
149        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
150        #[body(serializer = conjure_http::client::StdRequestSerializer)]
151        request: &super::super::super::super::super::objects::scout::sandbox::api::AddDemoWorkbooksRequest,
152    ) -> Result<(), conjure_http::private::Error>;
153}
154/// Service for managing demo workbooks in sandbox workspaces.
155/// All endpoints validate that the provided workspace has the human-readable ID "sandbox".
156#[conjure_http::conjure_client(name = "SandboxWorkspaceService", local)]
157pub trait LocalAsyncSandboxWorkspaceService<
158    #[response_body]
159    I: conjure_http::private::Stream<
160            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
161        >,
162> {
163    /// Returns the list of demo workbook RIDs for the given sandbox workspace.
164    #[endpoint(
165        method = GET,
166        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
167        name = "getDemoWorkbooks",
168        accept = conjure_http::client::StdResponseDeserializer
169    )]
170    async fn get_demo_workbooks(
171        &self,
172        #[auth]
173        auth_: &conjure_object::BearerToken,
174        #[path(
175            name = "workspaceRid",
176            encoder = conjure_http::client::conjure::PlainEncoder
177        )]
178        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
179    ) -> Result<
180        super::super::super::super::super::objects::scout::sandbox::api::GetDemoWorkbooksResponse,
181        conjure_http::private::Error,
182    >;
183    /// Sets the list of demo workbook RIDs for the given sandbox workspace, replacing any existing entries.
184    #[endpoint(
185        method = PUT,
186        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
187        name = "setDemoWorkbooks",
188        accept = conjure_http::client::conjure::EmptyResponseDeserializer
189    )]
190    async fn set_demo_workbooks(
191        &self,
192        #[auth]
193        auth_: &conjure_object::BearerToken,
194        #[path(
195            name = "workspaceRid",
196            encoder = conjure_http::client::conjure::PlainEncoder
197        )]
198        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
199        #[body(serializer = conjure_http::client::StdRequestSerializer)]
200        request: &super::super::super::super::super::objects::scout::sandbox::api::SetDemoWorkbooksRequest,
201    ) -> Result<(), conjure_http::private::Error>;
202    /// Appends workbooks to the existing demo workbook list. If archiveOnLabelConflict is true,
203    /// existing workbooks with an exact label-set match are archived along with all related
204    /// resources instead of raising an error. The cascade performs a full graph traversal:
205    /// starting from the workbook's data scope (asset RIDs or run RIDs), it alternates between
206    /// discovering runs linked to assets and assets linked to runs until convergence. All
207    /// discovered assets, runs, datasets (from both asset and run data scopes), and events
208    /// (from snapshot refs and from all discovered assets) are then archived. This ensures no
209    /// orphaned resources remain when demo workbooks are replaced. Partial (subset/superset)
210    /// label conflicts always raise an error.
211    #[endpoint(
212        method = POST,
213        path = "/scout/v1/sandbox-workspace/{workspaceRid}/demo-workbooks",
214        name = "addDemoWorkbooks",
215        accept = conjure_http::client::conjure::EmptyResponseDeserializer
216    )]
217    async fn add_demo_workbooks(
218        &self,
219        #[auth]
220        auth_: &conjure_object::BearerToken,
221        #[path(
222            name = "workspaceRid",
223            encoder = conjure_http::client::conjure::PlainEncoder
224        )]
225        workspace_rid: &super::super::super::super::super::objects::api::rids::WorkspaceRid,
226        #[body(serializer = conjure_http::client::StdRequestSerializer)]
227        request: &super::super::super::super::super::objects::scout::sandbox::api::AddDemoWorkbooksRequest,
228    ) -> Result<(), conjure_http::private::Error>;
229}