1use crate::client::NoBody;
2use crate::{Client, Error, Page, types::*, util::urlish};
3
4impl Client {
5 pub async fn create_pod(&self, pod: CreatePod) -> Result<Pod, Error> {
7 self.request(reqwest::Method::POST, "/v0/pods", &[], Some(&pod))
8 .await
9 }
10
11 pub async fn list_pods(&self) -> Result<PodList, Error> {
13 self.list_pods_page(Page::default()).await
14 }
15
16 pub async fn list_pods_page(&self, page: Page) -> Result<PodList, Error> {
19 self.request(
20 reqwest::Method::GET,
21 "/v0/pods",
22 &page.query(),
23 None::<&NoBody>,
24 )
25 .await
26 }
27
28 pub async fn get_pod(&self, pod_id: &str) -> Result<Pod, Error> {
30 self.request(
31 reqwest::Method::GET,
32 &format!("/v0/pods/{}", urlish(pod_id)),
33 &[],
34 None::<&NoBody>,
35 )
36 .await
37 }
38
39 pub async fn delete_pod(&self, pod_id: &str) -> Result<(), Error> {
41 self.request(
42 reqwest::Method::DELETE,
43 &format!("/v0/pods/{}", urlish(pod_id)),
44 &[],
45 None::<&NoBody>,
46 )
47 .await
48 }
49}