podman_client/models/podman/common/
volume_mount.rs1use 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}