#[non_exhaustive]pub struct PatchNotificationRuleParameters {
pub data: Option<PatchNotificationRuleParametersData>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Body of the notification rule patch request.
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.data: Option<PatchNotificationRuleParametersData>
Data of the notification rule patch request: the rule ID, the rule type, and the rule attributes. All fields are required.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl PatchNotificationRuleParameters
impl PatchNotificationRuleParameters
Sourcepub fn new() -> PatchNotificationRuleParameters
pub fn new() -> PatchNotificationRuleParameters
Examples found in repository?
examples/v2_security-monitoring_PatchSignalNotificationRule.rs (line 20)
15async fn main() {
16 // there is a valid "valid_signal_notification_rule" in the system
17 let valid_signal_notification_rule_data_id =
18 std::env::var("VALID_SIGNAL_NOTIFICATION_RULE_DATA_ID").unwrap();
19 let body =
20 PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21 PatchNotificationRuleParametersDataAttributes::new()
22 .enabled(true)
23 .name("Rule 1".to_string())
24 .selectors(
25 Selectors::new(TriggerSource::SECURITY_FINDINGS)
26 .query("(source:production_service OR env:prod)".to_string())
27 .rule_types(vec![
28 RuleTypesItems::MISCONFIGURATION,
29 RuleTypesItems::ATTACK_PATH,
30 ])
31 .severities(vec![RuleSeverity::CRITICAL]),
32 )
33 .targets(vec!["@john.doe@email.com".to_string()])
34 .time_aggregation(86400)
35 .version(1),
36 valid_signal_notification_rule_data_id.clone(),
37 NotificationRulesType::NOTIFICATION_RULES,
38 ));
39 let configuration = datadog::Configuration::new();
40 let api = SecurityMonitoringAPI::with_config(configuration);
41 let resp = api
42 .patch_signal_notification_rule(valid_signal_notification_rule_data_id.clone(), body)
43 .await;
44 if let Ok(value) = resp {
45 println!("{:#?}", value);
46 } else {
47 println!("{:#?}", resp.unwrap_err());
48 }
49}
More examples
examples/v2_security-monitoring_PatchVulnerabilityNotificationRule.rs (line 20)
15async fn main() {
16 // there is a valid "valid_vulnerability_notification_rule" in the system
17 let valid_vulnerability_notification_rule_data_id =
18 std::env::var("VALID_VULNERABILITY_NOTIFICATION_RULE_DATA_ID").unwrap();
19 let body =
20 PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21 PatchNotificationRuleParametersDataAttributes::new()
22 .enabled(true)
23 .name("Rule 1".to_string())
24 .selectors(
25 Selectors::new(TriggerSource::SECURITY_FINDINGS)
26 .query("(source:production_service OR env:prod)".to_string())
27 .rule_types(vec![
28 RuleTypesItems::MISCONFIGURATION,
29 RuleTypesItems::ATTACK_PATH,
30 ])
31 .severities(vec![RuleSeverity::CRITICAL]),
32 )
33 .targets(vec!["@john.doe@email.com".to_string()])
34 .time_aggregation(86400)
35 .version(1),
36 valid_vulnerability_notification_rule_data_id.clone(),
37 NotificationRulesType::NOTIFICATION_RULES,
38 ));
39 let configuration = datadog::Configuration::new();
40 let api = SecurityMonitoringAPI::with_config(configuration);
41 let resp = api
42 .patch_vulnerability_notification_rule(
43 valid_vulnerability_notification_rule_data_id.clone(),
44 body,
45 )
46 .await;
47 if let Ok(value) = resp {
48 println!("{:#?}", value);
49 } else {
50 println!("{:#?}", resp.unwrap_err());
51 }
52}
Sourcepub fn data(self, value: PatchNotificationRuleParametersData) -> Self
pub fn data(self, value: PatchNotificationRuleParametersData) -> Self
Examples found in repository?
examples/v2_security-monitoring_PatchSignalNotificationRule.rs (lines 20-38)
15async fn main() {
16 // there is a valid "valid_signal_notification_rule" in the system
17 let valid_signal_notification_rule_data_id =
18 std::env::var("VALID_SIGNAL_NOTIFICATION_RULE_DATA_ID").unwrap();
19 let body =
20 PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21 PatchNotificationRuleParametersDataAttributes::new()
22 .enabled(true)
23 .name("Rule 1".to_string())
24 .selectors(
25 Selectors::new(TriggerSource::SECURITY_FINDINGS)
26 .query("(source:production_service OR env:prod)".to_string())
27 .rule_types(vec![
28 RuleTypesItems::MISCONFIGURATION,
29 RuleTypesItems::ATTACK_PATH,
30 ])
31 .severities(vec![RuleSeverity::CRITICAL]),
32 )
33 .targets(vec!["@john.doe@email.com".to_string()])
34 .time_aggregation(86400)
35 .version(1),
36 valid_signal_notification_rule_data_id.clone(),
37 NotificationRulesType::NOTIFICATION_RULES,
38 ));
39 let configuration = datadog::Configuration::new();
40 let api = SecurityMonitoringAPI::with_config(configuration);
41 let resp = api
42 .patch_signal_notification_rule(valid_signal_notification_rule_data_id.clone(), body)
43 .await;
44 if let Ok(value) = resp {
45 println!("{:#?}", value);
46 } else {
47 println!("{:#?}", resp.unwrap_err());
48 }
49}
More examples
examples/v2_security-monitoring_PatchVulnerabilityNotificationRule.rs (lines 20-38)
15async fn main() {
16 // there is a valid "valid_vulnerability_notification_rule" in the system
17 let valid_vulnerability_notification_rule_data_id =
18 std::env::var("VALID_VULNERABILITY_NOTIFICATION_RULE_DATA_ID").unwrap();
19 let body =
20 PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21 PatchNotificationRuleParametersDataAttributes::new()
22 .enabled(true)
23 .name("Rule 1".to_string())
24 .selectors(
25 Selectors::new(TriggerSource::SECURITY_FINDINGS)
26 .query("(source:production_service OR env:prod)".to_string())
27 .rule_types(vec![
28 RuleTypesItems::MISCONFIGURATION,
29 RuleTypesItems::ATTACK_PATH,
30 ])
31 .severities(vec![RuleSeverity::CRITICAL]),
32 )
33 .targets(vec!["@john.doe@email.com".to_string()])
34 .time_aggregation(86400)
35 .version(1),
36 valid_vulnerability_notification_rule_data_id.clone(),
37 NotificationRulesType::NOTIFICATION_RULES,
38 ));
39 let configuration = datadog::Configuration::new();
40 let api = SecurityMonitoringAPI::with_config(configuration);
41 let resp = api
42 .patch_vulnerability_notification_rule(
43 valid_vulnerability_notification_rule_data_id.clone(),
44 body,
45 )
46 .await;
47 if let Ok(value) = resp {
48 println!("{:#?}", value);
49 } else {
50 println!("{:#?}", resp.unwrap_err());
51 }
52}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for PatchNotificationRuleParameters
impl Clone for PatchNotificationRuleParameters
Source§fn clone(&self) -> PatchNotificationRuleParameters
fn clone(&self) -> PatchNotificationRuleParameters
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<'de> Deserialize<'de> for PatchNotificationRuleParameters
impl<'de> Deserialize<'de> for PatchNotificationRuleParameters
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PatchNotificationRuleParameters
impl PartialEq for PatchNotificationRuleParameters
Source§fn eq(&self, other: &PatchNotificationRuleParameters) -> bool
fn eq(&self, other: &PatchNotificationRuleParameters) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for PatchNotificationRuleParameters
Auto Trait Implementations§
impl Freeze for PatchNotificationRuleParameters
impl RefUnwindSafe for PatchNotificationRuleParameters
impl Send for PatchNotificationRuleParameters
impl Sync for PatchNotificationRuleParameters
impl Unpin for PatchNotificationRuleParameters
impl UnwindSafe for PatchNotificationRuleParameters
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
Mutably borrows from an owned value. Read more