CustomConfig

Struct CustomConfig 

Source
#[non_exhaustive]
pub struct CustomConfig { pub predicate: Option<Expr>, pub custom_output: Option<CustomOutputSpec>, pub resource_selector: Option<ResourceSelector>, pub severity: Severity, pub description: String, pub recommendation: String, /* private fields */ }
Expand description

Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.

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.
§predicate: Option<Expr>

Required. The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.

§custom_output: Option<CustomOutputSpec>

Optional. Custom output properties.

§resource_selector: Option<ResourceSelector>

Required. The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.

§severity: Severity

Required. The severity to assign to findings generated by the module.

§description: String

Optional. Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.

§recommendation: String

Optional. An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the nextSteps property of the finding JSON.

Implementations§

Source§

impl CustomConfig

Source

pub fn new() -> Self

Source

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

Sets the value of predicate.

§Example
use gtype::model::Expr;
let x = CustomConfig::new().set_predicate(Expr::default()/* use setters */);
Source

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

Sets or clears the value of predicate.

§Example
use gtype::model::Expr;
let x = CustomConfig::new().set_or_clear_predicate(Some(Expr::default()/* use setters */));
let x = CustomConfig::new().set_or_clear_predicate(None::<Expr>);
Source

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

Sets the value of custom_output.

§Example
use google_cloud_securityposture_v1::model::custom_config::CustomOutputSpec;
let x = CustomConfig::new().set_custom_output(CustomOutputSpec::default()/* use setters */);
Source

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

Sets or clears the value of custom_output.

§Example
use google_cloud_securityposture_v1::model::custom_config::CustomOutputSpec;
let x = CustomConfig::new().set_or_clear_custom_output(Some(CustomOutputSpec::default()/* use setters */));
let x = CustomConfig::new().set_or_clear_custom_output(None::<CustomOutputSpec>);
Source

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

Sets the value of resource_selector.

§Example
use google_cloud_securityposture_v1::model::custom_config::ResourceSelector;
let x = CustomConfig::new().set_resource_selector(ResourceSelector::default()/* use setters */);
Source

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

Sets or clears the value of resource_selector.

§Example
use google_cloud_securityposture_v1::model::custom_config::ResourceSelector;
let x = CustomConfig::new().set_or_clear_resource_selector(Some(ResourceSelector::default()/* use setters */));
let x = CustomConfig::new().set_or_clear_resource_selector(None::<ResourceSelector>);
Source

pub fn set_severity<T: Into<Severity>>(self, v: T) -> Self

Sets the value of severity.

§Example
use google_cloud_securityposture_v1::model::custom_config::Severity;
let x0 = CustomConfig::new().set_severity(Severity::Critical);
let x1 = CustomConfig::new().set_severity(Severity::High);
let x2 = CustomConfig::new().set_severity(Severity::Medium);
Source

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

Sets the value of description.

§Example
let x = CustomConfig::new().set_description("example");
Source

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

Sets the value of recommendation.

§Example
let x = CustomConfig::new().set_recommendation("example");

Trait Implementations§

Source§

impl Clone for CustomConfig

Source§

fn clone(&self) -> CustomConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for CustomConfig

Source§

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

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

impl Default for CustomConfig

Source§

fn default() -> CustomConfig

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

impl Message for CustomConfig

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for CustomConfig

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for CustomConfig

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<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> 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: 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: 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> 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

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
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,