Skip to content

Commit 0dfc3c6

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add custom fields to Rule update/validate API public documentation. (#718)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 9ec0827 commit 0dfc3c6

11 files changed

+356
-4
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2025-06-18 09:42:16.562257",
8-
"spec_repo_commit": "b6151f30"
7+
"regenerated": "2025-06-18 13:32:39.311749",
8+
"spec_repo_commit": "5e49afe1"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-06-18 09:42:16.580922",
13-
"spec_repo_commit": "b6151f30"
12+
"regenerated": "2025-06-18 13:32:39.327686",
13+
"spec_repo_commit": "5e49afe1"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7246,6 +7246,14 @@ components:
72467246
type: array
72477247
complianceSignalOptions:
72487248
$ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions'
7249+
customMessage:
7250+
description: Custom/Overridden message for generated signals (used in case
7251+
of Default rule update).
7252+
type: string
7253+
customName:
7254+
description: Custom/Overridden name of the rule (used in case of Default
7255+
rule update).
7256+
type: string
72497257
filters:
72507258
description: Additional queries to filter matched events before they are
72517259
processed.
@@ -32768,6 +32776,8 @@ components:
3276832776

3276932777
based on the event counts in the previously defined queries.'
3277032778
type: string
32779+
customStatus:
32780+
$ref: '#/components/schemas/SecurityMonitoringRuleSeverity'
3277132781
name:
3277232782
description: Name of the case.
3277332783
type: string
@@ -33294,6 +33304,13 @@ components:
3329433304
type: array
3329533305
complianceSignalOptions:
3329633306
$ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions'
33307+
customMessage:
33308+
description: Custom/Overridden Message for generated signals (used in case
33309+
of Default rule update).
33310+
type: string
33311+
customName:
33312+
description: Custom/Overridden name (used in case of Default rule update).
33313+
type: string
3329733314
filters:
3329833315
description: Additional queries to filter matched events before they are
3329933316
processed. This field is deprecated for log detection, signal correlation,
@@ -33625,6 +33642,14 @@ components:
3362533642
items:
3362633643
$ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate'
3362733644
type: array
33645+
customMessage:
33646+
description: Custom/Overridden message for generated signals (used in case
33647+
of Default rule update).
33648+
type: string
33649+
customName:
33650+
description: Custom/Overridden name of the rule (used in case of Default
33651+
rule update).
33652+
type: string
3362833653
filters:
3362933654
description: Additional queries to filter matched events before they are
3363033655
processed. This field is deprecated for log detection, signal correlation,
@@ -33724,6 +33749,14 @@ components:
3372433749
description: User ID of the user who created the rule.
3372533750
format: int64
3372633751
type: integer
33752+
customMessage:
33753+
description: Custom/Overridden message for generated signals (used in case
33754+
of Default rule update).
33755+
type: string
33756+
customName:
33757+
description: Custom/Overridden name of the rule (used in case of Default
33758+
rule update).
33759+
type: string
3372733760
deprecationDate:
3372833761
description: When the rule will be deprecated, timestamp in milliseconds.
3372933762
format: int64
@@ -34111,6 +34144,14 @@ components:
3411134144
items:
3411234145
$ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate'
3411334146
type: array
34147+
customMessage:
34148+
description: Custom/Overridden message for generated signals (used in case
34149+
of Default rule update).
34150+
type: string
34151+
customName:
34152+
description: Custom/Overridden name of the rule (used in case of Default
34153+
rule update).
34154+
type: string
3411434155
filters:
3411534156
description: Additional queries to filter matched events before they are
3411634157
processed. This field is deprecated for log detection, signal correlation,
@@ -34188,6 +34229,10 @@ components:
3418834229
properties:
3418934230
aggregation:
3419034231
$ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation'
34232+
customQueryExtension:
34233+
description: Query extension to append to the logs query.
34234+
example: a > 3
34235+
type: string
3419134236
dataSource:
3419234237
$ref: '#/components/schemas/SecurityMonitoringStandardDataSource'
3419334238
distinctFields:
@@ -34251,6 +34296,14 @@ components:
3425134296
description: User ID of the user who created the rule.
3425234297
format: int64
3425334298
type: integer
34299+
customMessage:
34300+
description: Custom/Overridden message for generated signals (used in case
34301+
of Default rule update).
34302+
type: string
34303+
customName:
34304+
description: Custom/Overridden name of the rule (used in case of Default
34305+
rule update).
34306+
type: string
3425434307
defaultTags:
3425534308
description: Default Tags for default rules (included in tags)
3425634309
example:
@@ -34697,6 +34750,8 @@ components:
3469734750
SecurityMonitoringThirdPartyRuleCase:
3469834751
description: Case when signal is generated by a third party rule.
3469934752
properties:
34753+
customStatus:
34754+
$ref: '#/components/schemas/SecurityMonitoringRuleSeverity'
3470034755
name:
3470134756
description: Name of the case.
3470234757
type: string

src/datadogV2/model/model_cloud_configuration_rule_payload.rs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ pub struct CloudConfigurationRulePayload {
1919
#[serde(rename = "complianceSignalOptions")]
2020
pub compliance_signal_options:
2121
crate::datadogV2::model::CloudConfigurationRuleComplianceSignalOptions,
22+
/// Custom/Overridden message for generated signals (used in case of Default rule update).
23+
#[serde(rename = "customMessage")]
24+
pub custom_message: Option<String>,
25+
/// Custom/Overridden name of the rule (used in case of Default rule update).
26+
#[serde(rename = "customName")]
27+
pub custom_name: Option<String>,
2228
/// Additional queries to filter matched events before they are processed.
2329
#[serde(rename = "filters")]
2430
pub filters: Option<Vec<crate::datadogV2::model::SecurityMonitoringFilter>>,
@@ -59,6 +65,8 @@ impl CloudConfigurationRulePayload {
5965
CloudConfigurationRulePayload {
6066
cases,
6167
compliance_signal_options,
68+
custom_message: None,
69+
custom_name: None,
6270
filters: None,
6371
is_enabled,
6472
message,
@@ -71,6 +79,16 @@ impl CloudConfigurationRulePayload {
7179
}
7280
}
7381

82+
pub fn custom_message(mut self, value: String) -> Self {
83+
self.custom_message = Some(value);
84+
self
85+
}
86+
87+
pub fn custom_name(mut self, value: String) -> Self {
88+
self.custom_name = Some(value);
89+
self
90+
}
91+
7492
pub fn filters(
7593
mut self,
7694
value: Vec<crate::datadogV2::model::SecurityMonitoringFilter>,
@@ -121,6 +139,8 @@ impl<'de> Deserialize<'de> for CloudConfigurationRulePayload {
121139
let mut compliance_signal_options: Option<
122140
crate::datadogV2::model::CloudConfigurationRuleComplianceSignalOptions,
123141
> = None;
142+
let mut custom_message: Option<String> = None;
143+
let mut custom_name: Option<String> = None;
124144
let mut filters: Option<Vec<crate::datadogV2::model::SecurityMonitoringFilter>> =
125145
None;
126146
let mut is_enabled: Option<bool> = None;
@@ -145,6 +165,20 @@ impl<'de> Deserialize<'de> for CloudConfigurationRulePayload {
145165
compliance_signal_options =
146166
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
147167
}
168+
"customMessage" => {
169+
if v.is_null() {
170+
continue;
171+
}
172+
custom_message =
173+
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
174+
}
175+
"customName" => {
176+
if v.is_null() {
177+
continue;
178+
}
179+
custom_name =
180+
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
181+
}
148182
"filters" => {
149183
if v.is_null() {
150184
continue;
@@ -201,6 +235,8 @@ impl<'de> Deserialize<'de> for CloudConfigurationRulePayload {
201235
let content = CloudConfigurationRulePayload {
202236
cases,
203237
compliance_signal_options,
238+
custom_message,
239+
custom_name,
204240
filters,
205241
is_enabled,
206242
message,

src/datadogV2/model/model_security_monitoring_rule_case.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ pub struct SecurityMonitoringRuleCase {
1818
/// based on the event counts in the previously defined queries.
1919
#[serde(rename = "condition")]
2020
pub condition: Option<String>,
21+
/// Severity of the Security Signal.
22+
#[serde(rename = "customStatus")]
23+
pub custom_status: Option<crate::datadogV2::model::SecurityMonitoringRuleSeverity>,
2124
/// Name of the case.
2225
#[serde(rename = "name")]
2326
pub name: Option<String>,
@@ -39,6 +42,7 @@ impl SecurityMonitoringRuleCase {
3942
SecurityMonitoringRuleCase {
4043
actions: None,
4144
condition: None,
45+
custom_status: None,
4246
name: None,
4347
notifications: None,
4448
status: None,
@@ -60,6 +64,14 @@ impl SecurityMonitoringRuleCase {
6064
self
6165
}
6266

67+
pub fn custom_status(
68+
mut self,
69+
value: crate::datadogV2::model::SecurityMonitoringRuleSeverity,
70+
) -> Self {
71+
self.custom_status = Some(value);
72+
self
73+
}
74+
6375
pub fn name(mut self, value: String) -> Self {
6476
self.name = Some(value);
6577
self
@@ -114,6 +126,9 @@ impl<'de> Deserialize<'de> for SecurityMonitoringRuleCase {
114126
Vec<crate::datadogV2::model::SecurityMonitoringRuleCaseAction>,
115127
> = None;
116128
let mut condition: Option<String> = None;
129+
let mut custom_status: Option<
130+
crate::datadogV2::model::SecurityMonitoringRuleSeverity,
131+
> = None;
117132
let mut name: Option<String> = None;
118133
let mut notifications: Option<Vec<String>> = None;
119134
let mut status: Option<crate::datadogV2::model::SecurityMonitoringRuleSeverity> =
@@ -138,6 +153,21 @@ impl<'de> Deserialize<'de> for SecurityMonitoringRuleCase {
138153
}
139154
condition = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
140155
}
156+
"customStatus" => {
157+
if v.is_null() {
158+
continue;
159+
}
160+
custom_status =
161+
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
162+
if let Some(ref _custom_status) = custom_status {
163+
match _custom_status {
164+
crate::datadogV2::model::SecurityMonitoringRuleSeverity::UnparsedObject(_custom_status) => {
165+
_unparsed = true;
166+
},
167+
_ => {}
168+
}
169+
}
170+
}
141171
"name" => {
142172
if v.is_null() {
143173
continue;
@@ -176,6 +206,7 @@ impl<'de> Deserialize<'de> for SecurityMonitoringRuleCase {
176206
let content = SecurityMonitoringRuleCase {
177207
actions,
178208
condition,
209+
custom_status,
179210
name,
180211
notifications,
181212
status,

src/datadogV2/model/model_security_monitoring_rule_update_payload.rs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ pub struct SecurityMonitoringRuleUpdatePayload {
1818
#[serde(rename = "complianceSignalOptions")]
1919
pub compliance_signal_options:
2020
Option<crate::datadogV2::model::CloudConfigurationRuleComplianceSignalOptions>,
21+
/// Custom/Overridden Message for generated signals (used in case of Default rule update).
22+
#[serde(rename = "customMessage")]
23+
pub custom_message: Option<String>,
24+
/// Custom/Overridden name (used in case of Default rule update).
25+
#[serde(rename = "customName")]
26+
pub custom_name: Option<String>,
2127
/// Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules.
2228
#[serde(rename = "filters")]
2329
pub filters: Option<Vec<crate::datadogV2::model::SecurityMonitoringFilter>>,
@@ -67,6 +73,8 @@ impl SecurityMonitoringRuleUpdatePayload {
6773
SecurityMonitoringRuleUpdatePayload {
6874
cases: None,
6975
compliance_signal_options: None,
76+
custom_message: None,
77+
custom_name: None,
7078
filters: None,
7179
group_signals_by: None,
7280
has_extended_title: None,
@@ -100,6 +108,16 @@ impl SecurityMonitoringRuleUpdatePayload {
100108
self
101109
}
102110

111+
pub fn custom_message(mut self, value: String) -> Self {
112+
self.custom_message = Some(value);
113+
self
114+
}
115+
116+
pub fn custom_name(mut self, value: String) -> Self {
117+
self.custom_name = Some(value);
118+
self
119+
}
120+
103121
pub fn filters(
104122
mut self,
105123
value: Vec<crate::datadogV2::model::SecurityMonitoringFilter>,
@@ -212,6 +230,8 @@ impl<'de> Deserialize<'de> for SecurityMonitoringRuleUpdatePayload {
212230
let mut compliance_signal_options: Option<
213231
crate::datadogV2::model::CloudConfigurationRuleComplianceSignalOptions,
214232
> = None;
233+
let mut custom_message: Option<String> = None;
234+
let mut custom_name: Option<String> = None;
215235
let mut filters: Option<Vec<crate::datadogV2::model::SecurityMonitoringFilter>> =
216236
None;
217237
let mut group_signals_by: Option<Vec<String>> = None;
@@ -252,6 +272,20 @@ impl<'de> Deserialize<'de> for SecurityMonitoringRuleUpdatePayload {
252272
compliance_signal_options =
253273
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
254274
}
275+
"customMessage" => {
276+
if v.is_null() {
277+
continue;
278+
}
279+
custom_message =
280+
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
281+
}
282+
"customName" => {
283+
if v.is_null() {
284+
continue;
285+
}
286+
custom_name =
287+
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
288+
}
255289
"filters" => {
256290
if v.is_null() {
257291
continue;
@@ -339,6 +373,8 @@ impl<'de> Deserialize<'de> for SecurityMonitoringRuleUpdatePayload {
339373
let content = SecurityMonitoringRuleUpdatePayload {
340374
cases,
341375
compliance_signal_options,
376+
custom_message,
377+
custom_name,
342378
filters,
343379
group_signals_by,
344380
has_extended_title,

0 commit comments

Comments
 (0)