pub struct DefaultObjectAccessControlClient<'a>(/* private fields */);Expand description
Operations on DefaultObjectAccessControls.
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?;Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for DefaultObjectAccessControlClient<'a>
impl<'a> !RefUnwindSafe for DefaultObjectAccessControlClient<'a>
impl<'a> Send for DefaultObjectAccessControlClient<'a>
impl<'a> Sync for DefaultObjectAccessControlClient<'a>
impl<'a> Unpin for DefaultObjectAccessControlClient<'a>
impl<'a> !UnwindSafe for DefaultObjectAccessControlClient<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more