#[non_exhaustive]pub struct PatchNotificationRuleParametersData {
pub attributes: PatchNotificationRuleParametersDataAttributes,
pub id: String,
pub type_: NotificationRulesType,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Data of the notification rule patch request: the rule ID, the rule type, and the rule attributes. All fields are required.
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.attributes: PatchNotificationRuleParametersDataAttributes
Attributes of the notification rule patch request. It is required to update the version of the rule when patching it.
id: String
The ID of a notification rule.
type_: NotificationRulesType
The rule type associated to notification rules.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl PatchNotificationRuleParametersData
impl PatchNotificationRuleParametersData
Sourcepub fn new(
attributes: PatchNotificationRuleParametersDataAttributes,
id: String,
type_: NotificationRulesType,
) -> PatchNotificationRuleParametersData
pub fn new( attributes: PatchNotificationRuleParametersDataAttributes, id: String, type_: NotificationRulesType, ) -> PatchNotificationRuleParametersData
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 PatchNotificationRuleParametersData
impl Clone for PatchNotificationRuleParametersData
Source§fn clone(&self) -> PatchNotificationRuleParametersData
fn clone(&self) -> PatchNotificationRuleParametersData
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 PatchNotificationRuleParametersData
impl<'de> Deserialize<'de> for PatchNotificationRuleParametersData
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 PatchNotificationRuleParametersData
impl PartialEq for PatchNotificationRuleParametersData
Source§fn eq(&self, other: &PatchNotificationRuleParametersData) -> bool
fn eq(&self, other: &PatchNotificationRuleParametersData) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for PatchNotificationRuleParametersData
Auto Trait Implementations§
impl Freeze for PatchNotificationRuleParametersData
impl RefUnwindSafe for PatchNotificationRuleParametersData
impl Send for PatchNotificationRuleParametersData
impl Sync for PatchNotificationRuleParametersData
impl Unpin for PatchNotificationRuleParametersData
impl UnwindSafe for PatchNotificationRuleParametersData
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