decthings_api/client/rpc/spawned/
response.rs

1use crate::client::rpc::ExecutionLocation;
2use serde::Deserialize;
3
4#[cfg(feature = "events")]
5#[derive(Debug, Clone, Deserialize)]
6#[serde(rename_all = "snake_case", tag = "code")]
7pub enum SpawnedCommandTerminatedReason {
8    TerminatedOnRequest,
9    LauncherTerminated,
10    InactiveTimeout,
11    Unknown,
12    #[serde(rename_all = "camelCase")]
13    ProcessExit {
14        exit_code: Option<i32>,
15        signal: Option<String>,
16        oom: bool,
17    },
18}
19
20#[cfg(feature = "events")]
21#[derive(Debug, Clone, Deserialize)]
22#[serde(rename_all = "camelCase", tag = "event", content = "params")]
23pub enum SpawnedEvent {
24    #[serde(rename_all = "camelCase")]
25    Exit {
26        spawned_command_id: String,
27        reason: SpawnedCommandTerminatedReason,
28    },
29    #[serde(rename_all = "camelCase")]
30    Stdout {
31        spawned_command_id: String,
32        #[serde(skip_deserializing)]
33        data: bytes::Bytes,
34    },
35    #[serde(rename_all = "camelCase")]
36    Stderr {
37        spawned_command_id: String,
38        #[serde(skip_deserializing)]
39        data: bytes::Bytes,
40    },
41}
42
43#[derive(Debug, Clone, Deserialize)]
44#[serde(rename_all = "camelCase")]
45pub struct SpawnCommandResult {
46    /// A unique identifier which you should use in subsequent API calls.
47    pub spawned_command_id: String,
48}
49
50#[derive(Debug, Clone, Deserialize)]
51#[serde(rename_all = "snake_case", tag = "code")]
52pub enum SpawnCommandError {
53    PersistentLauncherNotFound,
54    QuotaExceeded,
55    ServerOverloaded,
56    BadCredentials,
57    TooManyRequests,
58    PaymentRequired,
59    Unknown,
60    #[serde(rename_all = "camelCase")]
61    InvalidParameter {
62        parameter_name: String,
63        reason: String,
64    },
65}
66
67#[derive(Debug, Clone, Deserialize)]
68#[serde(rename_all = "camelCase")]
69pub struct SpawnCommandForModelResult {
70    /// A unique identifier which you should use in subsequent API calls.
71    pub spawned_command_id: String,
72}
73
74#[derive(Debug, Clone, Deserialize)]
75#[serde(rename_all = "snake_case", tag = "code")]
76pub enum SpawnCommandForModelError {
77    ModelNotFound,
78    PersistentLauncherNotFound,
79    QuotaExceeded,
80    ServerOverloaded,
81    BadCredentials,
82    TooManyRequests,
83    PaymentRequired,
84    Unknown,
85    #[serde(rename_all = "camelCase")]
86    InvalidParameter {
87        parameter_name: String,
88        reason: String,
89    },
90}
91
92#[derive(Debug, Clone, Deserialize)]
93#[serde(rename_all = "camelCase")]
94pub struct TerminateSpawnedCommandResult {}
95
96#[derive(Debug, Clone, Deserialize)]
97#[serde(rename_all = "snake_case", tag = "code")]
98pub enum TerminateSpawnedCommandError {
99    SpawnedCommandNotFound,
100    BadCredentials,
101    TooManyRequests,
102    PaymentRequired,
103    Unknown,
104    #[serde(rename_all = "camelCase")]
105    InvalidParameter {
106        parameter_name: String,
107        reason: String,
108    },
109}
110
111#[derive(Debug, Clone, Deserialize)]
112#[serde(rename_all = "camelCase")]
113pub struct SpawnedCommand {
114    pub id: String,
115    pub started_at: i64,
116    pub model_id: Option<String>,
117    pub execution_location: ExecutionLocation,
118}
119
120#[derive(Debug, Clone, Deserialize)]
121#[serde(rename_all = "camelCase")]
122pub struct GetSpawnedCommandsResult {
123    pub spawned_commands: Vec<SpawnedCommand>,
124}
125
126#[derive(Debug, Clone, Deserialize)]
127#[serde(rename_all = "snake_case", tag = "code")]
128pub enum GetSpawnedCommandsError {
129    BadCredentials,
130    TooManyRequests,
131    PaymentRequired,
132    Unknown,
133    #[serde(rename_all = "camelCase")]
134    InvalidParameter {
135        parameter_name: String,
136        reason: String,
137    },
138}
139
140#[derive(Debug, Clone, Deserialize)]
141#[serde(rename_all = "camelCase")]
142pub struct WriteToSpawnedCommandResult {}
143
144#[derive(Debug, Clone, Deserialize)]
145#[serde(rename_all = "snake_case", tag = "code")]
146pub enum WriteToSpawnedCommandError {
147    SpawnedCommandNotFound,
148    BadCredentials,
149    TooManyRequests,
150    PaymentRequired,
151    Unknown,
152    #[serde(rename_all = "camelCase")]
153    InvalidParameter {
154        parameter_name: String,
155        reason: String,
156    },
157}
158
159#[cfg(feature = "events")]
160#[derive(Debug, Clone, Deserialize)]
161#[serde(rename_all = "camelCase")]
162pub struct SpawnedSubscribeToEventsResult {}
163
164#[cfg(feature = "events")]
165#[derive(Debug, Clone, Deserialize)]
166#[serde(rename_all = "snake_case", tag = "code")]
167pub enum SpawnedSubscribeToEventsError {
168    SpawnedCommandNotFound,
169    BadCredentials,
170    TooManyRequests,
171    PaymentRequired,
172    Unknown,
173    #[serde(rename_all = "camelCase")]
174    InvalidParameter {
175        parameter_name: String,
176        reason: String,
177    },
178}
179
180#[cfg(feature = "events")]
181#[derive(Debug, Clone, Deserialize)]
182#[serde(rename_all = "camelCase")]
183pub struct SpawnedUnsubscribeFromEventsResult {}
184
185#[cfg(feature = "events")]
186#[derive(Debug, Clone, Deserialize)]
187#[serde(rename_all = "snake_case", tag = "code")]
188pub enum SpawnedUnsubscribeFromEventsError {
189    NotSubscribed,
190    TooManyRequests,
191    Unknown,
192    #[serde(rename_all = "camelCase")]
193    InvalidParameter {
194        parameter_name: String,
195        reason: String,
196    },
197}