#[non_exhaustive]pub struct IntelligenceFinding {
pub name: String,
pub description: String,
pub type: FindingType,
pub category: FindingCategory,
pub severity: FindingSeverity,
pub create_time: Option<Timestamp>,
pub update_time: Option<Timestamp>,
pub target_resource: String,
pub associated_resources: Vec<String>,
pub observation_period: Option<Interval>,
pub intelligence_finding_details: Option<IntelligenceFindingDetails>,
/* private fields */
}Expand description
The IntelligenceFinding resource that represents a security, performance,
or cost-related finding about a project or bucket.
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. The resource name of IntelligenceFinding.
Format:
projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}
description: StringOutput only. A short description about the finding.
type: FindingTypeOutput only. Type of this finding.
category: FindingCategoryOutput only. Category of this finding.
severity: FindingSeverityOutput only. Severity of the finding.
create_time: Option<Timestamp>Output only. The time at which the finding was created.
update_time: Option<Timestamp>Output only. The time at which the finding was last updated.
target_resource: StringOutput only. The fully qualified resource name of the resource that this
IntelligenceFinding applies to. eg:
storage.googleapis.com/projects/_/buckets/b1cloudresourecemanager.googleapis.com/projects/p1
associated_resources: Vec<String>Output only. Contains GCP resource names that are
relevant to this IntelligenceFinding. The target_resource is also added
as part of associated_resources. eg:
storage.googleapis.com/projects/_/buckets/b1cloudresourecemanager.googleapis.com/projects/p1
observation_period: Option<Interval>Output only. The time interval during which the underlying data was used to
generate this IntelligenceFinding.
intelligence_finding_details: Option<IntelligenceFindingDetails>The specific details of the IntelligenceFinding.
Implementations§
Source§impl IntelligenceFinding
impl IntelligenceFinding
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 = IntelligenceFinding::new().set_description("example");Sourcepub fn set_type<T: Into<FindingType>>(self, v: T) -> Self
pub fn set_type<T: Into<FindingType>>(self, v: T) -> Self
Sets the value of r#type.
§Example
use google_cloud_storage::model::FindingType;
let x0 = IntelligenceFinding::new().set_type(FindingType::ColdlineAndArchivalStorageOperationsSpike);
let x1 = IntelligenceFinding::new().set_type(FindingType::ThrottledRequestSpike);
let x2 = IntelligenceFinding::new().set_type(FindingType::CrossRegionEgressSpike);Sourcepub fn set_category<T: Into<FindingCategory>>(self, v: T) -> Self
pub fn set_category<T: Into<FindingCategory>>(self, v: T) -> Self
Sourcepub fn set_severity<T: Into<FindingSeverity>>(self, v: T) -> Self
pub fn set_severity<T: Into<FindingSeverity>>(self, v: T) -> Self
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 = IntelligenceFinding::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 = IntelligenceFinding::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = IntelligenceFinding::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 = IntelligenceFinding::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 = IntelligenceFinding::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = IntelligenceFinding::new().set_or_clear_update_time(None::<Timestamp>);Sourcepub fn set_target_resource<T: Into<String>>(self, v: T) -> Self
pub fn set_target_resource<T: Into<String>>(self, v: T) -> Self
Sets the value of target_resource.
§Example
let x = IntelligenceFinding::new().set_target_resource("example");Sourcepub fn set_associated_resources<T, V>(self, v: T) -> Self
pub fn set_associated_resources<T, V>(self, v: T) -> Self
Sets the value of associated_resources.
§Example
let x = IntelligenceFinding::new().set_associated_resources(["a", "b", "c"]);Sourcepub fn set_observation_period<T>(self, v: T) -> Self
pub fn set_observation_period<T>(self, v: T) -> Self
Sets the value of observation_period.
§Example
use google_cloud_type::model::Interval;
let x = IntelligenceFinding::new().set_observation_period(Interval::default()/* use setters */);Sourcepub fn set_or_clear_observation_period<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_observation_period<T>(self, v: Option<T>) -> Self
Sets or clears the value of observation_period.
§Example
use google_cloud_type::model::Interval;
let x = IntelligenceFinding::new().set_or_clear_observation_period(Some(Interval::default()/* use setters */));
let x = IntelligenceFinding::new().set_or_clear_observation_period(None::<Interval>);Sourcepub fn set_intelligence_finding_details<T: Into<Option<IntelligenceFindingDetails>>>(
self,
v: T,
) -> Self
pub fn set_intelligence_finding_details<T: Into<Option<IntelligenceFindingDetails>>>( self, v: T, ) -> Self
Sets the value of intelligence_finding_details.
Note that all the setters affecting intelligence_finding_details are mutually
exclusive.
§Example
use google_cloud_storage::model::intelligence_finding::ColdlineAndArchivalStorageOperationsSpike;
let x = IntelligenceFinding::new().set_intelligence_finding_details(Some(
google_cloud_storage::model::intelligence_finding::IntelligenceFindingDetails::ColdlineAndArchivalStorageOperationsSpike(ColdlineAndArchivalStorageOperationsSpike::default().into())));Sourcepub fn coldline_and_archival_storage_operations_spike(
&self,
) -> Option<&Box<ColdlineAndArchivalStorageOperationsSpike>>
pub fn coldline_and_archival_storage_operations_spike( &self, ) -> Option<&Box<ColdlineAndArchivalStorageOperationsSpike>>
The value of intelligence_finding_details
if it holds a ColdlineAndArchivalStorageOperationsSpike, None if the field is not set or
holds a different branch.
Sourcepub fn set_coldline_and_archival_storage_operations_spike<T: Into<Box<ColdlineAndArchivalStorageOperationsSpike>>>(
self,
v: T,
) -> Self
pub fn set_coldline_and_archival_storage_operations_spike<T: Into<Box<ColdlineAndArchivalStorageOperationsSpike>>>( self, v: T, ) -> Self
Sets the value of intelligence_finding_details
to hold a ColdlineAndArchivalStorageOperationsSpike.
Note that all the setters affecting intelligence_finding_details are
mutually exclusive.
§Example
use google_cloud_storage::model::intelligence_finding::ColdlineAndArchivalStorageOperationsSpike;
let x = IntelligenceFinding::new().set_coldline_and_archival_storage_operations_spike(ColdlineAndArchivalStorageOperationsSpike::default()/* use setters */);
assert!(x.coldline_and_archival_storage_operations_spike().is_some());
assert!(x.throttled_requests_spike().is_none());
assert!(x.cross_region_egress_spike().is_none());
assert!(x.storage_growth_above_trend().is_none());Sourcepub fn throttled_requests_spike(&self) -> Option<&Box<ThrottledRequestSpike>>
pub fn throttled_requests_spike(&self) -> Option<&Box<ThrottledRequestSpike>>
The value of intelligence_finding_details
if it holds a ThrottledRequestsSpike, None if the field is not set or
holds a different branch.
Sourcepub fn set_throttled_requests_spike<T: Into<Box<ThrottledRequestSpike>>>(
self,
v: T,
) -> Self
pub fn set_throttled_requests_spike<T: Into<Box<ThrottledRequestSpike>>>( self, v: T, ) -> Self
Sets the value of intelligence_finding_details
to hold a ThrottledRequestsSpike.
Note that all the setters affecting intelligence_finding_details are
mutually exclusive.
§Example
use google_cloud_storage::model::intelligence_finding::ThrottledRequestSpike;
let x = IntelligenceFinding::new().set_throttled_requests_spike(ThrottledRequestSpike::default()/* use setters */);
assert!(x.throttled_requests_spike().is_some());
assert!(x.coldline_and_archival_storage_operations_spike().is_none());
assert!(x.cross_region_egress_spike().is_none());
assert!(x.storage_growth_above_trend().is_none());Sourcepub fn cross_region_egress_spike(&self) -> Option<&Box<CrossRegionEgressSpike>>
pub fn cross_region_egress_spike(&self) -> Option<&Box<CrossRegionEgressSpike>>
The value of intelligence_finding_details
if it holds a CrossRegionEgressSpike, None if the field is not set or
holds a different branch.
Sourcepub fn set_cross_region_egress_spike<T: Into<Box<CrossRegionEgressSpike>>>(
self,
v: T,
) -> Self
pub fn set_cross_region_egress_spike<T: Into<Box<CrossRegionEgressSpike>>>( self, v: T, ) -> Self
Sets the value of intelligence_finding_details
to hold a CrossRegionEgressSpike.
Note that all the setters affecting intelligence_finding_details are
mutually exclusive.
§Example
use google_cloud_storage::model::intelligence_finding::CrossRegionEgressSpike;
let x = IntelligenceFinding::new().set_cross_region_egress_spike(CrossRegionEgressSpike::default()/* use setters */);
assert!(x.cross_region_egress_spike().is_some());
assert!(x.coldline_and_archival_storage_operations_spike().is_none());
assert!(x.throttled_requests_spike().is_none());
assert!(x.storage_growth_above_trend().is_none());Sourcepub fn storage_growth_above_trend(
&self,
) -> Option<&Box<StorageGrowthAboveTrend>>
pub fn storage_growth_above_trend( &self, ) -> Option<&Box<StorageGrowthAboveTrend>>
The value of intelligence_finding_details
if it holds a StorageGrowthAboveTrend, None if the field is not set or
holds a different branch.
Sourcepub fn set_storage_growth_above_trend<T: Into<Box<StorageGrowthAboveTrend>>>(
self,
v: T,
) -> Self
pub fn set_storage_growth_above_trend<T: Into<Box<StorageGrowthAboveTrend>>>( self, v: T, ) -> Self
Sets the value of intelligence_finding_details
to hold a StorageGrowthAboveTrend.
Note that all the setters affecting intelligence_finding_details are
mutually exclusive.
§Example
use google_cloud_storage::model::intelligence_finding::StorageGrowthAboveTrend;
let x = IntelligenceFinding::new().set_storage_growth_above_trend(StorageGrowthAboveTrend::default()/* use setters */);
assert!(x.storage_growth_above_trend().is_some());
assert!(x.coldline_and_archival_storage_operations_spike().is_none());
assert!(x.throttled_requests_spike().is_none());
assert!(x.cross_region_egress_spike().is_none());Trait Implementations§
Source§impl Clone for IntelligenceFinding
impl Clone for IntelligenceFinding
Source§fn clone(&self) -> IntelligenceFinding
fn clone(&self) -> IntelligenceFinding
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 IntelligenceFinding
impl Debug for IntelligenceFinding
Source§impl Default for IntelligenceFinding
impl Default for IntelligenceFinding
Source§fn default() -> IntelligenceFinding
fn default() -> IntelligenceFinding
Source§impl Message for IntelligenceFinding
impl Message for IntelligenceFinding
Source§impl PartialEq for IntelligenceFinding
impl PartialEq for IntelligenceFinding
Source§fn eq(&self, other: &IntelligenceFinding) -> bool
fn eq(&self, other: &IntelligenceFinding) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for IntelligenceFinding
Auto Trait Implementations§
impl Freeze for IntelligenceFinding
impl RefUnwindSafe for IntelligenceFinding
impl Send for IntelligenceFinding
impl Sync for IntelligenceFinding
impl Unpin for IntelligenceFinding
impl UnsafeUnpin for IntelligenceFinding
impl UnwindSafe for IntelligenceFinding
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