google_cloud_storage/http/object_access_controls/
delete.rs

1use reqwest_middleware::{ClientWithMiddleware as Client, RequestBuilder};
2
3/// Request message for GetObjectAccessControl.
4#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Debug, Default)]
5#[serde(rename_all = "camelCase")]
6pub struct DeleteObjectAccessControlRequest {
7    /// Required. Name of a bucket.
8    #[serde(skip_serializing)]
9    pub bucket: String,
10    /// Required. The entity holding the permission. Can be one of:
11    /// * `user-`*userId*
12    /// * `user-`*emailAddress*
13    /// * `group-`*groupId*
14    /// * `group-`*emailAddress*
15    /// * `allUsers`
16    /// * `allAuthenticatedUsers`
17    #[serde(skip_serializing)]
18    pub entity: String,
19    /// Required. Name of the object.
20    #[serde(skip_serializing)]
21    pub object: String,
22    /// If present, selects a specific revision of this object (as opposed to the
23    /// latest version, the default).
24    pub generation: Option<i64>,
25}
26
27pub(crate) fn build(base_url: &str, client: &Client, req: &DeleteObjectAccessControlRequest) -> RequestBuilder {
28    let url = format!("{}/b/{}/o/{}/acl/{}", base_url, req.bucket, req.object, req.entity);
29    client.delete(url).query(&req)
30}