1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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
{
    /// Actions related to containers
    fn containers(&self) -> &dyn apis::Containers;
    /// Actions related to containers for the compatibility endpoints
    fn containers_compat(&self) -> &dyn apis::ContainersCompat;
    /// Actions related to exec
    fn exec(&self) -> &dyn apis::Exec;
    /// Actions related to exec for the compatibility endpoints
    fn exec_compat(&self) -> &dyn apis::ExecCompat;
    /// Actions related to images
    fn images(&self) -> &dyn apis::Images;
    /// Actions related to images for the compatibility endpoints
    fn images_compat(&self) -> &dyn apis::ImagesCompat;
    /// Actions related to manifests
    fn manifests(&self) -> &dyn apis::Manifests;
    /// Actions related to networks
    fn networks(&self) -> &dyn apis::Networks;
    /// Actions related to networks for the compatibility endpoints
    fn networks_compat(&self) -> &dyn apis::NetworksCompat;
    /// Actions related to pods
    fn pods(&self) -> &dyn apis::Pods;
    /// Actions related to secrets
    fn secrets(&self) -> &dyn apis::Secrets;
    /// Actions related to secrets for the compatibility endpoints
    fn secrets_compat(&self) -> &dyn apis::SecretsCompat;
    /// Actions related to Podman engine
    fn system(&self) -> &dyn apis::System;
    /// Actions related to Podman and compatibility engines
    fn system_compat(&self) -> &dyn apis::SystemCompat;
    /// Actions related to volumes
    fn volumes(&self) -> &dyn apis::Volumes;
    /// Actions related to volumes for the compatibility endpoints
    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 {}
    };
}