mod containers;
mod exec;
mod images;
mod manifests;
mod networks;
mod pods;
mod volumes;
pub use containers::*;
pub use exec::*;
pub use images::*;
pub use manifests::*;
pub use networks::*;
pub use pods::*;
pub use volumes::*;
pub type EventsConstraint = (String, Vec<String>);
use containers_api::{
impl_opts_builder, impl_opts_required_builder, impl_url_bool_field, impl_url_enum_field,
impl_url_field, impl_url_str_field, impl_url_vec_field,
};
use std::fmt;
impl_opts_builder!(
url =>
Events
);
impl EventsOptsBuilder {
impl_url_str_field!(
since => "since"
);
impl_url_str_field!(
until => "until"
);
impl_url_bool_field!(
stream => "stream"
);
pub fn filters(mut self, filters: impl IntoIterator<Item = EventsConstraint>) -> Self {
let filters: std::collections::HashMap<_, _> = filters.into_iter().collect();
self.params.insert(
"filters",
serde_json::to_string(&filters).unwrap_or_default(),
);
self
}
}
impl_opts_builder!(url =>
Changes
);
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[derive(Default)]
pub enum DiffType {
#[default]
All,
Container,
Image,
}
impl AsRef<str> for DiffType {
fn as_ref(&self) -> &str {
match self {
DiffType::All => "all",
DiffType::Container => "container",
DiffType::Image => "image",
}
}
}
impl fmt::Display for DiffType {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.as_ref())
}
}
impl ChangesOptsBuilder {
impl_url_enum_field!(
diff_type: DiffType => "diffType"
);
impl_url_str_field!(
parent => "parent"
);
}
impl_opts_builder!(url =>
SystemdUnits
);
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[derive(Default)]
pub enum SystemdRestartPolicy {
No,
OnSuccess,
#[default]
OnFailure,
OnAbnormal,
OnWatchdog,
OnAbort,
Always,
}
impl AsRef<str> for SystemdRestartPolicy {
fn as_ref(&self) -> &str {
use SystemdRestartPolicy::*;
match self {
No => "no",
OnSuccess => "on-success",
OnFailure => "on-failure",
OnAbnormal => "on-abnormal",
OnWatchdog => "on-watchdog",
OnAbort => "on-abort",
Always => "always",
}
}
}
impl fmt::Display for SystemdRestartPolicy {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.as_ref())
}
}
impl SystemdUnitsOptsBuilder {
impl_url_vec_field!(
additional_env_variables => "additionalEnvVariables"
);
impl_url_vec_field!(
after => "after"
);
impl_url_str_field!(
container_prefix => "containerPrefix"
);
impl_url_bool_field!(
new => "new"
);
impl_url_bool_field!(
no_header => "noHeader"
);
impl_url_str_field!(
pod_prefix => "podPrefix"
);
impl_url_vec_field!(
requires => "requires"
);
impl_url_enum_field!(
restart_policy: SystemdRestartPolicy => "restartPolicy"
);
impl_url_field!(
restart_sec: usize => "restartSec"
);
impl_url_str_field!(
separator => "separator"
);
impl_url_field!(
start_timeout: usize => "startTimeout"
);
impl_url_field!(
stop_timeout: usize => "stopTimeout"
);
impl_url_bool_field!(
use_name => "useName"
);
impl_url_vec_field!(
wants => "wants"
);
}
impl_opts_builder!(url =>
PlayKubernetesYaml
);
impl PlayKubernetesYamlOptsBuilder {
impl_url_str_field!(
log_driver => "logDriver"
);
impl_url_vec_field!(
network => "network"
);
impl_url_bool_field!(
start => "start"
);
impl_url_vec_field!(
static_ips => "staticIPs"
);
impl_url_vec_field!(
static_macs => "static_macs"
);
impl_url_bool_field!(
tls_verify => "tlsVerify"
);
}
impl_opts_required_builder!(url =>
SecretCreate,
name => "name"
);
impl SecretCreateOptsBuilder {
impl_url_str_field!(
driver => "driver"
);
impl_url_str_field!(
driver_opts => "driveropts"
);
impl_url_str_field!(
labels => "labels"
);
}