rs_docker_api_rs/api/
config.rsuse crate::{
conn::{Headers, Payload},
models,
opts::{ConfigCreateOpts, ConfigListOpts},
Result,
};
impl_api_ty!(Config => name);
impl Config {
impl_api_ep! { cfg: Config, resp
Inspect -> &format!("/configs/{}", cfg.name), rs_docker_api_stubs::models::Config
Delete -> &format!("/configs/{}", cfg.name), ()
}
}
impl Configs {
impl_api_ep! { __: Config, resp
List -> "/configs", rs_docker_api_stubs::models::Config
}
api_doc! {
Config => Create
|
pub async fn create(&self, opts: &ConfigCreateOpts) -> Result<Config> {
use serde::Deserialize;
#[derive(Deserialize)]
struct ConfigCreateResponse {
#[serde(rename = "Id")]
pub id: String,
}
self.docker
.post_json("/configs/create", Payload::Json(opts.serialize_vec()?), Headers::none())
.await
.map(|resp: ConfigCreateResponse| {
Config::new(self.docker.clone(), resp.id)
})
}}
}