podman_autogen_api/apis/
mod.rs1use std::fmt;
2use std::fmt::Debug;
3
4use futures::future::{FutureExt, TryFuture, TryFutureExt, *};
5use http_body_util::BodyExt;
6use hyper;
7use hyper::http;
8use hyper_util::client::legacy::connect::Connect;
9use serde_json;
10
11#[derive(Debug)]
12pub enum Error {
13 Api(ApiError),
14 Header(http::header::InvalidHeaderValue),
15 Http(http::Error),
16 Hyper(hyper::Error),
17 HyperClient(hyper_util::client::legacy::Error),
18 Serde(serde_json::Error),
19 UriError(http::uri::InvalidUri),
20}
21
22#[derive(Debug)]
23pub enum ApiErrorBody {
24 Json(serde_json::Value),
25 String(String),
26 Unparseable,
27}
28
29#[derive(Debug)]
30pub struct ApiError {
31 pub code: hyper::StatusCode,
32 pub body: ApiErrorBody,
33}
34
35impl From<(hyper::StatusCode, ApiErrorBody)> for Error {
36 fn from(e: (hyper::StatusCode, ApiErrorBody)) -> Self {
37 Error::Api(ApiError {
38 code: e.0,
39 body: e.1,
40 })
41 }
42}
43
44impl From<http::Error> for Error {
45 fn from(e: http::Error) -> Self {
46 use http_body_util::BodyExt;
47 Error::Http(e)
48 }
49}
50
51impl From<hyper_util::client::legacy::Error> for Error {
52 fn from(e: hyper_util::client::legacy::Error) -> Self {
53 Error::HyperClient(e)
54 }
55}
56
57impl From<hyper::Error> for Error {
58 fn from(e: hyper::Error) -> Self {
59 Error::Hyper(e)
60 }
61}
62
63impl From<serde_json::Error> for Error {
64 fn from(e: serde_json::Error) -> Self {
65 Error::Serde(e)
66 }
67}
68
69mod request;
70
71mod containers_api;
72pub use self::containers_api::{ContainersApi, ContainersApiClient};
73mod containers_compat_api;
74pub use self::containers_compat_api::{ContainersCompatApi, ContainersCompatApiClient};
75mod exec_api;
76pub use self::exec_api::{ExecApi, ExecApiClient};
77mod exec_compat_api;
78pub use self::exec_compat_api::{ExecCompatApi, ExecCompatApiClient};
79mod images_api;
80pub use self::images_api::{ImagesApi, ImagesApiClient};
81mod images_compat_api;
82pub use self::images_compat_api::{ImagesCompatApi, ImagesCompatApiClient};
83mod manifests_api;
84pub use self::manifests_api::{ManifestsApi, ManifestsApiClient};
85mod networks_api;
86pub use self::networks_api::{NetworksApi, NetworksApiClient};
87mod networks_compat_api;
88pub use self::networks_compat_api::{NetworksCompatApi, NetworksCompatApiClient};
89mod pods_api;
90pub use self::pods_api::{PodsApi, PodsApiClient};
91mod secrets_api;
92pub use self::secrets_api::{SecretsApi, SecretsApiClient};
93mod secrets_compat_api;
94pub use self::secrets_compat_api::{SecretsCompatApi, SecretsCompatApiClient};
95mod system_api;
96pub use self::system_api::{SystemApi, SystemApiClient};
97mod system_compat_api;
98pub use self::system_compat_api::{SystemCompatApi, SystemCompatApiClient};
99mod volumes_api;
100pub use self::volumes_api::{VolumesApi, VolumesApiClient};
101mod volumes_compat_api;
102pub use self::volumes_compat_api::{VolumesCompatApi, VolumesCompatApiClient};
103
104pub mod client;
105pub mod configuration;