podman_autogen_api/apis/
mod.rs

1use 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;