google_cloud_storage/http/buckets/
delete.rs

1use reqwest_middleware::{ClientWithMiddleware as Client, RequestBuilder};
2
3use crate::http::Escape;
4
5/// Request message for DeleteBucket.
6#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Default)]
7#[serde(rename_all = "camelCase")]
8pub struct DeleteBucketParam {
9    /// If set, only deletes the bucket if its metageneration matches this value.
10    pub if_metageneration_match: Option<i64>,
11    /// If set, only deletes the bucket if its metageneration does not match this
12    /// value.
13    pub if_metageneration_not_match: Option<i64>,
14}
15
16/// Request message for DeleteBucket.
17#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Default)]
18#[serde(rename_all = "camelCase")]
19pub struct DeleteBucketRequest {
20    /// Required. Name of a bucket.
21    pub bucket: String,
22    /// Parameter.
23    pub param: DeleteBucketParam,
24}
25
26pub(crate) fn build(base_url: &str, client: &Client, req: &DeleteBucketRequest) -> RequestBuilder {
27    let url = format!("{}/b/{}", base_url, req.bucket.escape());
28    client.delete(url).query(&req.param)
29}