Skip to content

Commit 8ddde92

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit a000dfa of spec repo
1 parent 29cb442 commit 8ddde92

19 files changed

Lines changed: 1220 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:
@@ -68437,6 +68525,8 @@ components:
6843768525
$ref: "#/components/schemas/Enabled"
6843868526
name:
6843968527
$ref: "#/components/schemas/RuleName"
68528+
routing:
68529+
$ref: "#/components/schemas/NotificationRuleRouting"
6844068530
selectors:
6844168531
$ref: "#/components/schemas/Selectors"
6844268532
targets:
@@ -74747,6 +74837,7 @@ components:
7474774837
- iac_misconfiguration
7474874838
- sast_vulnerability
7474974839
- secret_vulnerability
74840+
example: log_detection
7475074841
type: string
7475174842
x-enum-varnames:
7475274843
- APPLICATION_SECURITY
@@ -163272,6 +163363,73 @@ paths:
163272163363
x-unstable: |-
163273163364
**Note**: This endpoint is in preview and is subject to change.
163274163365
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
163366+
/api/v2/security_monitoring/configuration/notification_rules/send_notification_preview:
163367+
post:
163368+
description: Send a notification preview to test that a notification rule's targets are properly configured.
163369+
operationId: SendSecurityMonitoringNotificationPreview
163370+
requestBody:
163371+
content:
163372+
application/json:
163373+
examples:
163374+
default:
163375+
value:
163376+
data:
163377+
attributes:
163378+
enabled: true
163379+
name: Rule 1
163380+
selectors:
163381+
query: env:prod
163382+
rule_types:
163383+
- log_detection
163384+
severities:
163385+
- critical
163386+
trigger_source: security_signals
163387+
targets:
163388+
- "@john.doe@email.com"
163389+
type: notification_rules
163390+
schema:
163391+
$ref: "#/components/schemas/CreateNotificationRuleParameters"
163392+
required: true
163393+
responses:
163394+
"200":
163395+
content:
163396+
application/json:
163397+
examples:
163398+
default:
163399+
value:
163400+
data:
163401+
attributes:
163402+
preview_results:
163403+
- notification_status: DEFAULT
163404+
rule_type: log_detection
163405+
id: rka-loa-zwu
163406+
type: notification_preview_response
163407+
schema:
163408+
$ref: "#/components/schemas/NotificationRulePreviewResponse"
163409+
description: OK
163410+
"400":
163411+
content:
163412+
application/json:
163413+
schema:
163414+
$ref: "#/components/schemas/JSONAPIErrorResponse"
163415+
description: Bad Request
163416+
"403":
163417+
$ref: "#/components/responses/NotAuthorizedResponse"
163418+
"429":
163419+
$ref: "#/components/responses/TooManyRequestsResponse"
163420+
security:
163421+
- apiKeyAuth: []
163422+
appKeyAuth: []
163423+
- AuthZ:
163424+
- security_monitoring_notification_profiles_write
163425+
summary: Test a notification rule
163426+
tags:
163427+
- Security Monitoring
163428+
x-codegen-request-body-name: body
163429+
"x-permission":
163430+
operator: OR
163431+
permissions:
163432+
- security_monitoring_notification_profiles_write
163275163433
/api/v2/security_monitoring/configuration/security_filters:
163276163434
get:
163277163435
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)