1use crate::common;
12use crate::ml;
13use serde::{Deserialize, Serialize};
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Source {
17 #[serde(rename = "actions", default, skip_serializing_if = "Option::is_none")]
18 pub actions: Option<Vec<ml::Action>>,
19 #[serde(
21 rename = "current_worker_node_count",
22 default,
23 skip_serializing_if = "Option::is_none"
24 )]
25 pub current_worker_node_count: Option<f64>,
26 #[serde(
28 rename = "chunk_number",
29 default,
30 skip_serializing_if = "Option::is_none"
31 )]
32 pub chunk_number: Option<u32>,
33 #[serde(
35 rename = "model_content_hash_value",
36 default,
37 skip_serializing_if = "Option::is_none"
38 )]
39 pub model_content_hash_value: Option<String>,
40 #[serde(
42 rename = "model_version",
43 default,
44 skip_serializing_if = "Option::is_none"
45 )]
46 pub model_version: Option<String>,
47 #[serde(
49 rename = "model_task_type",
50 default,
51 skip_serializing_if = "Option::is_none"
52 )]
53 pub model_task_type: Option<String>,
54 #[serde(rename = "state", default, skip_serializing_if = "Option::is_none")]
56 pub state: Option<String>,
57 #[serde(
58 rename = "worker_node",
59 default,
60 skip_serializing_if = "Option::is_none"
61 )]
62 pub worker_node: Option<Vec<common::NodeIds>>,
63 #[serde(
65 rename = "function_name",
66 default,
67 skip_serializing_if = "Option::is_none"
68 )]
69 pub function_name: Option<String>,
70 #[serde(
72 rename = "latest_version",
73 default,
74 skip_serializing_if = "Option::is_none"
75 )]
76 pub latest_version: Option<u32>,
77 #[serde(
79 rename = "total_chunks",
80 default,
81 skip_serializing_if = "Option::is_none"
82 )]
83 pub total_chunks: Option<u32>,
84 #[serde(
85 rename = "model_config",
86 default,
87 skip_serializing_if = "Option::is_none"
88 )]
89 pub model_config: Option<ml::ModelConfig>,
90 #[serde(
92 rename = "model_content_size_in_bytes",
93 default,
94 skip_serializing_if = "Option::is_none"
95 )]
96 pub model_content_size_in_bytes: Option<u32>,
97 #[serde(
99 rename = "updated_time",
100 default,
101 skip_serializing_if = "Option::is_none"
102 )]
103 pub updated_time: Option<String>,
104 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
106 pub r#type: Option<String>,
107 #[serde(rename = "version", default, skip_serializing_if = "Option::is_none")]
108 pub version: Option<String>,
109 #[serde(rename = "algorithm", default, skip_serializing_if = "Option::is_none")]
111 pub algorithm: Option<String>,
112 #[serde(
114 rename = "input_type",
115 default,
116 skip_serializing_if = "Option::is_none"
117 )]
118 pub input_type: Option<String>,
119 #[serde(rename = "is_hidden", default, skip_serializing_if = "Option::is_none")]
121 pub is_hidden: Option<bool>,
122 #[serde(rename = "memory_id", default, skip_serializing_if = "Option::is_none")]
123 pub memory_id: Option<String>,
124 #[serde(
126 rename = "last_deployed_time",
127 default,
128 skip_serializing_if = "Option::is_none"
129 )]
130 pub last_deployed_time: Option<u32>,
131 #[serde(
133 rename = "connector_id",
134 default,
135 skip_serializing_if = "Option::is_none"
136 )]
137 pub connector_id: Option<String>,
138 #[serde(
140 rename = "planning_worker_node_count",
141 default,
142 skip_serializing_if = "Option::is_none"
143 )]
144 pub planning_worker_node_count: Option<f64>,
145 #[serde(rename = "protocol", default, skip_serializing_if = "Option::is_none")]
147 pub protocol: Option<String>,
148 #[serde(rename = "user", default, skip_serializing_if = "Option::is_none")]
150 pub user: Option<String>,
151 #[serde(
152 rename = "model_format",
153 default,
154 skip_serializing_if = "Option::is_none"
155 )]
156 pub model_format: Option<String>,
157 #[serde(rename = "task_type", default, skip_serializing_if = "Option::is_none")]
159 pub task_type: Option<String>,
160 #[serde(rename = "access", default, skip_serializing_if = "Option::is_none")]
162 pub access: Option<String>,
163 #[serde(
165 rename = "created_time",
166 default,
167 skip_serializing_if = "Option::is_none"
168 )]
169 pub created_time: Option<u32>,
170 #[serde(
172 rename = "model_group_id",
173 default,
174 skip_serializing_if = "Option::is_none"
175 )]
176 pub model_group_id: Option<String>,
177 #[serde(
178 rename = "parameters",
179 default,
180 skip_serializing_if = "Option::is_none"
181 )]
182 pub parameters: Option<ml::Parameters>,
183 #[serde(
185 rename = "last_registered_time",
186 default,
187 skip_serializing_if = "Option::is_none"
188 )]
189 pub last_registered_time: Option<u32>,
190 #[serde(
192 rename = "auto_redeploy_retry_times",
193 default,
194 skip_serializing_if = "Option::is_none"
195 )]
196 pub auto_redeploy_retry_times: Option<u32>,
197 #[serde(
199 rename = "deploy_to_all_nodes",
200 default,
201 skip_serializing_if = "Option::is_none"
202 )]
203 pub deploy_to_all_nodes: Option<bool>,
204 #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
205 pub name: Option<String>,
206 #[serde(rename = "owner", default, skip_serializing_if = "Option::is_none")]
207 pub owner: Option<ml::Owner>,
208 #[serde(
210 rename = "additional_info",
211 default,
212 skip_serializing_if = "Option::is_none"
213 )]
214 pub additional_info: Option<ml::AdditionalInfo>,
215 #[serde(rename = "tools", default, skip_serializing_if = "Option::is_none")]
216 pub tools: Option<Vec<ml::ToolItems>>,
217 #[serde(rename = "url", default, skip_serializing_if = "Option::is_none")]
219 pub url: Option<String>,
220 #[serde(
222 rename = "backend_roles",
223 default,
224 skip_serializing_if = "Option::is_none"
225 )]
226 pub backend_roles: Option<Vec<String>>,
227 #[serde(
229 rename = "last_update_time",
230 default,
231 skip_serializing_if = "Option::is_none"
232 )]
233 pub last_update_time: Option<u32>,
234 #[serde(rename = "app_type", default, skip_serializing_if = "Option::is_none")]
236 pub app_type: Option<String>,
237 #[serde(
238 rename = "planning_worker_nodes",
239 default,
240 skip_serializing_if = "Option::is_none"
241 )]
242 pub planning_worker_nodes: Option<Vec<common::NodeIds>>,
243 #[serde(
245 rename = "model_state",
246 default,
247 skip_serializing_if = "Option::is_none"
248 )]
249 pub model_state: Option<String>,
250 #[serde(rename = "error", default, skip_serializing_if = "Option::is_none")]
252 pub error: Option<String>,
253 #[serde(rename = "is_async", default, skip_serializing_if = "Option::is_none")]
255 pub is_async: Option<bool>,
256 #[serde(
258 rename = "description",
259 default,
260 skip_serializing_if = "Option::is_none"
261 )]
262 pub description: Option<String>,
263 #[serde(
265 rename = "last_updated_time",
266 default,
267 skip_serializing_if = "Option::is_none"
268 )]
269 pub last_updated_time: Option<u32>,
270 #[serde(rename = "memory", default, skip_serializing_if = "Option::is_none")]
271 pub memory: Option<ml::Memory>,
272 #[serde(rename = "model_id", default, skip_serializing_if = "Option::is_none")]
273 pub model_id: Option<String>,
274}
275
276impl Source {
277 pub fn new() -> Source {
278 Source {
279 actions: None,
280 current_worker_node_count: None,
281 chunk_number: None,
282 model_content_hash_value: None,
283 model_version: None,
284 model_task_type: None,
285 state: None,
286 worker_node: None,
287 function_name: None,
288 latest_version: None,
289 total_chunks: None,
290 model_config: None,
291 model_content_size_in_bytes: None,
292 updated_time: None,
293 r#type: None,
294 version: None,
295 algorithm: None,
296 input_type: None,
297 is_hidden: None,
298 memory_id: None,
299 last_deployed_time: None,
300 connector_id: None,
301 planning_worker_node_count: None,
302 protocol: None,
303 user: None,
304 model_format: None,
305 task_type: None,
306 access: None,
307 created_time: None,
308 model_group_id: None,
309 parameters: None,
310 last_registered_time: None,
311 auto_redeploy_retry_times: None,
312 deploy_to_all_nodes: None,
313 name: None,
314 owner: None,
315 additional_info: None,
316 tools: None,
317 url: None,
318 backend_roles: None,
319 last_update_time: None,
320 app_type: None,
321 planning_worker_nodes: None,
322 model_state: None,
323 error: None,
324 is_async: None,
325 description: None,
326 last_updated_time: None,
327 memory: None,
328 model_id: None,
329 }
330 }
331}