pub struct AttributePropagationSettings {
pub enable: Option<bool>,
pub expression: Option<String>,
pub output_credentials: Option<Vec<String>>,
}
Expand description
Configuration for propagating attributes to applications protected by IAP.
This type is not used in any activity, and only used as part of another schema.
Fields§
§enable: Option<bool>
Optional. Whether the provided attribute propagation settings should be evaluated on user requests. If set to true, attributes returned from the expression will be propagated in the set output credentials.
expression: Option<String>
Optional. Raw string CEL expression. Must return a list of attributes. A maximum of 45 attributes can be selected. Expressions can select different attribute types from attributes
: attributes.saml_attributes
, attributes.iap_attributes
. The following functions are supported: - filter .filter(, )
: Returns a subset of where
is true for every item. - in in
: Returns true if contains
. - selectByName .selectByName()
: Returns the attribute in with the given
name, otherwise returns empty. - emitAs .emitAs()
: Sets the name field to the given
for propagation in selected output credentials. - strict .strict()
: Ignores the x-goog-iap-attr-
prefix for the provided when propagating with the `HEADER` output credential, such as request headers. - append `.append()` OR `.append()`: Appends the provided
or to the end of
. Example expression: attributes.saml_attributes.filter(x, x.name in ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())
output_credentials: Option<Vec<String>>
Optional. Which output credentials attributes selected by the CEL expression should be propagated in. All attributes will be fully duplicated in each selected output credential.
Trait Implementations§
Source§impl Clone for AttributePropagationSettings
impl Clone for AttributePropagationSettings
Source§fn clone(&self) -> AttributePropagationSettings
fn clone(&self) -> AttributePropagationSettings
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AttributePropagationSettings
impl Debug for AttributePropagationSettings
Source§impl Default for AttributePropagationSettings
impl Default for AttributePropagationSettings
Source§fn default() -> AttributePropagationSettings
fn default() -> AttributePropagationSettings
Source§impl<'de> Deserialize<'de> for AttributePropagationSettings
impl<'de> Deserialize<'de> for AttributePropagationSettings
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Part for AttributePropagationSettings
Auto Trait Implementations§
impl Freeze for AttributePropagationSettings
impl RefUnwindSafe for AttributePropagationSettings
impl Send for AttributePropagationSettings
impl Sync for AttributePropagationSettings
impl Unpin for AttributePropagationSettings
impl UnwindSafe for AttributePropagationSettings
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more