podman_rest_client/v5/models/volume_config_response.rs
1use serde::{Deserialize, Serialize};
2#[derive(Default, Debug, Serialize, Deserialize)]
3pub struct VolumeConfigResponse {
4 /// Anonymous indicates that the volume was created as an anonymous
5 /// volume for a specific container, and will be removed when any
6 /// container using it is removed.
7 #[serde(rename = "Anonymous")]
8 pub anonymous: Option<bool>,
9 /// CreatedAt is the date and time the volume was created at. This is not
10 /// stored for older Libpod volumes; if so, it will be omitted.
11 #[serde(rename = "CreatedAt")]
12 pub created_at: Option<String>,
13 /// Driver is the driver used to create the volume.
14 /// If set to "local" or "", the Local driver (Podman built-in code) is
15 /// used to service the volume; otherwise, a volume plugin with the given
16 /// name is used to mount and manage the volume.
17 #[serde(rename = "Driver")]
18 pub driver: Option<String>,
19 /// GID is the GID that the volume was created with.
20 #[serde(rename = "GID")]
21 pub gid: Option<i64>,
22 /// Labels includes the volume's configured labels, key:value pairs that
23 /// can be passed during volume creation to provide information for third
24 /// party tools.
25 #[serde(rename = "Labels")]
26 pub labels: Option<std::collections::HashMap<String, String>>,
27 /// LockNumber is the number of the volume's Libpod lock.
28 #[serde(rename = "LockNumber")]
29 pub lock_number: Option<u32>,
30 /// MountCount is the number of times this volume has been mounted.
31 #[serde(rename = "MountCount")]
32 pub mount_count: Option<u64>,
33 /// Mountpoint is the path on the host where the volume is mounted.
34 #[serde(rename = "Mountpoint")]
35 pub mountpoint: Option<String>,
36 /// Name is the name of the volume.
37 #[serde(rename = "Name")]
38 pub name: Option<String>,
39 /// NeedsChown indicates that the next time the volume is mounted into
40 /// a container, the container will chown the volume to the container process
41 /// UID/GID.
42 #[serde(rename = "NeedsChown")]
43 pub needs_chown: Option<bool>,
44 /// NeedsCopyUp indicates that the next time the volume is mounted into
45 #[serde(rename = "NeedsCopyUp")]
46 pub needs_copy_up: Option<bool>,
47 /// Options is a set of options that were used when creating the volume.
48 /// For the Local driver, these are mount options that will be used to
49 /// determine how a local filesystem is mounted; they are handled as
50 /// parameters to Mount in a manner described in the volume create
51 /// manpage.
52 /// For non-local drivers, these are passed as-is to the volume plugin.
53 #[serde(rename = "Options")]
54 pub options: Option<std::collections::HashMap<String, String>>,
55 /// Scope is unused and provided solely for Docker compatibility. It is
56 /// unconditionally set to "local".
57 #[serde(rename = "Scope")]
58 pub scope: Option<String>,
59 /// Status is used to return information on the volume's current state,
60 /// if the volume was created using a volume plugin (uses a Driver that
61 /// is not the local driver).
62 /// Status is provided to us by an external program, so no guarantees are
63 /// made about its format or contents. Further, it is an optional field,
64 /// so it may not be set even in cases where a volume plugin is in use.
65 #[serde(rename = "Status")]
66 pub status: Option<std::collections::HashMap<String, serde_json::Value>>,
67 /// StorageID is the ID of the container backing the volume in c/storage.
68 /// Only used with Image Volumes.
69 #[serde(rename = "StorageID")]
70 pub storage_id: Option<String>,
71 /// Timeout is the specified driver timeout if given
72 #[serde(rename = "Timeout")]
73 pub timeout: Option<u64>,
74 /// UID is the UID that the volume was created with.
75 #[serde(rename = "UID")]
76 pub uid: Option<i64>,
77}