podman_client/models/podman/common/
id_mapping_options.rs

1use core::fmt;
2
3use serde::{Deserialize, Serialize};
4
5use crate::models::podman::common::id_map::IdMap;
6
7#[derive(Deserialize, Serialize, Default)]
8pub struct IdMappingOptions {
9    #[serde(rename = "AutoUserNs")]
10    pub auto_user_ns: Option<bool>,
11
12    #[serde(rename = "AutoUserNsOpts")]
13    pub auto_user_ns_opts: Option<IdMappingOptionsAutoUserNsOptsOptions>,
14
15    #[serde(rename = "GIDMap")]
16    pub gid_map: Option<Vec<IdMap>>,
17
18    #[serde(rename = "HostGIDMapping")]
19    pub host_gid_mapping: Option<bool>,
20
21    #[serde(rename = "HostUIDMapping")]
22    pub host_uid_mapping: Option<bool>,
23
24    #[serde(rename = "UIDMap")]
25    pub uid_map: Option<Vec<IdMap>>,
26}
27
28impl fmt::Debug for IdMappingOptions {
29    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
30        let json = serde_json::to_string_pretty(self).map_err(|_| fmt::Error)?;
31        f.write_str(&json)
32    }
33}
34
35#[derive(Deserialize, Serialize, Default)]
36pub struct IdMappingOptionsAutoUserNsOptsOptions {
37    #[serde(rename = "AdditionalGIDMappings")]
38    pub additional_gid_mappings: Option<Vec<IdMap>>,
39
40    #[serde(rename = "AdditionalUIDMappings")]
41    pub additional_uid_mappings: Option<Vec<IdMap>>,
42
43    #[serde(rename = "GroupFile")]
44    pub group_file: Option<String>,
45
46    #[serde(rename = "InitialSize")]
47    pub initial_size: Option<u32>,
48
49    #[serde(rename = "PasswdFile")]
50    pub passwd_file: Option<String>,
51
52    #[serde(rename = "Size")]
53    pub size: Option<u32>,
54}