podman_rest_client/v5/models/
inspect_pod_infra_config.rs

1use serde::{Deserialize, Serialize};
2#[derive(Default, Debug, Serialize, Deserialize)]
3/// InspectPodInfraConfig contains the configuration of the pod's infra
4/// container.
5pub struct InspectPodInfraConfig {
6    /// DNSOption is a set of DNS options that will be used by the infra
7    /// container's resolv.conf and shared with the remainder of the pod.
8    #[serde(rename = "DNSOption")]
9    pub dns_option: Option<Vec<String>>,
10    /// DNSSearch is a set of DNS search domains that will be used by the
11    /// infra container's resolv.conf and shared with the remainder of the
12    /// pod.
13    #[serde(rename = "DNSSearch")]
14    pub dns_search: Option<Vec<String>>,
15    /// DNSServer is a set of DNS Servers that will be used by the infra
16    /// container's resolv.conf and shared with the remainder of the pod.
17    #[serde(rename = "DNSServer")]
18    pub dns_server: Option<Vec<String>>,
19    /// HostAdd adds a number of hosts to the infra container's resolv.conf
20    /// which will be shared with the rest of the pod.
21    #[serde(rename = "HostAdd")]
22    pub host_add: Option<Vec<String>>,
23    /// HostNetwork is whether the infra container (and thus the whole pod)
24    /// will use the host's network and not create a network namespace.
25    #[serde(rename = "HostNetwork")]
26    pub host_network: Option<bool>,
27    /// NetworkOptions are additional options for each network
28    #[serde(rename = "NetworkOptions")]
29    pub network_options: Option<std::collections::HashMap<String, Vec<String>>>,
30    /// Networks is a list of networks the pod will join.
31    #[serde(rename = "Networks")]
32    pub networks: Option<Vec<String>>,
33    /// NoManageHosts indicates that the pod will not manage /etc/hosts and
34    /// instead each container will handle their own.
35    #[serde(rename = "NoManageHosts")]
36    pub no_manage_hosts: Option<bool>,
37    /// NoManageResolvConf indicates that the pod will not manage resolv.conf
38    /// and instead each container will handle their own.
39    #[serde(rename = "NoManageResolvConf")]
40    pub no_manage_resolv_conf: Option<bool>,
41    /// PortBindings are ports that will be forwarded to the infra container
42    /// and then shared with the pod.
43    #[serde(rename = "PortBindings")]
44    pub port_bindings:
45        Option<std::collections::HashMap<String, Option<Vec<crate::v5::models::InspectHostPort>>>>,
46    /// StaticIP is a static IPv4 that will be assigned to the infra
47    /// container and then used by the pod.
48    #[serde(rename = "StaticIP")]
49    pub static_ip: Option<String>,
50    /// StaticMAC is a static MAC address that will be assigned to the infra
51    /// container and then used by the pod.
52    #[serde(rename = "StaticMAC")]
53    pub static_mac: Option<String>,
54    /// CPUPeriod contains the CPU period of the pod
55    pub cpu_period: Option<u64>,
56    /// CPUQuota contains the CPU quota of the pod
57    pub cpu_quota: Option<i64>,
58    /// CPUSetCPUs contains linux specific CPU data for the container
59    pub cpuset_cpus: Option<String>,
60    /// Pid is the PID namespace mode of the pod's infra container
61    pub pid_ns: Option<String>,
62    /// UserNS is the usernamespace that all the containers in the pod will join.
63    pub userns: Option<String>,
64    /// UtsNS is the uts namespace that all containers in the pod will join
65    pub uts_ns: Option<String>,
66}