gcloud_storage/http/object_access_controls/
list.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 ListObjectAccessControlsRequest {
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    ///   Required. Name of the object.
18    #[serde(skip_serializing)]
19    pub object: String,
20    /// If present, selects a specific revision of this object (as opposed to the
21    /// latest version, the default).
22    pub generation: Option<i64>,
23}
24
25pub(crate) fn build(base_url: &str, client: &Client, req: &ListObjectAccessControlsRequest) -> RequestBuilder {
26    let url = format!("{}/b/{}/o/{}/acl", base_url, req.bucket, req.object);
27    client.get(url).query(&req)
28}