podman_client/models/podman/containers/
update_configuration.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5use crate::models::podman::common::{
6 blkio_weight_device::BlkioWeightDevice,
7 linux_device_cgroup::LinuxDeviceCgroup,
8 linux_resources::{
9 LinuxResourcesBlockIo, LinuxResourcesCpu, LinuxResourcesHugepageLimit,
10 LinuxResourcesMemory, LinuxResourcesNetwork, LinuxResourcesPids, LinuxResourcesRdma,
11 },
12};
13
14#[derive(Default)]
15pub struct ContainerUpdateConfigurationOptions<'a> {
16 pub name: &'a str,
17 pub restart_policy: Option<&'a str>,
18 pub restart_retries: Option<i64>,
19 pub request: Option<ContainerUpdateConfigurationRequest>,
20}
21
22#[derive(Serialize, Default)]
23pub struct ContainerUpdateConfigurationRequest {
24 #[serde(rename = "BlkIOWeightDevice")]
25 pub blkio_weight_device: Option<Vec<BlkioWeightDevice>>,
26 #[serde(rename = "blockIO")]
27 pub block_io: Option<LinuxResourcesBlockIo>,
28 pub cpu: Option<LinuxResourcesCpu>,
29 #[serde(rename = "DeviceReadBPs")]
30 pub device_read_bps: Option<Vec<ContainerUpdateConfigurationRequestThrottleDevice>>,
31 #[serde(rename = "DeviceReadIOPs")]
32 pub device_read_iops: Option<Vec<ContainerUpdateConfigurationRequestThrottleDevice>>,
33 pub devices: Option<Vec<LinuxDeviceCgroup>>,
34 #[serde(rename = "DeviceWriteBPs")]
35 pub device_write_bps: Option<Vec<ContainerUpdateConfigurationRequestThrottleDevice>>,
36 #[serde(rename = "DeviceWriteIOPs")]
37 pub device_write_iops: Option<Vec<ContainerUpdateConfigurationRequestThrottleDevice>>,
38 #[serde(rename = "Env")]
39 pub env: Option<Vec<String>>,
40 pub health_cmd: Option<String>,
41 pub health_interval: Option<String>,
42 pub health_log_destination: Option<String>,
43 pub health_max_log_count: Option<u64>,
44 pub health_max_log_size: Option<u64>,
45 pub health_on_failure: Option<String>,
46 pub health_retries: Option<u64>,
47 pub health_start_period: Option<String>,
48 pub health_startup_cmd: Option<String>,
49 pub health_startup_interval: Option<String>,
50 pub health_startup_retries: Option<u64>,
51 pub health_startup_success: Option<u64>,
52 pub health_startup_timeout: Option<String>,
53 pub health_timeout: Option<String>,
54 #[serde(rename = "hugepageLimits")]
55 pub hugepage_limits: Option<Vec<LinuxResourcesHugepageLimit>>,
56 pub memory: Option<LinuxResourcesMemory>,
57 pub network: Option<LinuxResourcesNetwork>,
58 pub no_healthcheck: Option<bool>,
59 pub pids: Option<LinuxResourcesPids>,
60 pub rdma: Option<HashMap<String, LinuxResourcesRdma>>,
61 pub unified: Option<HashMap<String, String>>,
62 #[serde(rename = "UnsetEnv")]
63 pub unset_env: Option<Vec<String>>,
64}
65
66#[derive(Serialize)]
67pub struct ContainerUpdateConfigurationRequestThrottleDevice {
68 pub path: String,
69 pub rate: u64,
70}
71
72#[derive(Deserialize, Serialize)]
73#[serde(rename_all = "UPPERCASE")]
74pub struct ContainerUpdateConfiguration {
75 pub id: String,
76}