use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub(super) struct VmSnapshotState {
pub(super) target_id: String,
pub(super) captured_at: DateTime<Utc>,
pub(super) paused: bool,
pub(super) vcpu_count: u32,
pub(super) memory_size: u64,
pub(super) devices: Vec<DeviceState>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub(super) struct DeviceState {
pub(super) device_type: String,
pub(super) data: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub(super) struct ContainerCheckpoint {
pub(super) target_id: String,
pub(super) captured_at: DateTime<Utc>,
pub(super) process_tree: Vec<u32>,
pub(super) open_files: Vec<String>,
pub(super) network_state: Option<serde_json::Value>,
}