pub struct DefaultObjectAccessControlClient<'a>(/* private fields */);
Expand description
Operations on DefaultObjectAccessControl
s.
Implementations§
Source§impl<'a> DefaultObjectAccessControlClient<'a>
impl<'a> DefaultObjectAccessControlClient<'a>
Sourcepub async fn create(
&self,
bucket: &str,
new_acl: &NewDefaultObjectAccessControl,
) -> Result<DefaultObjectAccessControl>
pub async fn create( &self, bucket: &str, new_acl: &NewDefaultObjectAccessControl, ) -> Result<DefaultObjectAccessControl>
Create a new DefaultObjectAccessControl
entry on the specified bucket.
§Important
Important: This method fails with a 400 Bad Request
response for buckets with uniform
bucket-level access enabled. Use Bucket::get_iam_policy
and Bucket::set_iam_policy
to
control access instead.
§Example
use cloud_storage::Client;
use cloud_storage::default_object_access_control::{
DefaultObjectAccessControl, NewDefaultObjectAccessControl, Role, Entity,
};
let client = Client::default();
let new_acl = NewDefaultObjectAccessControl {
entity: Entity::AllAuthenticatedUsers,
role: Role::Reader,
};
let default_acl = client.default_object_access_control().create("mybucket", &new_acl).await?;
Sourcepub async fn list(
&self,
bucket: &str,
) -> Result<Vec<DefaultObjectAccessControl>>
pub async fn list( &self, bucket: &str, ) -> Result<Vec<DefaultObjectAccessControl>>
Retrieves default object ACL entries on the specified bucket.
§Important
Important: This method fails with a 400 Bad Request
response for buckets with uniform
bucket-level access enabled. Use Bucket::get_iam_policy
and Bucket::set_iam_policy
to
control access instead.
§Example
use cloud_storage::Client;
use cloud_storage::default_object_access_control::DefaultObjectAccessControl;
let client = Client::default();
let default_acls = client.default_object_access_control().list("mybucket").await?;
Sourcepub async fn read(
&self,
bucket: &str,
entity: &Entity,
) -> Result<DefaultObjectAccessControl>
pub async fn read( &self, bucket: &str, entity: &Entity, ) -> Result<DefaultObjectAccessControl>
Read a single DefaultObjectAccessControl
.
The bucket
argument is the name of the bucket whose DefaultObjectAccessControl
is to be
read, and the entity
argument is the entity holding the permission. Options are
Can be “user-userId
”, “user-email_address
”, “group-group_id
”, “group-email_address
”,
“allUsers”, or “allAuthenticatedUsers”.
§Important
Important: This method fails with a 400 Bad Request
response for buckets with uniform
bucket-level access enabled. Use Bucket::get_iam_policy
and Bucket::set_iam_policy
to
control access instead.
§Example
use cloud_storage::Client;
use cloud_storage::default_object_access_control::{DefaultObjectAccessControl, Entity};
let client = Client::default();
let default_acl = client.default_object_access_control().read("mybucket", &Entity::AllUsers).await?;
Sourcepub async fn update(
&self,
default_object_access_control: &DefaultObjectAccessControl,
) -> Result<DefaultObjectAccessControl>
pub async fn update( &self, default_object_access_control: &DefaultObjectAccessControl, ) -> Result<DefaultObjectAccessControl>
Update the current DefaultObjectAccessControl
.
§Important
Important: This method fails with a 400 Bad Request
response for buckets with uniform
bucket-level access enabled. Use Bucket::get_iam_policy
and Bucket::set_iam_policy
to
control access instead.
§Example
use cloud_storage::Client;
use cloud_storage::default_object_access_control::{DefaultObjectAccessControl, Entity};
let client = Client::default();
let mut default_acl = client.default_object_access_control().read("my_bucket", &Entity::AllUsers).await?;
default_acl.entity = Entity::AllAuthenticatedUsers;
client.default_object_access_control().update(&default_acl).await?;
Sourcepub async fn delete(
&self,
default_object_access_control: DefaultObjectAccessControl,
) -> Result<(), Error>
pub async fn delete( &self, default_object_access_control: DefaultObjectAccessControl, ) -> Result<(), Error>
Delete this ’DefaultObjectAccessControl`.
§Important
Important: This method fails with a 400 Bad Request
response for buckets with uniform
bucket-level access enabled. Use Bucket::get_iam_policy
and Bucket::set_iam_policy
to
control access instead.
§Example
use cloud_storage::Client;
use cloud_storage::default_object_access_control::{DefaultObjectAccessControl, Entity};
let client = Client::default();
let mut default_acl = client.default_object_access_control().read("my_bucket", &Entity::AllUsers).await?;
client.default_object_access_control().delete(default_acl).await?;