Struct cloud_storage::default_object_access_control::DefaultObjectAccessControl [−][src]
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: StringThe kind of item this is. For object access control entries, this is always storage#objectAccessControl.
entity: EntityThe entity holding the permission, in one of the following forms:
user-userIduser-emailgroup-groupIdgroup-emaildomain-domainproject-team-projectIdallUsersallAuthenticatedUsers
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: RoleThe 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: StringHTTP 1.1 Entity tag for the access-control entry.
bucket: StringThe bucket this resource belongs to.
Implementations
impl DefaultObjectAccessControl[src]
impl DefaultObjectAccessControl[src]pub async fn create(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self>[src]
pub async fn create(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self>[src]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?;
pub fn create_sync(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self>[src]
pub fn create_sync(
bucket: &str,
new_acl: &NewDefaultObjectAccessControl
) -> Result<Self>[src]The synchronous equivalent of DefautObjectAccessControl::create.
Features
This function requires that the feature flag sync is enabled in Cargo.toml.
pub async fn list(bucket: &str) -> Result<Vec<Self>>[src]
pub async fn list(bucket: &str) -> Result<Vec<Self>>[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").await?;
pub fn list_sync(bucket: &str) -> Result<Vec<Self>>[src]
pub fn list_sync(bucket: &str) -> Result<Vec<Self>>[src]The synchronous equivalent of DefautObjectAccessControl::list.
Features
This function requires that the feature flag sync is enabled in Cargo.toml.
pub async fn read(bucket: &str, entity: &Entity) -> Result<Self>[src]
pub async fn read(bucket: &str, entity: &Entity) -> Result<Self>[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).await?;
pub fn read_sync(bucket: &str, entity: &Entity) -> Result<Self>[src]
pub fn read_sync(bucket: &str, entity: &Entity) -> Result<Self>[src]The synchronous equivalent of DefautObjectAccessControl::read.
Features
This function requires that the feature flag sync is enabled in Cargo.toml.
pub async fn update(&self) -> Result<Self>[src]
pub async fn update(&self) -> Result<Self>[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).await?; default_acl.entity = Entity::AllAuthenticatedUsers; default_acl.update().await?;
pub fn update_sync(&self) -> Result<Self>[src]
pub fn update_sync(&self) -> Result<Self>[src]The synchronous equivalent of DefautObjectAccessControl::update.
Features
This function requires that the feature flag sync is enabled in Cargo.toml.
pub async fn delete(self) -> Result<(), Error>[src]
pub async 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).await?; default_acl.delete().await?;
Trait Implementations
impl Debug for DefaultObjectAccessControl[src]
impl Debug for DefaultObjectAccessControl[src]impl<'de> Deserialize<'de> for DefaultObjectAccessControl[src]
impl<'de> Deserialize<'de> for DefaultObjectAccessControl[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]Deserialize this value from the given Serde deserializer. Read more
impl PartialEq<DefaultObjectAccessControl> for DefaultObjectAccessControl[src]
impl PartialEq<DefaultObjectAccessControl> for DefaultObjectAccessControl[src]fn eq(&self, other: &DefaultObjectAccessControl) -> bool[src]
fn eq(&self, other: &DefaultObjectAccessControl) -> bool[src]This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &DefaultObjectAccessControl) -> bool[src]
fn ne(&self, other: &DefaultObjectAccessControl) -> bool[src]This method tests for !=.
impl Serialize for DefaultObjectAccessControl[src]
impl Serialize for DefaultObjectAccessControl[src]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> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T[src]
impl<T> Instrument for T[src]fn instrument(self, span: Span) -> Instrumented<Self>[src]
fn instrument(self, span: Span) -> Instrumented<Self>[src]Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>[src]
fn in_current_span(self) -> Instrumented<Self>[src]impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,