podman_client/secrets/
create.rs1use url::form_urlencoded;
2
3use crate::{
4 client::Client,
5 models::{
6 connection::SendRequestOptions,
7 lib::Error,
8 podman::secrets::create::{SecretCreate, SecretCreateOptions},
9 },
10};
11
12impl Client {
13 pub async fn secret_create(
14 &self,
15 options: SecretCreateOptions<'_>,
16 ) -> Result<SecretCreate, Error> {
17 let mut query = form_urlencoded::Serializer::new(String::new());
18 query.append_pair("name", &options.name);
19 if let Some(driver) = options.driver {
20 query.append_pair("driver", &driver);
21 }
22 if let Some(driver_opts) = options.driver_opts {
23 query.append_pair("driveropts", &driver_opts);
24 }
25 if let Some(labels) = options.labels {
26 query.append_pair("labels", &labels);
27 }
28 let query_string = query.finish();
29
30 let (_, data) = self
31 .send_request::<_, (), _>(SendRequestOptions {
32 method: "POST",
33 path: &["/libpod/secrets/create?", &query_string].concat(),
34 header: None,
35 body: options.secret.to_owned(),
36 })
37 .await?;
38
39 Ok(data)
40 }
41}