Skip to main content

Access

Struct Access 

Source
#[non_exhaustive]
pub struct Access { pub role: String, pub user_by_email: String, pub group_by_email: String, pub domain: String, pub special_group: String, pub iam_member: String, pub view: Option<TableReference>, pub routine: Option<RoutineReference>, pub dataset: Option<DatasetAccessEntry>, pub condition: Option<Expr>, /* private fields */ }
Expand description

An object that defines dataset access for an entity.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§role: String

An IAM role ID that should be granted to the user, group, or domain specified in this access entry. The following legacy mappings will be applied:

  • OWNER: roles/bigquery.dataOwner
  • WRITER: roles/bigquery.dataEditor
  • READER: roles/bigquery.dataViewer

This field will accept any of the above formats, but will return only the legacy format. For example, if you set this field to “roles/bigquery.dataOwner”, it will be returned back as “OWNER”.

§user_by_email: String

[Pick one] An email address of a user to grant access to. For example: fred@example.com. Maps to IAM policy member “user:EMAIL” or “serviceAccount:EMAIL”.

§group_by_email: String

[Pick one] An email address of a Google Group to grant access to. Maps to IAM policy member “group:GROUP”.

§domain: String

[Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: “example.com”. Maps to IAM policy member “domain:DOMAIN”.

§special_group: String

[Pick one] A special group to grant access to. Possible values include:

  • projectOwners: Owners of the enclosing project.
  • projectReaders: Readers of the enclosing project.
  • projectWriters: Writers of the enclosing project.
  • allAuthenticatedUsers: All authenticated BigQuery users.

Maps to similarly-named IAM members.

§iam_member: String

[Pick one] Some other type of member that appears in the IAM Policy but isn’t a user, group, domain, or special group.

§view: Option<TableReference>

[Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to views/tables/routines in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation.

§routine: Option<RoutineReference>

[Pick one] A routine from a different dataset to grant access to. Queries executed against that routine will have read access to views/tables/routines in this dataset. Only UDF is supported for now. The role field is not required when this field is set. If that routine is updated by any user, access to the routine needs to be granted again via an update operation.

§dataset: Option<DatasetAccessEntry>

[Pick one] A grant authorizing all resources of a particular type in a particular dataset access to this dataset. Only views are supported for now. The role field is not required when this field is set. If that dataset is deleted and re-created, its access needs to be granted again via an update operation.

§condition: Option<Expr>

Optional. condition for the binding. If CEL expression in this field is true, this access binding will be considered

Implementations§

Source§

impl Access

Source

pub fn new() -> Self

Creates a new default instance.

Source

pub fn set_role<T: Into<String>>(self, v: T) -> Self

Sets the value of role.

§Example
let x = Access::new().set_role("example");
Source

pub fn set_user_by_email<T: Into<String>>(self, v: T) -> Self

Sets the value of user_by_email.

§Example
let x = Access::new().set_user_by_email("example");
Source

pub fn set_group_by_email<T: Into<String>>(self, v: T) -> Self

Sets the value of group_by_email.

§Example
let x = Access::new().set_group_by_email("example");
Source

pub fn set_domain<T: Into<String>>(self, v: T) -> Self

Sets the value of domain.

§Example
let x = Access::new().set_domain("example");
Source

pub fn set_special_group<T: Into<String>>(self, v: T) -> Self

Sets the value of special_group.

§Example
let x = Access::new().set_special_group("example");
Source

pub fn set_iam_member<T: Into<String>>(self, v: T) -> Self

Sets the value of iam_member.

§Example
let x = Access::new().set_iam_member("example");
Source

pub fn set_view<T>(self, v: T) -> Self
where T: Into<TableReference>,

Sets the value of view.

§Example
use google_cloud_bigquery_v2::model::TableReference;
let x = Access::new().set_view(TableReference::default()/* use setters */);
Source

pub fn set_or_clear_view<T>(self, v: Option<T>) -> Self
where T: Into<TableReference>,

Sets or clears the value of view.

§Example
use google_cloud_bigquery_v2::model::TableReference;
let x = Access::new().set_or_clear_view(Some(TableReference::default()/* use setters */));
let x = Access::new().set_or_clear_view(None::<TableReference>);
Source

pub fn set_routine<T>(self, v: T) -> Self

Sets the value of routine.

§Example
use google_cloud_bigquery_v2::model::RoutineReference;
let x = Access::new().set_routine(RoutineReference::default()/* use setters */);
Source

pub fn set_or_clear_routine<T>(self, v: Option<T>) -> Self

Sets or clears the value of routine.

§Example
use google_cloud_bigquery_v2::model::RoutineReference;
let x = Access::new().set_or_clear_routine(Some(RoutineReference::default()/* use setters */));
let x = Access::new().set_or_clear_routine(None::<RoutineReference>);
Source

pub fn set_dataset<T>(self, v: T) -> Self

Sets the value of dataset.

§Example
use google_cloud_bigquery_v2::model::DatasetAccessEntry;
let x = Access::new().set_dataset(DatasetAccessEntry::default()/* use setters */);
Source

pub fn set_or_clear_dataset<T>(self, v: Option<T>) -> Self

Sets or clears the value of dataset.

§Example
use google_cloud_bigquery_v2::model::DatasetAccessEntry;
let x = Access::new().set_or_clear_dataset(Some(DatasetAccessEntry::default()/* use setters */));
let x = Access::new().set_or_clear_dataset(None::<DatasetAccessEntry>);
Source

pub fn set_condition<T>(self, v: T) -> Self
where T: Into<Expr>,

Sets the value of condition.

§Example
use google_cloud_type::model::Expr;
let x = Access::new().set_condition(Expr::default()/* use setters */);
Source

pub fn set_or_clear_condition<T>(self, v: Option<T>) -> Self
where T: Into<Expr>,

Sets or clears the value of condition.

§Example
use google_cloud_type::model::Expr;
let x = Access::new().set_or_clear_condition(Some(Expr::default()/* use setters */));
let x = Access::new().set_or_clear_condition(None::<Expr>);

Trait Implementations§

Source§

impl Clone for Access

Source§

fn clone(&self) -> Access

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 Access

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for Access

Source§

fn default() -> Access

Returns the “default value” for a type. Read more
Source§

impl Message for Access

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Access

Source§

fn eq(&self, other: &Access) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Access

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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 = !

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

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more