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
use crate::{
conn::{Headers, Payload, AUTH_HEADER},
models,
opts::{ServiceListOpts, ServiceOpts},
Result,
};
impl_api_ty!(Service => name);
impl Service {
api_doc! { Service => Create
|
pub async fn create(&self, opts: &ServiceOpts) -> Result<models::ServiceCreate201Response> {
let headers = opts
.auth_header()
.map(|a| Headers::single(AUTH_HEADER, a));
self.docker
.post_json(
"/services/create",
Payload::Json(opts.serialize()?),
headers,
)
.await
}}
impl_api_ep! { svc: Service, resp
Inspect -> &format!("/services/{}", svc.name), models::Service
Delete -> &format!("/services/{}", svc.name), models::ServiceUpdateResponse
Logs -> &format!("/services/{}/logs", svc.name), ()
}
}
impl Services {
impl_api_ep! { svc: Service, resp
List -> "/services", models::Service
}
}