daytona_client/models/
volume.rs1use chrono::{DateTime, Utc};
4use serde::{Deserialize, Serialize};
5use uuid::Uuid;
6
7#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
9#[serde(rename_all = "snake_case")]
10pub enum VolumeState {
11 Creating,
12 Ready,
13 PendingCreate,
14 PendingDelete,
15 Deleting,
16 Deleted,
17 Error,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
22#[serde(rename_all = "camelCase")]
23pub struct VolumeDto {
24 pub id: Uuid,
25 pub name: String,
26 pub organization_id: Uuid,
27 pub state: VolumeState,
28 pub created_at: DateTime<Utc>,
29 pub updated_at: DateTime<Utc>,
30 #[serde(skip_serializing_if = "Option::is_none")]
31 pub last_used_at: Option<DateTime<Utc>>,
32 #[serde(skip_serializing_if = "Option::is_none")]
33 pub error_reason: Option<String>,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
38pub struct CreateVolumeRequest {
39 pub name: String,
40}
41
42#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(rename_all = "camelCase")]
45pub struct SandboxVolumeAttachment {
46 pub volume_id: Uuid,
47 pub mount_path: String,
48}