#[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 the format
organizations/{organization}/locations/{location}/cloudControls/{cloud_control_id}.
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
pub fn new() -> Self
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 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more