[−][src]Struct cloud_storage::bucket_access_control::BucketAccessControl
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.
Methods
impl BucketAccessControl[src]
pub fn create(
bucket: &str,
new_bucket_access_control: &NewBucketAccessControl
) -> Result<Self, Error>[src]
bucket: &str,
new_bucket_access_control: &NewBucketAccessControl
) -> Result<Self, Error>
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)?;
pub fn list(bucket: &str) -> Result<Vec<Self>, Error>[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")?;
pub fn read(bucket: &str, entity: &Entity) -> Result<Self, Error>[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)?;
pub fn update(&self) -> Result<Self, Error>[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)?; acl.entity = Entity::AllAuthenticatedUsers;
pub fn delete(self) -> Result<(), Error>[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)?; controls.delete()?;
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,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>, [src]
T: 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>,