#[non_exhaustive]pub struct SecurityPolicyDdosProtectionConfig {
pub ddos_adaptive_protection: Option<DdosAdaptiveProtection>,
pub ddos_impacted_baseline_threshold: Option<f32>,
pub ddos_protection: Option<DdosProtection>,
/* private fields */
}organization-security-policies or region-security-policies or security-policies only.Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.ddos_adaptive_protection: Option<DdosAdaptiveProtection>§ddos_impacted_baseline_threshold: Option<f32>DDoS Protection for Network Load Balancers (and VMs with public IPs) builds DDoS mitigations that minimize collateral damage. It quantifies this as the fraction of a non-abuse baseline that’s inadvertently blocked.
Rules whose collateral damage exceeds ddosImpactedBaselineThreshold will not be deployed. Using a lower value will prioritize keeping collateral damage low, possibly at the cost of its effectiveness in rate limiting some or all of the attack. It should typically be unset, so Advanced DDoS (and Adaptive Protection) uses the best mitigation it can find. Setting the threshold is advised if there are logs for false positive detections with high collateral damage, and will cause Advanced DDoS to attempt to find a less aggressive rule that satisfies the constraint. If a suitable rule cannot be found, the system falls back to either no mitigation for smaller attacks or broader network throttles for larger ones.
ddos_protection: Option<DdosProtection>Implementations§
Source§impl SecurityPolicyDdosProtectionConfig
impl SecurityPolicyDdosProtectionConfig
Sourcepub fn set_ddos_adaptive_protection<T>(self, v: T) -> Selfwhere
T: Into<DdosAdaptiveProtection>,
pub fn set_ddos_adaptive_protection<T>(self, v: T) -> Selfwhere
T: Into<DdosAdaptiveProtection>,
Sets the value of ddos_adaptive_protection.
§Example
use google_cloud_compute_v1::model::security_policy_ddos_protection_config::DdosAdaptiveProtection;
let x0 = SecurityPolicyDdosProtectionConfig::new().set_ddos_adaptive_protection(DdosAdaptiveProtection::Disabled);
let x1 = SecurityPolicyDdosProtectionConfig::new().set_ddos_adaptive_protection(DdosAdaptiveProtection::Enabled);
let x2 = SecurityPolicyDdosProtectionConfig::new().set_ddos_adaptive_protection(DdosAdaptiveProtection::Preview);Sourcepub fn set_or_clear_ddos_adaptive_protection<T>(self, v: Option<T>) -> Selfwhere
T: Into<DdosAdaptiveProtection>,
pub fn set_or_clear_ddos_adaptive_protection<T>(self, v: Option<T>) -> Selfwhere
T: Into<DdosAdaptiveProtection>,
Sets or clears the value of ddos_adaptive_protection.
§Example
use google_cloud_compute_v1::model::security_policy_ddos_protection_config::DdosAdaptiveProtection;
let x0 = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_adaptive_protection(Some(DdosAdaptiveProtection::Disabled));
let x1 = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_adaptive_protection(Some(DdosAdaptiveProtection::Enabled));
let x2 = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_adaptive_protection(Some(DdosAdaptiveProtection::Preview));
let x_none = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_adaptive_protection(None::<DdosAdaptiveProtection>);Sourcepub fn set_ddos_impacted_baseline_threshold<T>(self, v: T) -> Self
pub fn set_ddos_impacted_baseline_threshold<T>(self, v: T) -> Self
Sets the value of ddos_impacted_baseline_threshold.
§Example
let x = SecurityPolicyDdosProtectionConfig::new().set_ddos_impacted_baseline_threshold(42.0);Sourcepub fn set_or_clear_ddos_impacted_baseline_threshold<T>(
self,
v: Option<T>,
) -> Self
pub fn set_or_clear_ddos_impacted_baseline_threshold<T>( self, v: Option<T>, ) -> Self
Sets or clears the value of ddos_impacted_baseline_threshold.
§Example
let x = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_impacted_baseline_threshold(Some(42.0));
let x = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_impacted_baseline_threshold(None::<f32>);Sourcepub fn set_ddos_protection<T>(self, v: T) -> Selfwhere
T: Into<DdosProtection>,
pub fn set_ddos_protection<T>(self, v: T) -> Selfwhere
T: Into<DdosProtection>,
Sets the value of ddos_protection.
§Example
use google_cloud_compute_v1::model::security_policy_ddos_protection_config::DdosProtection;
let x0 = SecurityPolicyDdosProtectionConfig::new().set_ddos_protection(DdosProtection::AdvancedPreview);
let x1 = SecurityPolicyDdosProtectionConfig::new().set_ddos_protection(DdosProtection::Standard);Sourcepub fn set_or_clear_ddos_protection<T>(self, v: Option<T>) -> Selfwhere
T: Into<DdosProtection>,
pub fn set_or_clear_ddos_protection<T>(self, v: Option<T>) -> Selfwhere
T: Into<DdosProtection>,
Sets or clears the value of ddos_protection.
§Example
use google_cloud_compute_v1::model::security_policy_ddos_protection_config::DdosProtection;
let x0 = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_protection(Some(DdosProtection::AdvancedPreview));
let x1 = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_protection(Some(DdosProtection::Standard));
let x_none = SecurityPolicyDdosProtectionConfig::new().set_or_clear_ddos_protection(None::<DdosProtection>);Trait Implementations§
Source§impl Clone for SecurityPolicyDdosProtectionConfig
impl Clone for SecurityPolicyDdosProtectionConfig
Source§fn clone(&self) -> SecurityPolicyDdosProtectionConfig
fn clone(&self) -> SecurityPolicyDdosProtectionConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for SecurityPolicyDdosProtectionConfig
impl Default for SecurityPolicyDdosProtectionConfig
Source§fn default() -> SecurityPolicyDdosProtectionConfig
fn default() -> SecurityPolicyDdosProtectionConfig
impl StructuralPartialEq for SecurityPolicyDdosProtectionConfig
Auto Trait Implementations§
impl Freeze for SecurityPolicyDdosProtectionConfig
impl RefUnwindSafe for SecurityPolicyDdosProtectionConfig
impl Send for SecurityPolicyDdosProtectionConfig
impl Sync for SecurityPolicyDdosProtectionConfig
impl Unpin for SecurityPolicyDdosProtectionConfig
impl UnsafeUnpin for SecurityPolicyDdosProtectionConfig
impl UnwindSafe for SecurityPolicyDdosProtectionConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request