Skip to main content

burn_central_client/fleet/
response.rs

1use serde::{Deserialize, Serialize};
2
3/// Response containing fleet sync snapshot with model and configuration updates.
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct FleetSyncSnapshotResponse {
6    /// The model identifier.
7    pub model_id: String,
8    /// The model version identifier.
9    pub model_version_id: String,
10    /// Runtime configuration for the device.
11    pub runtime_config: serde_json::Value,
12}
13
14/// Presigned file descriptor used for fleet model downloads.
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct FleetPresignedModelFileUrlResponse {
17    /// Path relative to the model root.
18    pub rel_path: String,
19    /// Presigned URL from which to download file bytes.
20    pub url: String,
21    /// Expected file size in bytes.
22    pub size_bytes: u64,
23    /// Expected checksum (sha256).
24    pub checksum: String,
25}
26
27/// Response containing presigned URLs for downloading model files.
28#[derive(Debug, Clone, Serialize, Deserialize)]
29pub struct FleetModelDownloadResponse {
30    /// The model version identifier.
31    pub model_version_id: String,
32    /// List of presigned URLs for each model file.
33    pub files: Vec<FleetPresignedModelFileUrlResponse>,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
37pub struct FleetDeviceAuthTokenResponse {
38    pub access_token: String,
39    pub expires_in_seconds: u64,
40}