Struct cloud_storage::object_access_control::ObjectAccessControl [−][src]
The ObjectAccessControls resources represent the Access Control Lists (ACLs) for objects within Google Cloud Storage. ACLs let you specify who has access to your data and to what extent.
Important: The methods for this resource fail with a 400 Bad Request response for buckets with
uniform bucket-level access enabled. Use storage.buckets.getIamPolicy and
storage.buckets.setIamPolicy to control access instead.
There are two roles that can be assigned to an entity:
READERs can get an object, though the acl property will not be revealed. OWNERs are READERs, and they can get the acl property, update an object, and call all objectAccessControls methods on the object. The owner of an object is always an OWNER.
For more information, see Access Control, with the caveat that this API uses READER and OWNER instead of READ and FULL_CONTROL.
Fields
kind: String
The kind of item this is. For object access control entries, this is always
storage#objectAccessControl
.
id: String
The ID of the access-control entry.
self_link: String
The link to this access-control entry.
bucket: String
The name of the bucket.
object: String
The name of the object, if applied to an object.
generation: Option<String>
The content generation of the object, if applied to an object.
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.
Implementations
impl ObjectAccessControl
[src]
pub async fn create(
bucket: &str,
object: &str,
new_object_access_control: &NewObjectAccessControl
) -> Result<Self>
[src]
bucket: &str,
object: &str,
new_object_access_control: &NewObjectAccessControl
) -> Result<Self>
Creates a new ACL entry on the specified object
.
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.
pub fn create_sync(
bucket: &str,
object: &str,
new_object_access_control: &NewObjectAccessControl
) -> Result<Self>
[src]
bucket: &str,
object: &str,
new_object_access_control: &NewObjectAccessControl
) -> Result<Self>
The synchronous equivalent of ObjectAccessControl::create
.
Features
This function requires that the feature flag sync
is enabled in Cargo.toml
.
pub async fn list(bucket: &str, object: &str) -> Result<Vec<Self>>
[src]
Retrieves ACL
entries on the specified object.
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.
pub fn list_sync(bucket: &str, object: &str) -> Result<Vec<Self>>
[src]
The synchronous equivalent of ObjectAccessControl::list
.
Features
This function requires that the feature flag sync
is enabled in Cargo.toml
.
pub async fn read(bucket: &str, object: &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.
pub fn read_sync(bucket: &str, object: &str, entity: &Entity) -> Result<Self>
[src]
The synchronous equivalent of ObjectAccessControl::read
.
Features
This function requires that the feature flag sync
is enabled in Cargo.toml
.
pub async fn update(&self) -> Result<Self>
[src]
Updates an ACL entry on the specified object.
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.
pub fn update_sync(&self) -> Result<Self>
[src]
The synchronous equivalent of ObjectAccessControl::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 object.
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.
pub fn delete_sync(self) -> Result<()>
[src]
The synchronous equivalent of ObjectAccessControl::delete
.
Features
This function requires that the feature flag sync
is enabled in Cargo.toml
.
Trait Implementations
impl Debug for ObjectAccessControl
[src]
impl<'de> Deserialize<'de> for ObjectAccessControl
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl PartialEq<ObjectAccessControl> for ObjectAccessControl
[src]
fn eq(&self, other: &ObjectAccessControl) -> bool
[src]
fn ne(&self, other: &ObjectAccessControl) -> bool
[src]
impl Serialize for ObjectAccessControl
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralPartialEq for ObjectAccessControl
[src]
Auto Trait Implementations
impl RefUnwindSafe for ObjectAccessControl
impl Send for ObjectAccessControl
impl Sync for ObjectAccessControl
impl Unpin for ObjectAccessControl
impl UnwindSafe for ObjectAccessControl
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>,