Skip to content

Commit b2ba5f7

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit e3078c2 of spec repo
1 parent 7a61c5f commit b2ba5f7

21 files changed

Lines changed: 1260 additions & 4 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23464,6 +23464,8 @@ components:
2346423464
$ref: "#/components/schemas/Enabled"
2346523465
name:
2346623466
$ref: "#/components/schemas/RuleName"
23467+
routing:
23468+
$ref: "#/components/schemas/NotificationRuleRouting"
2346723469
selectors:
2346823470
$ref: "#/components/schemas/Selectors"
2346923471
targets:
@@ -58623,6 +58625,76 @@ components:
5862358625
- targets
5862458626
- version
5862558627
type: object
58628+
NotificationRulePreviewNotificationStatus:
58629+
description: The notification status for the given rule type. `SUCCESS` means a matching event was found and the notification was sent successfully. `DEFAULT` means no matching event was found and a default placeholder notification was sent instead. `ERROR` means an error occurred while sending the notification.
58630+
enum:
58631+
- SUCCESS
58632+
- DEFAULT
58633+
- ERROR
58634+
example: SUCCESS
58635+
type: string
58636+
x-enum-varnames:
58637+
- SUCCESS
58638+
- DEFAULT
58639+
- ERROR
58640+
NotificationRulePreviewResponse:
58641+
description: Response from the notification preview request.
58642+
properties:
58643+
data:
58644+
$ref: "#/components/schemas/NotificationRulePreviewResponseData"
58645+
required:
58646+
- data
58647+
type: object
58648+
NotificationRulePreviewResponseAttributes:
58649+
description: Attributes of the notification preview response.
58650+
properties:
58651+
preview_results:
58652+
$ref: "#/components/schemas/NotificationRulePreviewResults"
58653+
required:
58654+
- preview_results
58655+
type: object
58656+
NotificationRulePreviewResponseData:
58657+
description: The notification preview response data.
58658+
properties:
58659+
attributes:
58660+
$ref: "#/components/schemas/NotificationRulePreviewResponseAttributes"
58661+
id:
58662+
description: The ID of the notification preview response.
58663+
example: rka-loa-zwu
58664+
type: string
58665+
type:
58666+
$ref: "#/components/schemas/NotificationRulePreviewResponseType"
58667+
required:
58668+
- type
58669+
- attributes
58670+
type: object
58671+
NotificationRulePreviewResponseType:
58672+
description: The type of the notification preview response.
58673+
enum:
58674+
- notification_preview_response
58675+
example: notification_preview_response
58676+
type: string
58677+
x-enum-varnames:
58678+
- NOTIFICATION_PREVIEW_RESPONSE
58679+
NotificationRulePreviewResult:
58680+
description: The preview result for a single rule type.
58681+
properties:
58682+
notification_status:
58683+
$ref: "#/components/schemas/NotificationRulePreviewNotificationStatus"
58684+
rule_type:
58685+
$ref: "#/components/schemas/RuleTypesItems"
58686+
required:
58687+
- rule_type
58688+
- notification_status
58689+
type: object
58690+
NotificationRulePreviewResults:
58691+
description: List of preview results for each rule type matched by the notification rule.
58692+
example:
58693+
- notification_status: DEFAULT
58694+
rule_type: log_detection
58695+
items:
58696+
$ref: "#/components/schemas/NotificationRulePreviewResult"
58697+
type: array
5862658698
NotificationRuleQuery:
5862758699
description: The query is composed of one or several key:value pairs, which can be used to filter security issues on tags and attributes.
5862858700
example: (source:production_service OR env:prod)
@@ -58633,6 +58705,22 @@ components:
5863358705
data:
5863458706
$ref: "#/components/schemas/NotificationRule"
5863558707
type: object
58708+
NotificationRuleRouting:
58709+
description: Routing configuration for the notification rule.
58710+
properties:
58711+
mode:
58712+
$ref: "#/components/schemas/NotificationRuleRoutingMode"
58713+
required:
58714+
- mode
58715+
type: object
58716+
NotificationRuleRoutingMode:
58717+
description: The routing mode for the notification rule. `manual` sends notifications to the configured targets.
58718+
enum:
58719+
- manual
58720+
example: manual
58721+
type: string
58722+
x-enum-varnames:
58723+
- MANUAL
5863658724
NotificationRulesListResponse:
5863758725
description: The list of notification rules.
5863858726
properties:
@@ -67874,6 +67962,8 @@ components:
6787467962
$ref: "#/components/schemas/Enabled"
6787567963
name:
6787667964
$ref: "#/components/schemas/RuleName"
67965+
routing:
67966+
$ref: "#/components/schemas/NotificationRuleRouting"
6787767967
selectors:
6787867968
$ref: "#/components/schemas/Selectors"
6787967969
targets:
@@ -74184,6 +74274,7 @@ components:
7418474274
- iac_misconfiguration
7418574275
- sast_vulnerability
7418674276
- secret_vulnerability
74277+
example: log_detection
7418774278
type: string
7418874279
x-enum-varnames:
7418974280
- APPLICATION_SECURITY
@@ -162221,6 +162312,73 @@ paths:
162221162312
x-unstable: |-
162222162313
**Note**: This endpoint is in preview and is subject to change.
162223162314
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
162315+
/api/v2/security_monitoring/configuration/notification_rules/send_notification_preview:
162316+
post:
162317+
description: Send a notification preview to test that a notification rule's targets are properly configured.
162318+
operationId: SendSecurityMonitoringNotificationPreview
162319+
requestBody:
162320+
content:
162321+
application/json:
162322+
examples:
162323+
default:
162324+
value:
162325+
data:
162326+
attributes:
162327+
enabled: true
162328+
name: Rule 1
162329+
selectors:
162330+
query: env:prod
162331+
rule_types:
162332+
- log_detection
162333+
severities:
162334+
- critical
162335+
trigger_source: security_signals
162336+
targets:
162337+
- "@john.doe@email.com"
162338+
type: notification_rules
162339+
schema:
162340+
$ref: "#/components/schemas/CreateNotificationRuleParameters"
162341+
required: true
162342+
responses:
162343+
"200":
162344+
content:
162345+
application/json:
162346+
examples:
162347+
default:
162348+
value:
162349+
data:
162350+
attributes:
162351+
preview_results:
162352+
- notification_status: DEFAULT
162353+
rule_type: log_detection
162354+
id: rka-loa-zwu
162355+
type: notification_preview_response
162356+
schema:
162357+
$ref: "#/components/schemas/NotificationRulePreviewResponse"
162358+
description: OK
162359+
"400":
162360+
content:
162361+
application/json:
162362+
schema:
162363+
$ref: "#/components/schemas/JSONAPIErrorResponse"
162364+
description: Bad Request
162365+
"403":
162366+
$ref: "#/components/responses/NotAuthorizedResponse"
162367+
"429":
162368+
$ref: "#/components/responses/TooManyRequestsResponse"
162369+
security:
162370+
- apiKeyAuth: []
162371+
appKeyAuth: []
162372+
- AuthZ:
162373+
- security_monitoring_notification_profiles_read
162374+
summary: Test a notification rule
162375+
tags:
162376+
- Security Monitoring
162377+
x-codegen-request-body-name: body
162378+
"x-permission":
162379+
operator: OR
162380+
permissions:
162381+
- security_monitoring_notification_profiles_read
162224162382
/api/v2/security_monitoring/configuration/security_filters:
162225162383
get:
162226162384
description: Get the list of configured security filters with their definitions.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Test a notification rule returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
4+
use datadog_api_client::datadogV2::model::CreateNotificationRuleParameters;
5+
use datadog_api_client::datadogV2::model::CreateNotificationRuleParametersData;
6+
use datadog_api_client::datadogV2::model::CreateNotificationRuleParametersDataAttributes;
7+
use datadog_api_client::datadogV2::model::NotificationRulesType;
8+
use datadog_api_client::datadogV2::model::RuleSeverity;
9+
use datadog_api_client::datadogV2::model::RuleTypesItems;
10+
use datadog_api_client::datadogV2::model::Selectors;
11+
use datadog_api_client::datadogV2::model::TriggerSource;
12+
13+
#[tokio::main]
14+
async fn main() {
15+
let body =
16+
CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
17+
CreateNotificationRuleParametersDataAttributes::new(
18+
"Rule 1".to_string(),
19+
Selectors::new(TriggerSource::SECURITY_SIGNALS)
20+
.query("env:prod".to_string())
21+
.rule_types(vec![RuleTypesItems::LOG_DETECTION])
22+
.severities(vec![RuleSeverity::CRITICAL]),
23+
vec!["@john.doe@email.com".to_string()],
24+
)
25+
.enabled(true),
26+
NotificationRulesType::NOTIFICATION_RULES,
27+
));
28+
let configuration = datadog::Configuration::new();
29+
let api = SecurityMonitoringAPI::with_config(configuration);
30+
let resp = api
31+
.send_security_monitoring_notification_preview(body)
32+
.await;
33+
if let Ok(value) = resp {
34+
println!("{:#?}", value);
35+
} else {
36+
println!("{:#?}", resp.unwrap_err());
37+
}
38+
}

0 commit comments

Comments
 (0)