gcloud_storage/http/buckets/
list.rs1use reqwest_middleware::{ClientWithMiddleware as Client, RequestBuilder};
2
3use crate::http::buckets::Bucket;
4use crate::http::object_access_controls::Projection;
5
6#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Debug, Default)]
8#[serde(rename_all = "camelCase")]
9pub struct ListBucketsRequest {
10 pub project: String,
12 pub max_results: Option<i32>,
15 pub page_token: Option<String>,
18 pub prefix: Option<String>,
20 pub projection: Option<Projection>,
22 pub match_glob: Option<String>,
24}
25
26#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Debug)]
28#[serde(rename_all = "camelCase")]
29pub struct ListBucketsResponse {
30 pub items: Vec<Bucket>,
32 pub next_page_token: Option<String>,
35}
36
37pub(crate) fn build(base_url: &str, client: &Client, req: &ListBucketsRequest) -> RequestBuilder {
38 let url = format!("{base_url}/b");
39 client.get(url).query(&req)
40}