stackify_docker_api/api/
secret.rs1use crate::{
4 conn::{Headers, Payload},
5 models,
6 opts::{SecretCreateOpts, SecretListOpts},
7 Result,
8};
9
10impl_api_ty!(Secret => name);
11
12impl Secret {
13 impl_api_ep! { secret: Secret, resp
14 Inspect -> &format!("/secrets/{}", secret.name), models::Secret
15 Delete -> &format!("/secrets/{}", secret.name), ()
16 }
17 }
19
20impl Secrets {
21 impl_api_ep! { __: Secret, resp
22 List -> "/secrets", models::Secret
23 }
24
25 api_doc! { Secret => Create
26 |
27 pub async fn create(&self, opts: &SecretCreateOpts) -> Result<Secret> {
29 use serde::Deserialize;
30 #[derive(Deserialize)]
31 struct SecretCreateResponse {
32 #[serde(rename = "Id")]
33 pub id: String,
34 }
35 self.docker
36 .post_json("/secrets/create", Payload::Json(opts.serialize_vec()?), Headers::none())
37 .await
38 .map(|resp: SecretCreateResponse| {
39 Secret::new(self.docker.clone(), resp.id)
40 })
41 }}
42}