use super::apis;
use crate::api_common::config::HasConfig;
pub trait Client:
HasConfig
+ Send
+ Sync
+ apis::Containers
+ apis::ContainersCompat
+ apis::Exec
+ apis::ExecCompat
+ apis::Images
+ apis::ImagesCompat
+ apis::Manifests
+ apis::Networks
+ apis::NetworksCompat
+ apis::Pods
+ apis::Secrets
+ apis::SecretsCompat
+ apis::System
+ apis::SystemCompat
+ apis::Volumes
+ apis::VolumesCompat
{
fn containers(&self) -> &dyn apis::Containers;
fn containers_compat(&self) -> &dyn apis::ContainersCompat;
fn exec(&self) -> &dyn apis::Exec;
fn exec_compat(&self) -> &dyn apis::ExecCompat;
fn images(&self) -> &dyn apis::Images;
fn images_compat(&self) -> &dyn apis::ImagesCompat;
fn manifests(&self) -> &dyn apis::Manifests;
fn networks(&self) -> &dyn apis::Networks;
fn networks_compat(&self) -> &dyn apis::NetworksCompat;
fn pods(&self) -> &dyn apis::Pods;
fn secrets(&self) -> &dyn apis::Secrets;
fn secrets_compat(&self) -> &dyn apis::SecretsCompat;
fn system(&self) -> &dyn apis::System;
fn system_compat(&self) -> &dyn apis::SystemCompat;
fn volumes(&self) -> &dyn apis::Volumes;
fn volumes_compat(&self) -> &dyn apis::VolumesCompat;
}
#[macro_export]
macro_rules! impl_crate_v4_traits {
($struct_name:ident) => {
impl crate::v4::Client for $struct_name {
#[doc = " Actions related to containers"]
fn containers(&self) -> &dyn crate::v4::apis::Containers {
self
}
#[doc = " Actions related to containers for the compatibility endpoints"]
fn containers_compat(&self) -> &dyn crate::v4::apis::ContainersCompat {
self
}
#[doc = " Actions related to exec"]
fn exec(&self) -> &dyn crate::v4::apis::Exec {
self
}
#[doc = " Actions related to exec for the compatibility endpoints"]
fn exec_compat(&self) -> &dyn crate::v4::apis::ExecCompat {
self
}
#[doc = " Actions related to images"]
fn images(&self) -> &dyn crate::v4::apis::Images {
self
}
#[doc = " Actions related to images for the compatibility endpoints"]
fn images_compat(&self) -> &dyn crate::v4::apis::ImagesCompat {
self
}
#[doc = " Actions related to manifests"]
fn manifests(&self) -> &dyn crate::v4::apis::Manifests {
self
}
#[doc = " Actions related to networks"]
fn networks(&self) -> &dyn crate::v4::apis::Networks {
self
}
#[doc = " Actions related to networks for the compatibility endpoints"]
fn networks_compat(&self) -> &dyn crate::v4::apis::NetworksCompat {
self
}
#[doc = " Actions related to pods"]
fn pods(&self) -> &dyn crate::v4::apis::Pods {
self
}
#[doc = " Actions related to secrets"]
fn secrets(&self) -> &dyn crate::v4::apis::Secrets {
self
}
#[doc = " Actions related to secrets for the compatibility endpoints"]
fn secrets_compat(&self) -> &dyn crate::v4::apis::SecretsCompat {
self
}
#[doc = " Actions related to Podman engine"]
fn system(&self) -> &dyn crate::v4::apis::System {
self
}
#[doc = " Actions related to Podman and compatibility engines"]
fn system_compat(&self) -> &dyn crate::v4::apis::SystemCompat {
self
}
#[doc = " Actions related to volumes"]
fn volumes(&self) -> &dyn crate::v4::apis::Volumes {
self
}
#[doc = " Actions related to volumes for the compatibility endpoints"]
fn volumes_compat(&self) -> &dyn crate::v4::apis::VolumesCompat {
self
}
}
impl crate::v4::apis::Containers for $struct_name {}
impl crate::v4::apis::ContainersCompat for $struct_name {}
impl crate::v4::apis::Exec for $struct_name {}
impl crate::v4::apis::ExecCompat for $struct_name {}
impl crate::v4::apis::Images for $struct_name {}
impl crate::v4::apis::ImagesCompat for $struct_name {}
impl crate::v4::apis::Manifests for $struct_name {}
impl crate::v4::apis::Networks for $struct_name {}
impl crate::v4::apis::NetworksCompat for $struct_name {}
impl crate::v4::apis::Pods for $struct_name {}
impl crate::v4::apis::Secrets for $struct_name {}
impl crate::v4::apis::SecretsCompat for $struct_name {}
impl crate::v4::apis::System for $struct_name {}
impl crate::v4::apis::SystemCompat for $struct_name {}
impl crate::v4::apis::Volumes for $struct_name {}
impl crate::v4::apis::VolumesCompat for $struct_name {}
};
}