podman_autogen_api/apis/
client.rs

1use std::sync::Arc;
2
3use super::configuration::Configuration;
4use hyper;
5use hyper_util::client::legacy::connect::Connect;
6
7pub struct APIClient {
8    containers_api: Box<dyn crate::apis::ContainersApi>,
9    containers_compat_api: Box<dyn crate::apis::ContainersCompatApi>,
10    exec_api: Box<dyn crate::apis::ExecApi>,
11    exec_compat_api: Box<dyn crate::apis::ExecCompatApi>,
12    images_api: Box<dyn crate::apis::ImagesApi>,
13    images_compat_api: Box<dyn crate::apis::ImagesCompatApi>,
14    manifests_api: Box<dyn crate::apis::ManifestsApi>,
15    networks_api: Box<dyn crate::apis::NetworksApi>,
16    networks_compat_api: Box<dyn crate::apis::NetworksCompatApi>,
17    pods_api: Box<dyn crate::apis::PodsApi>,
18    secrets_api: Box<dyn crate::apis::SecretsApi>,
19    secrets_compat_api: Box<dyn crate::apis::SecretsCompatApi>,
20    system_api: Box<dyn crate::apis::SystemApi>,
21    system_compat_api: Box<dyn crate::apis::SystemCompatApi>,
22    volumes_api: Box<dyn crate::apis::VolumesApi>,
23    volumes_compat_api: Box<dyn crate::apis::VolumesCompatApi>,
24}
25
26impl APIClient {
27    pub fn new<C: Connect>(configuration: Configuration<C>) -> APIClient
28    where
29        C: Clone + std::marker::Send + Sync + 'static,
30    {
31        let rc = Arc::new(configuration);
32
33        APIClient {
34            containers_api: Box::new(crate::apis::ContainersApiClient::new(rc.clone())),
35            containers_compat_api: Box::new(crate::apis::ContainersCompatApiClient::new(
36                rc.clone(),
37            )),
38            exec_api: Box::new(crate::apis::ExecApiClient::new(rc.clone())),
39            exec_compat_api: Box::new(crate::apis::ExecCompatApiClient::new(rc.clone())),
40            images_api: Box::new(crate::apis::ImagesApiClient::new(rc.clone())),
41            images_compat_api: Box::new(crate::apis::ImagesCompatApiClient::new(rc.clone())),
42            manifests_api: Box::new(crate::apis::ManifestsApiClient::new(rc.clone())),
43            networks_api: Box::new(crate::apis::NetworksApiClient::new(rc.clone())),
44            networks_compat_api: Box::new(crate::apis::NetworksCompatApiClient::new(rc.clone())),
45            pods_api: Box::new(crate::apis::PodsApiClient::new(rc.clone())),
46            secrets_api: Box::new(crate::apis::SecretsApiClient::new(rc.clone())),
47            secrets_compat_api: Box::new(crate::apis::SecretsCompatApiClient::new(rc.clone())),
48            system_api: Box::new(crate::apis::SystemApiClient::new(rc.clone())),
49            system_compat_api: Box::new(crate::apis::SystemCompatApiClient::new(rc.clone())),
50            volumes_api: Box::new(crate::apis::VolumesApiClient::new(rc.clone())),
51            volumes_compat_api: Box::new(crate::apis::VolumesCompatApiClient::new(rc.clone())),
52        }
53    }
54
55    pub fn containers_api(&self) -> &dyn crate::apis::ContainersApi {
56        self.containers_api.as_ref()
57    }
58
59    pub fn containers_compat_api(&self) -> &dyn crate::apis::ContainersCompatApi {
60        self.containers_compat_api.as_ref()
61    }
62
63    pub fn exec_api(&self) -> &dyn crate::apis::ExecApi {
64        self.exec_api.as_ref()
65    }
66
67    pub fn exec_compat_api(&self) -> &dyn crate::apis::ExecCompatApi {
68        self.exec_compat_api.as_ref()
69    }
70
71    pub fn images_api(&self) -> &dyn crate::apis::ImagesApi {
72        self.images_api.as_ref()
73    }
74
75    pub fn images_compat_api(&self) -> &dyn crate::apis::ImagesCompatApi {
76        self.images_compat_api.as_ref()
77    }
78
79    pub fn manifests_api(&self) -> &dyn crate::apis::ManifestsApi {
80        self.manifests_api.as_ref()
81    }
82
83    pub fn networks_api(&self) -> &dyn crate::apis::NetworksApi {
84        self.networks_api.as_ref()
85    }
86
87    pub fn networks_compat_api(&self) -> &dyn crate::apis::NetworksCompatApi {
88        self.networks_compat_api.as_ref()
89    }
90
91    pub fn pods_api(&self) -> &dyn crate::apis::PodsApi {
92        self.pods_api.as_ref()
93    }
94
95    pub fn secrets_api(&self) -> &dyn crate::apis::SecretsApi {
96        self.secrets_api.as_ref()
97    }
98
99    pub fn secrets_compat_api(&self) -> &dyn crate::apis::SecretsCompatApi {
100        self.secrets_compat_api.as_ref()
101    }
102
103    pub fn system_api(&self) -> &dyn crate::apis::SystemApi {
104        self.system_api.as_ref()
105    }
106
107    pub fn system_compat_api(&self) -> &dyn crate::apis::SystemCompatApi {
108        self.system_compat_api.as_ref()
109    }
110
111    pub fn volumes_api(&self) -> &dyn crate::apis::VolumesApi {
112        self.volumes_api.as_ref()
113    }
114
115    pub fn volumes_compat_api(&self) -> &dyn crate::apis::VolumesCompatApi {
116        self.volumes_compat_api.as_ref()
117    }
118}