Skip to main content

CredentialAccessBoundaryGrant

Struct CredentialAccessBoundaryGrant 

Source
pub struct CredentialAccessBoundaryGrant { /* private fields */ }
Expand description

A typed, bound Google Cloud Storage Credential Access Boundary.

Use CredentialAccessBoundaryGrant::for_bucket for bucket-wide access or CredentialAccessBoundaryGrant::for_object_prefix for a non-empty object prefix. Prefix grants generate the CEL expression internally, including the objectListPrefix check required for safely listing objects. Bucket and prefix values are never normalized.

Additional rules can be added explicitly. Google evaluates CAB rules as a union and allows at most ten rules.

Implementations§

Source§

impl CredentialAccessBoundaryGrant

Source

pub fn for_bucket( bucket: impl Into<String>, permissions: CredentialAccessBoundaryPermissions, ) -> Self

Create a bucket-wide Credential Access Boundary.

Source

pub fn for_object_prefix( bucket: impl Into<String>, object_prefix: impl Into<String>, permissions: CredentialAccessBoundaryPermissions, ) -> Self

Create a Credential Access Boundary for a non-empty object prefix.

Prefix matching preserves the exact Unicode string. For directory-like semantics, include the trailing / explicitly.

Source

pub fn with_bucket_rule( self, bucket: impl Into<String>, permissions: CredentialAccessBoundaryPermissions, ) -> Self

Add another bucket-wide rule.

All rules are evaluated as a union.

Source

pub fn with_object_prefix_rule( self, bucket: impl Into<String>, object_prefix: impl Into<String>, permissions: CredentialAccessBoundaryPermissions, ) -> Self

Add another non-empty object-prefix rule.

All rules are evaluated as a union.

Trait Implementations§

Source§

impl Clone for CredentialAccessBoundaryGrant

Source§

fn clone(&self) -> CredentialAccessBoundaryGrant

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CredentialAccessBoundaryGrant

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> MaybeSend for T
where T: Send,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V