gcloud_storage/http/default_object_access_controls/
get.rs

1use reqwest_middleware::{ClientWithMiddleware as Client, RequestBuilder};
2
3use crate::http::Escape;
4
5/// Request message for GetDefaultObjectAccessControl.
6#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Debug)]
7#[serde(rename_all = "camelCase")]
8pub struct GetDefaultObjectAccessControlRequest {
9    /// Required. Name of a bucket.
10    pub bucket: String,
11    /// Required. The entity holding the permission. Can be one of:
12    /// * `user-`*userId*
13    /// * `user-`*emailAddress*
14    /// * `group-`*groupId*
15    /// * `group-`*emailAddress*
16    /// * `allUsers`
17    /// * `allAuthenticatedUsers`
18    pub entity: String,
19}
20
21pub(crate) fn build(base_url: &str, client: &Client, req: &GetDefaultObjectAccessControlRequest) -> RequestBuilder {
22    let url = format!(
23        "{}/b/{}/defaultObjectAcl/{}",
24        base_url,
25        req.bucket.escape(),
26        req.entity.escape()
27    );
28    client.get(url)
29}