docker_api/api/
service.rs1use crate::{
3 conn::{Headers, Payload, AUTH_HEADER},
4 models,
5 opts::{ServiceListOpts, ServiceOpts},
6 Result,
7};
8
9impl_api_ty!(Service => name);
10
11impl Service {
12 api_doc! { Service => Create
13 |
14 pub async fn create(&self, opts: &ServiceOpts) -> Result<models::ServiceCreate201Response> {
16 let headers = opts
17 .auth_header()
18 .map(|a| Headers::single(AUTH_HEADER, a));
19 self.docker
20 .post_json(
21 "/services/create",
22 Payload::Json(opts.serialize_vec()?),
23 headers,
24 )
25 .await
26 }}
27
28 impl_api_ep! { svc: Service, resp
29 Inspect -> &format!("/services/{}", svc.name), models::Service
30 Delete -> &format!("/services/{}", svc.name), models::ServiceUpdateResponse
31 Logs -> &format!("/services/{}/logs", svc.name), ()
32 }
33}
34
35impl Services {
36 impl_api_ep! { svc: Service, resp
37 List -> "/services", models::Service
38 }
39}