podman_client/models/podman/common/
volume_mount.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Deserialize, Serialize, Default)]
6#[serde(rename_all = "PascalCase")]
7pub struct VolumeMount {
8    pub bind_options: Option<VolumeMountBindOptions>,
9    pub cluster_options: Option<HashMap<String, String>>,
10    pub consistency: Option<String>,
11    pub image_options: Option<VolumeMountImageOptions>,
12    pub read_only: Option<bool>,
13    pub source: Option<String>,
14    pub target: Option<String>,
15    pub tmp_fs_options: Option<VolumeMountTmpFsOptions>,
16    pub r#type: Option<String>,
17    pub volume_options: Option<VolumeMountVolumeOptions>,
18}
19
20#[derive(Deserialize, Serialize, Default)]
21#[serde(rename_all = "PascalCase")]
22pub struct VolumeMountBindOptions {
23    pub create_mountpoint: Option<bool>,
24    pub non_recursive: Option<bool>,
25    pub propagation: Option<String>,
26    pub read_only_force_recursive: Option<bool>,
27    pub read_only_non_recursive: Option<bool>,
28}
29
30#[derive(Deserialize, Serialize, Default)]
31#[serde(rename_all = "PascalCase")]
32pub struct VolumeMountImageOptions {
33    pub subpath: Option<String>,
34}
35
36#[derive(Deserialize, Serialize, Default)]
37#[serde(rename_all = "PascalCase")]
38pub struct VolumeMountTmpFsOptions {
39    pub mode: Option<u32>,
40    pub options: Option<Vec<String>>,
41    pub size_bytes: Option<i64>,
42}
43
44#[derive(Deserialize, Serialize, Default)]
45#[serde(rename_all = "PascalCase")]
46pub struct VolumeMountVolumeOptions {
47    pub driver_config: Option<VolumeMountOptionsDriverConfig>,
48    pub labels: Option<HashMap<String, String>>,
49    pub no_copy: Option<bool>,
50    pub subpath: Option<String>,
51}
52
53#[derive(Deserialize, Serialize)]
54#[serde(rename_all = "PascalCase")]
55pub struct VolumeMountOptionsDriverConfig {
56    pub name: String,
57    pub options: Option<HashMap<String, String>>,
58}