use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ExecCreateRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub attach_stdin: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub attach_stdout: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub attach_stderr: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub console_size: Option<Vec<u32>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub detach_keys: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<String>>,
pub cmd: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub working_dir: Option<String>,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ExecCreateResponse {
pub id: String,
}
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ExecStartRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub detach: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub console_size: Option<Vec<u32>>,
}
#[allow(clippy::struct_excessive_bools)]
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ExecInspectResponse {
pub can_remove: bool,
#[serde(rename = "ContainerID")]
pub container_id: String,
pub detach_keys: String,
pub exit_code: i32,
#[serde(rename = "ID")]
pub id: String,
pub open_stderr: bool,
pub open_stdin: bool,
pub open_stdout: bool,
pub running: bool,
pub pid: i32,
}