#[non_exhaustive]pub struct ResourceValueConfig {
pub name: String,
pub resource_value: ResourceValue,
pub tag_values: Vec<String>,
pub resource_type: String,
pub scope: String,
pub resource_labels_selector: HashMap<String, String>,
pub description: String,
pub create_time: Option<Timestamp>,
pub update_time: Option<Timestamp>,
pub cloud_provider: CloudProvider,
pub sensitive_data_protection_mapping: Option<SensitiveDataProtectionMapping>,
/* private fields */
}Expand description
A resource value configuration (RVC) is a mapping configuration of user’s resources to resource values. Used in Attack path simulations.
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.name: StringIdentifier. Name for the resource value configuration
resource_value: ResourceValueResource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request
tag_values: Vec<String>Tag values combined with AND to check against.
For Google Cloud resources, they are tag value IDs in the form of
“tagValues/123”. Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
resource_type: StringApply resource_value only to resources that match resource_type.
resource_type will be checked with AND of other resources.
For example, “storage.googleapis.com/Bucket” with resource_value “HIGH”
will apply “HIGH” value only to “storage.googleapis.com/Bucket” resources.
scope: StringProject or folder to scope this configuration to.
For example, “project/456” would apply this configuration only to resources
in “project/456” scope and will be checked with AND of other resources.
resource_labels_selector: HashMap<String, String>List of resource labels to search for, evaluated with AND.
For example, “resource_labels_selector”: {“key”: “value”, “env”: “prod”}
will match resources with labels “key”: “value” AND “env”:
“prod”
https://cloud.google.com/resource-manager/docs/creating-managing-labels
description: StringDescription of the resource value configuration.
create_time: Option<Timestamp>Output only. Timestamp this resource value configuration was created.
update_time: Option<Timestamp>Output only. Timestamp this resource value configuration was last updated.
cloud_provider: CloudProviderCloud provider this configuration applies to
sensitive_data_protection_mapping: Option<SensitiveDataProtectionMapping>A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. “bigquery.googleapis.com/Dataset”.
Implementations§
Source§impl ResourceValueConfig
impl ResourceValueConfig
Sourcepub fn set_resource_value<T: Into<ResourceValue>>(self, v: T) -> Self
pub fn set_resource_value<T: Into<ResourceValue>>(self, v: T) -> Self
Sets the value of resource_value.
§Example
use google_cloud_securitycenter_v2::model::ResourceValue;
let x0 = ResourceValueConfig::new().set_resource_value(ResourceValue::High);
let x1 = ResourceValueConfig::new().set_resource_value(ResourceValue::Medium);
let x2 = ResourceValueConfig::new().set_resource_value(ResourceValue::Low);Sourcepub fn set_tag_values<T, V>(self, v: T) -> Self
pub fn set_tag_values<T, V>(self, v: T) -> Self
Sets the value of tag_values.
§Example
let x = ResourceValueConfig::new().set_tag_values(["a", "b", "c"]);Sourcepub fn set_resource_type<T: Into<String>>(self, v: T) -> Self
pub fn set_resource_type<T: Into<String>>(self, v: T) -> Self
Sets the value of resource_type.
§Example
let x = ResourceValueConfig::new().set_resource_type("example");Sourcepub fn set_resource_labels_selector<T, K, V>(self, v: T) -> Self
pub fn set_resource_labels_selector<T, K, V>(self, v: T) -> Self
Sets the value of resource_labels_selector.
§Example
let x = ResourceValueConfig::new().set_resource_labels_selector([
("key0", "abc"),
("key1", "xyz"),
]);Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sets the value of description.
§Example
let x = ResourceValueConfig::new().set_description("example");Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
§Example
use wkt::Timestamp;
let x = ResourceValueConfig::new().set_create_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
§Example
use wkt::Timestamp;
let x = ResourceValueConfig::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = ResourceValueConfig::new().set_or_clear_create_time(None::<Timestamp>);Sourcepub fn set_update_time<T>(self, v: T) -> Self
pub fn set_update_time<T>(self, v: T) -> Self
Sets the value of update_time.
§Example
use wkt::Timestamp;
let x = ResourceValueConfig::new().set_update_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_time.
§Example
use wkt::Timestamp;
let x = ResourceValueConfig::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = ResourceValueConfig::new().set_or_clear_update_time(None::<Timestamp>);Sourcepub fn set_cloud_provider<T: Into<CloudProvider>>(self, v: T) -> Self
pub fn set_cloud_provider<T: Into<CloudProvider>>(self, v: T) -> Self
Sets the value of cloud_provider.
§Example
use google_cloud_securitycenter_v2::model::CloudProvider;
let x0 = ResourceValueConfig::new().set_cloud_provider(CloudProvider::GoogleCloudPlatform);
let x1 = ResourceValueConfig::new().set_cloud_provider(CloudProvider::AmazonWebServices);
let x2 = ResourceValueConfig::new().set_cloud_provider(CloudProvider::MicrosoftAzure);Sourcepub fn set_sensitive_data_protection_mapping<T>(self, v: T) -> Selfwhere
T: Into<SensitiveDataProtectionMapping>,
pub fn set_sensitive_data_protection_mapping<T>(self, v: T) -> Selfwhere
T: Into<SensitiveDataProtectionMapping>,
Sets the value of sensitive_data_protection_mapping.
§Example
use google_cloud_securitycenter_v2::model::resource_value_config::SensitiveDataProtectionMapping;
let x = ResourceValueConfig::new().set_sensitive_data_protection_mapping(SensitiveDataProtectionMapping::default()/* use setters */);Sourcepub fn set_or_clear_sensitive_data_protection_mapping<T>(
self,
v: Option<T>,
) -> Selfwhere
T: Into<SensitiveDataProtectionMapping>,
pub fn set_or_clear_sensitive_data_protection_mapping<T>(
self,
v: Option<T>,
) -> Selfwhere
T: Into<SensitiveDataProtectionMapping>,
Sets or clears the value of sensitive_data_protection_mapping.
§Example
use google_cloud_securitycenter_v2::model::resource_value_config::SensitiveDataProtectionMapping;
let x = ResourceValueConfig::new().set_or_clear_sensitive_data_protection_mapping(Some(SensitiveDataProtectionMapping::default()/* use setters */));
let x = ResourceValueConfig::new().set_or_clear_sensitive_data_protection_mapping(None::<SensitiveDataProtectionMapping>);Trait Implementations§
Source§impl Clone for ResourceValueConfig
impl Clone for ResourceValueConfig
Source§fn clone(&self) -> ResourceValueConfig
fn clone(&self) -> ResourceValueConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResourceValueConfig
impl Debug for ResourceValueConfig
Source§impl Default for ResourceValueConfig
impl Default for ResourceValueConfig
Source§fn default() -> ResourceValueConfig
fn default() -> ResourceValueConfig
Source§impl Message for ResourceValueConfig
impl Message for ResourceValueConfig
Source§impl PartialEq for ResourceValueConfig
impl PartialEq for ResourceValueConfig
impl StructuralPartialEq for ResourceValueConfig
Auto Trait Implementations§
impl Freeze for ResourceValueConfig
impl RefUnwindSafe for ResourceValueConfig
impl Send for ResourceValueConfig
impl Sync for ResourceValueConfig
impl Unpin for ResourceValueConfig
impl UnsafeUnpin for ResourceValueConfig
impl UnwindSafe for ResourceValueConfig
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