#[non_exhaustive]pub struct CloudControl {Show 15 fields
pub name: String,
pub major_revision_id: i64,
pub description: String,
pub display_name: String,
pub supported_enforcement_modes: Vec<EnforcementMode>,
pub parameter_spec: Vec<ParameterSpec>,
pub rules: Vec<Rule>,
pub severity: Severity,
pub finding_category: String,
pub supported_cloud_providers: Vec<CloudProvider>,
pub related_frameworks: Vec<String>,
pub remediation_steps: String,
pub categories: Vec<CloudControlCategory>,
pub create_time: Option<Timestamp>,
pub supported_target_resource_types: Vec<TargetResourceType>,
/* private fields */
}Expand description
A cloud control is a set of rules and associated metadata that you can use to define your organization’s security or compliance intent.
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: StringRequired. Identifier. The name of the cloud control, in either of the
formats:
organizations/{organization}/locations/{location}/cloudControls/{cloud_control}
or
projects/{project}/locations/{location}/cloudControls/{cloud_control}.
The only supported location is global.
major_revision_id: i64Output only. The major version of the cloud control, which is incremented in ascending order.
description: StringOptional. A description of the cloud control. The maximum length is 2000 characters.
display_name: StringOptional. The friendly name of the cloud control. The maximum length is 200 characters.
supported_enforcement_modes: Vec<EnforcementMode>Output only. The supported enforcement modes for the cloud control.
parameter_spec: Vec<ParameterSpec>Optional. The parameter specifications for the cloud control.
rules: Vec<Rule>Optional. The rules that you can enforce to meet your security or compliance intent.
severity: SeverityOptional. The severity of the findings that are generated by the cloud control.
finding_category: StringOptional. The finding category for the cloud control findings. The maximum length is 255 characters.
supported_cloud_providers: Vec<CloudProvider>Optional. The supported cloud providers.
Output only. The frameworks that include this cloud control.
remediation_steps: StringOptional. The remediation steps for the cloud control findings. The maximum length is 400 characters.
categories: Vec<CloudControlCategory>Optional. The categories for the cloud control.
create_time: Option<Timestamp>Output only. The time that the cloud control was last updated.
create_time is used because a new cloud control is created
whenever an existing cloud control is updated.
supported_target_resource_types: Vec<TargetResourceType>Optional. The target resource types that are supported by the cloud control.
Implementations§
Source§impl CloudControl
impl CloudControl
Sourcepub fn set_major_revision_id<T: Into<i64>>(self, v: T) -> Self
pub fn set_major_revision_id<T: Into<i64>>(self, v: T) -> Self
Sets the value of major_revision_id.
§Example
let x = CloudControl::new().set_major_revision_id(42);Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_display_name<T: Into<String>>(self, v: T) -> Self
pub fn set_display_name<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_supported_enforcement_modes<T, V>(self, v: T) -> Self
pub fn set_supported_enforcement_modes<T, V>(self, v: T) -> Self
Sets the value of supported_enforcement_modes.
§Example
use google_cloud_cloudsecuritycompliance_v1::model::EnforcementMode;
let x = CloudControl::new().set_supported_enforcement_modes([
EnforcementMode::Preventive,
EnforcementMode::Detective,
EnforcementMode::Audit,
]);Sourcepub fn set_parameter_spec<T, V>(self, v: T) -> Self
pub fn set_parameter_spec<T, V>(self, v: T) -> Self
Sets the value of parameter_spec.
§Example
use google_cloud_cloudsecuritycompliance_v1::model::ParameterSpec;
let x = CloudControl::new()
.set_parameter_spec([
ParameterSpec::default()/* use setters */,
ParameterSpec::default()/* use (different) setters */,
]);Sourcepub fn set_severity<T: Into<Severity>>(self, v: T) -> Self
pub fn set_severity<T: Into<Severity>>(self, v: T) -> Self
Sourcepub fn set_finding_category<T: Into<String>>(self, v: T) -> Self
pub fn set_finding_category<T: Into<String>>(self, v: T) -> Self
Sets the value of finding_category.
§Example
let x = CloudControl::new().set_finding_category("example");Sourcepub fn set_supported_cloud_providers<T, V>(self, v: T) -> Self
pub fn set_supported_cloud_providers<T, V>(self, v: T) -> Self
Sets the value of supported_cloud_providers.
§Example
use google_cloud_cloudsecuritycompliance_v1::model::CloudProvider;
let x = CloudControl::new().set_supported_cloud_providers([
CloudProvider::Aws,
CloudProvider::Azure,
CloudProvider::Gcp,
]);Sets the value of related_frameworks.
§Example
let x = CloudControl::new().set_related_frameworks(["a", "b", "c"]);Sourcepub fn set_remediation_steps<T: Into<String>>(self, v: T) -> Self
pub fn set_remediation_steps<T: Into<String>>(self, v: T) -> Self
Sets the value of remediation_steps.
§Example
let x = CloudControl::new().set_remediation_steps("example");Sourcepub fn set_categories<T, V>(self, v: T) -> Self
pub fn set_categories<T, V>(self, v: T) -> Self
Sets the value of categories.
§Example
use google_cloud_cloudsecuritycompliance_v1::model::CloudControlCategory;
let x = CloudControl::new().set_categories([
CloudControlCategory::CcCategoryInfrastructure,
CloudControlCategory::CcCategoryArtificialIntelligence,
CloudControlCategory::CcCategoryPhysicalSecurity,
]);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 = CloudControl::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 = CloudControl::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = CloudControl::new().set_or_clear_create_time(None::<Timestamp>);Sourcepub fn set_supported_target_resource_types<T, V>(self, v: T) -> Self
pub fn set_supported_target_resource_types<T, V>(self, v: T) -> Self
Sets the value of supported_target_resource_types.
§Example
use google_cloud_cloudsecuritycompliance_v1::model::TargetResourceType;
let x = CloudControl::new().set_supported_target_resource_types([
TargetResourceType::TargetResourceCrmTypeOrg,
TargetResourceType::TargetResourceCrmTypeFolder,
TargetResourceType::TargetResourceCrmTypeProject,
]);Trait Implementations§
Source§impl Clone for CloudControl
impl Clone for CloudControl
Source§fn clone(&self) -> CloudControl
fn clone(&self) -> CloudControl
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 CloudControl
impl Debug for CloudControl
Source§impl Default for CloudControl
impl Default for CloudControl
Source§fn default() -> CloudControl
fn default() -> CloudControl
Source§impl Message for CloudControl
impl Message for CloudControl
Source§impl PartialEq for CloudControl
impl PartialEq for CloudControl
impl StructuralPartialEq for CloudControl
Auto Trait Implementations§
impl Freeze for CloudControl
impl RefUnwindSafe for CloudControl
impl Send for CloudControl
impl Sync for CloudControl
impl Unpin for CloudControl
impl UnsafeUnpin for CloudControl
impl UnwindSafe for CloudControl
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