Struct cloud_storage::bucket_access_control::BucketAccessControl [−][src]
The BucketAccessControl resource represents the Access Control Lists (ACLs) for buckets within Google Cloud Storage. ACLs let you specify who has access to your data and to what extent.
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.
There are three roles that can be assigned to an entity:
- READERs can get the bucket, though no acl property will be returned, and list the bucket’s objects.
- WRITERs are READERs, and they can insert objects into the bucket and delete the bucket’s objects.
- OWNERs are WRITERs, and they can get the acl property of a bucket, update a bucket, and call all BucketAccessControl methods on the bucket.
Fields
kind: StringThe kind of item this is. For bucket access control entries, this is always
storage#bucketAccessControl.
id: StringThe ID of the access-control entry.
self_link: StringThe link to this access-control entry.
bucket: StringThe name of the bucket.
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.
Implementations
impl BucketAccessControl[src]
pub async fn create(
bucket: &str,
new_bucket_access_control: &NewBucketAccessControl
) -> Result<Self>[src]
bucket: &str,
new_bucket_access_control: &NewBucketAccessControl
) -> Result<Self>
Create a new BucketAccessControl using the provided NewBucketAccessControl, related to
the Bucket provided by the bucket_name argument.
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::bucket_access_control::{BucketAccessControl, NewBucketAccessControl}; use cloud_storage::bucket_access_control::{Role, Entity}; let new_bucket_access_control = NewBucketAccessControl { entity: Entity::AllUsers, role: Role::Reader, }; BucketAccessControl::create("mybucket", &new_bucket_access_control).await?;
pub fn create_sync(
bucket: &str,
new_bucket_access_control: &NewBucketAccessControl
) -> Result<Self>[src]
bucket: &str,
new_bucket_access_control: &NewBucketAccessControl
) -> Result<Self>
The synchronous equivalent of BucketAccessControl::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]
Returns all BucketAccessControls related to this 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::bucket_access_control::BucketAccessControl; let acls = BucketAccessControl::list("mybucket").await?;
pub fn list_sync(bucket: &str) -> Result<Vec<Self>>[src]
The synchronous equivalent of BucketAccessControl::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]
Returns the ACL entry for the specified entity 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::bucket_access_control::{BucketAccessControl, Entity}; let controls = BucketAccessControl::read("mybucket", &Entity::AllUsers).await?;
pub fn read_sync(bucket: &str, entity: &Entity) -> Result<Self>[src]
The synchronous equivalent of BucketAccessControl::read.
Features
This function requires that the feature flag sync is enabled in Cargo.toml.
pub async fn update(&self) -> Result<Self>[src]
Update this BucketAccessControl.
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::bucket_access_control::{BucketAccessControl, Entity}; let mut acl = BucketAccessControl::read("mybucket", &Entity::AllUsers).await?; acl.entity = Entity::AllAuthenticatedUsers; acl.update().await?;
pub fn update_sync(&self) -> Result<Self>[src]
The synchronous equivalent of BucketAccessControl::update.
Features
This function requires that the feature flag sync is enabled in Cargo.toml.
pub async fn delete(self) -> Result<()>[src]
Permanently deletes the ACL entry for the specified entity 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::bucket_access_control::{BucketAccessControl, Entity}; let controls = BucketAccessControl::read("mybucket", &Entity::AllUsers).await?; controls.delete().await?;
pub fn delete_sync(self) -> Result<()>[src]
The synchronous equivalent of BucketAccessControl::delete.
Features
This function requires that the feature flag sync is enabled in Cargo.toml.
Trait Implementations
impl Debug for BucketAccessControl[src]
impl<'de> Deserialize<'de> for BucketAccessControl[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
__D: Deserializer<'de>,
impl PartialEq<BucketAccessControl> for BucketAccessControl[src]
fn eq(&self, other: &BucketAccessControl) -> bool[src]
fn ne(&self, other: &BucketAccessControl) -> bool[src]
impl Serialize for BucketAccessControl[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
impl StructuralPartialEq for BucketAccessControl[src]
Auto Trait Implementations
impl RefUnwindSafe for BucketAccessControl
impl Send for BucketAccessControl
impl Sync for BucketAccessControl
impl Unpin for BucketAccessControl
impl UnwindSafe for BucketAccessControl
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,
pub 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> Instrument for T[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[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.
pub 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>,