pub struct DefaultObjectAccessControl {
pub kind: String,
pub entity: Entity,
pub role: Role,
pub email: Option<String>,
pub entity_id: Option<String>,
pub domain: Option<String>,
pub project_team: Option<ProjectTeam>,
pub etag: String,
pub bucket: String,
}
Expand description
The DefaultObjectAccessControls resources represent the Access Control Lists (ACLs) applied to a new object within Google Cloud Storage when no ACL was provided for that object. ACLs let you specify who has access to your data and to what extent.
Fields
kind: String
The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
entity: Entity
The entity holding the permission, in one of the following forms:
user-userId
user-email
group-groupId
group-email
domain-domain
project-team-projectId
allUsers
allAuthenticatedUsers
Examples:
- The user liz@example.com would be user-liz@example.com.
- The group example@googlegroups.com would be group-example@googlegroups.com.
- To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.
role: Role
The access permission for the entity.
email: Option<String>
The email address associated with the entity, if any.
entity_id: Option<String>
The ID for the entity, if any.
domain: Option<String>
The domain associated with the entity, if any.
project_team: Option<ProjectTeam>
The project team associated with the entity, if any.
etag: String
HTTP 1.1 Entity tag for the access-control entry.
bucket: String
The bucket this resource belongs to.
Implementations
sourceimpl DefaultObjectAccessControl
impl DefaultObjectAccessControl
sourcepub async fn create(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self>
pub async fn create(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self>
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::default_object_access_control::{
DefaultObjectAccessControl, NewDefaultObjectAccessControl, Role, Entity,
};
let new_acl = NewDefaultObjectAccessControl {
entity: Entity::AllAuthenticatedUsers,
role: Role::Reader,
};
let default_acl = DefaultObjectAccessControl::create("mybucket", &new_acl).await?;
sourcepub fn create_sync(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self>
pub fn create_sync(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self>
The synchronous equivalent of DefautObjectAccessControl::create
.
Features
This function requires that the feature flag sync
is enabled in Cargo.toml
.
sourcepub async fn list(bucket: &str) -> Result<Vec<Self>>
pub async fn list(bucket: &str) -> Result<Vec<Self>>
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::default_object_access_control::DefaultObjectAccessControl;
let default_acls = DefaultObjectAccessControl::list("mybucket").await?;
sourcepub fn list_sync(bucket: &str) -> Result<Vec<Self>>
pub fn list_sync(bucket: &str) -> Result<Vec<Self>>
The synchronous equivalent of DefautObjectAccessControl::list
.
Features
This function requires that the feature flag sync
is enabled in Cargo.toml
.
sourcepub async fn read(bucket: &str, entity: &Entity) -> Result<Self>
pub async fn read(bucket: &str, entity: &Entity) -> Result<Self>
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::default_object_access_control::{DefaultObjectAccessControl, Entity};
let default_acl = DefaultObjectAccessControl::read("mybucket", &Entity::AllUsers).await?;
sourcepub fn read_sync(bucket: &str, entity: &Entity) -> Result<Self>
pub fn read_sync(bucket: &str, entity: &Entity) -> Result<Self>
The synchronous equivalent of DefautObjectAccessControl::read
.
Features
This function requires that the feature flag sync
is enabled in Cargo.toml
.
sourcepub async fn update(&self) -> Result<Self>
pub async fn update(&self) -> Result<Self>
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::default_object_access_control::{DefaultObjectAccessControl, Entity};
let mut default_acl = DefaultObjectAccessControl::read("my_bucket", &Entity::AllUsers).await?;
default_acl.entity = Entity::AllAuthenticatedUsers;
default_acl.update().await?;
sourcepub fn update_sync(&self) -> Result<Self>
pub fn update_sync(&self) -> Result<Self>
The synchronous equivalent of DefautObjectAccessControl::update
.
Features
This function requires that the feature flag sync
is enabled in Cargo.toml
.
sourcepub async fn delete(self) -> Result<(), Error>
pub async fn delete(self) -> 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::default_object_access_control::{DefaultObjectAccessControl, Entity};
let mut default_acl = DefaultObjectAccessControl::read("my_bucket", &Entity::AllUsers).await?;
default_acl.delete().await?;
Trait Implementations
sourceimpl Debug for DefaultObjectAccessControl
impl Debug for DefaultObjectAccessControl
sourceimpl<'de> Deserialize<'de> for DefaultObjectAccessControl
impl<'de> Deserialize<'de> for DefaultObjectAccessControl
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl PartialEq<DefaultObjectAccessControl> for DefaultObjectAccessControl
impl PartialEq<DefaultObjectAccessControl> for DefaultObjectAccessControl
sourcefn eq(&self, other: &DefaultObjectAccessControl) -> bool
fn eq(&self, other: &DefaultObjectAccessControl) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &DefaultObjectAccessControl) -> bool
fn ne(&self, other: &DefaultObjectAccessControl) -> bool
This method tests for !=
.
impl StructuralPartialEq for DefaultObjectAccessControl
Auto Trait Implementations
impl RefUnwindSafe for DefaultObjectAccessControl
impl Send for DefaultObjectAccessControl
impl Sync for DefaultObjectAccessControl
impl Unpin for DefaultObjectAccessControl
impl UnwindSafe for DefaultObjectAccessControl
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more