[−][src]Struct cloud_storage::default_object_access_control::DefaultObjectAccessControl
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
impl DefaultObjectAccessControl
[src]
pub fn create(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self, Error>
[src]
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self, Error>
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)?;
pub fn list(bucket: &str) -> Result<Vec<Self>, Error>
[src]
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")?;
pub fn read(bucket: &str, entity: &Entity) -> Result<Self, Error>
[src]
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)?;
pub fn update(&self) -> Result<Self, Error>
[src]
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)?; default_acl.entity = Entity::AllAuthenticatedUsers; default_acl.update()?;
pub fn delete(self) -> Result<(), Error>
[src]
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)?; default_acl.delete()?;
Trait Implementations
impl Debug for DefaultObjectAccessControl
[src]
impl<'de> Deserialize<'de> for DefaultObjectAccessControl
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl PartialEq<DefaultObjectAccessControl> for DefaultObjectAccessControl
[src]
fn eq(&self, other: &DefaultObjectAccessControl) -> bool
[src]
fn ne(&self, other: &DefaultObjectAccessControl) -> bool
[src]
impl Serialize for DefaultObjectAccessControl
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralPartialEq for DefaultObjectAccessControl
[src]
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
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,