podman_client/pods/
kube_generate.rs1use http_body_util::Empty;
2use hyper::body::Bytes;
3use url::form_urlencoded;
4
5use crate::{
6 client::Client,
7 models::{
8 connection::SendRequestOptions,
9 lib::Error,
10 podman::pods::kube_generate::{PodKubeGenerate, PodKubeGenerateOptions},
11 },
12 utils::bool_to_str::bool_to_str,
13};
14
15impl Client {
16 pub async fn pod_kube_generate(
17 &self,
18 options: PodKubeGenerateOptions<'_>,
19 ) -> Result<PodKubeGenerate, Error> {
20 let mut query = form_urlencoded::Serializer::new(String::new());
21 for name in options.names {
22 query.append_pair("names", name);
23 }
24 if let Some(no_trunc) = options.no_trunc {
25 query.append_pair("noTrunc", bool_to_str(no_trunc));
26 }
27 if let Some(podman_only) = options.podman_only {
28 query.append_pair("podmanOnly", bool_to_str(podman_only));
29 }
30 if let Some(replicas) = options.replicas {
31 query.append_pair("replicas", itoa::Buffer::new().format(replicas));
32 }
33 if let Some(service) = options.service {
34 query.append_pair("service", bool_to_str(service));
35 }
36 if let Some(r#type) = options.r#type {
37 query.append_pair("type", r#type);
38 }
39 let query_string = query.finish();
40
41 let (_, data) = self
42 .send_request::<_, (), _>(SendRequestOptions {
43 method: "GET",
44 path: &["/libpod/generate/kube?", &query_string].concat(),
45 header: None,
46 body: Empty::<Bytes>::new(),
47 })
48 .await?;
49
50 Ok(data)
51 }
52}