#[non_exhaustive]pub struct CustomProvider {
pub cloud_iap: Option<CloudIap>,
pub authz_extension: Option<AuthzExtension>,
/* private fields */
}Expand description
Allows delegating authorization decisions to Cloud IAP or to Service Extensions.
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.cloud_iap: Option<CloudIap>Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places.
authz_extension: Option<AuthzExtension>Optional. Delegate authorization decision to user authored Service Extension. Only one of cloudIap or authzExtension can be specified.
Implementations§
Source§impl CustomProvider
impl CustomProvider
pub fn new() -> Self
Sourcepub fn set_cloud_iap<T>(self, v: T) -> Self
pub fn set_cloud_iap<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_cloud_iap<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_cloud_iap<T>(self, v: Option<T>) -> Self
Sets or clears the value of cloud_iap.
§Example
ⓘ
use google_cloud_networksecurity_v1::model::authz_policy::custom_provider::CloudIap;
let x = CustomProvider::new().set_or_clear_cloud_iap(Some(CloudIap::default()/* use setters */));
let x = CustomProvider::new().set_or_clear_cloud_iap(None::<CloudIap>);Sourcepub fn set_authz_extension<T>(self, v: T) -> Selfwhere
T: Into<AuthzExtension>,
pub fn set_authz_extension<T>(self, v: T) -> Selfwhere
T: Into<AuthzExtension>,
Sets the value of authz_extension.
§Example
ⓘ
use google_cloud_networksecurity_v1::model::authz_policy::custom_provider::AuthzExtension;
let x = CustomProvider::new().set_authz_extension(AuthzExtension::default()/* use setters */);Sourcepub fn set_or_clear_authz_extension<T>(self, v: Option<T>) -> Selfwhere
T: Into<AuthzExtension>,
pub fn set_or_clear_authz_extension<T>(self, v: Option<T>) -> Selfwhere
T: Into<AuthzExtension>,
Sets or clears the value of authz_extension.
§Example
ⓘ
use google_cloud_networksecurity_v1::model::authz_policy::custom_provider::AuthzExtension;
let x = CustomProvider::new().set_or_clear_authz_extension(Some(AuthzExtension::default()/* use setters */));
let x = CustomProvider::new().set_or_clear_authz_extension(None::<AuthzExtension>);Trait Implementations§
Source§impl Clone for CustomProvider
impl Clone for CustomProvider
Source§fn clone(&self) -> CustomProvider
fn clone(&self) -> CustomProvider
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CustomProvider
impl Debug for CustomProvider
Source§impl Default for CustomProvider
impl Default for CustomProvider
Source§fn default() -> CustomProvider
fn default() -> CustomProvider
Returns the “default value” for a type. Read more
Source§impl Message for CustomProvider
impl Message for CustomProvider
Source§impl PartialEq for CustomProvider
impl PartialEq for CustomProvider
impl StructuralPartialEq for CustomProvider
Auto Trait Implementations§
impl Freeze for CustomProvider
impl RefUnwindSafe for CustomProvider
impl Send for CustomProvider
impl Sync for CustomProvider
impl Unpin for CustomProvider
impl UnsafeUnpin for CustomProvider
impl UnwindSafe for CustomProvider
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
Mutably borrows from an owned value. Read more