Skip to content

Commit 8905de0

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 65514d8 of spec repo
1 parent ee8bf2c commit 8905de0

19 files changed

Lines changed: 745 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_read
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_read
163275163433
/api/v2/security_monitoring/configuration/security_filters:
163276163434
get:
163277163435
description: Get the list of configured security filters with their definitions.

docs/datadog_api_client.v2.model.rst

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24686,13 +24686,69 @@ datadog\_api\_client.v2.model.notification\_rule\_attributes module
2468624686
:members:
2468724687
:show-inheritance:
2468824688

24689+
datadog\_api\_client.v2.model.notification\_rule\_preview\_notification\_status module
24690+
--------------------------------------------------------------------------------------
24691+
24692+
.. automodule:: datadog_api_client.v2.model.notification_rule_preview_notification_status
24693+
:members:
24694+
:show-inheritance:
24695+
24696+
datadog\_api\_client.v2.model.notification\_rule\_preview\_response module
24697+
--------------------------------------------------------------------------
24698+
24699+
.. automodule:: datadog_api_client.v2.model.notification_rule_preview_response
24700+
:members:
24701+
:show-inheritance:
24702+
24703+
datadog\_api\_client.v2.model.notification\_rule\_preview\_response\_attributes module
24704+
--------------------------------------------------------------------------------------
24705+
24706+
.. automodule:: datadog_api_client.v2.model.notification_rule_preview_response_attributes
24707+
:members:
24708+
:show-inheritance:
24709+
24710+
datadog\_api\_client.v2.model.notification\_rule\_preview\_response\_data module
24711+
--------------------------------------------------------------------------------
24712+
24713+
.. automodule:: datadog_api_client.v2.model.notification_rule_preview_response_data
24714+
:members:
24715+
:show-inheritance:
24716+
24717+
datadog\_api\_client.v2.model.notification\_rule\_preview\_response\_type module
24718+
--------------------------------------------------------------------------------
24719+
24720+
.. automodule:: datadog_api_client.v2.model.notification_rule_preview_response_type
24721+
:members:
24722+
:show-inheritance:
24723+
24724+
datadog\_api\_client.v2.model.notification\_rule\_preview\_result module
24725+
------------------------------------------------------------------------
24726+
24727+
.. automodule:: datadog_api_client.v2.model.notification_rule_preview_result
24728+
:members:
24729+
:show-inheritance:
24730+
2468924731
datadog\_api\_client.v2.model.notification\_rule\_response module
2469024732
-----------------------------------------------------------------
2469124733

2469224734
.. automodule:: datadog_api_client.v2.model.notification_rule_response
2469324735
:members:
2469424736
:show-inheritance:
2469524737

24738+
datadog\_api\_client.v2.model.notification\_rule\_routing module
24739+
----------------------------------------------------------------
24740+
24741+
.. automodule:: datadog_api_client.v2.model.notification_rule_routing
24742+
:members:
24743+
:show-inheritance:
24744+
24745+
datadog\_api\_client.v2.model.notification\_rule\_routing\_mode module
24746+
----------------------------------------------------------------------
24747+
24748+
.. automodule:: datadog_api_client.v2.model.notification_rule_routing_mode
24749+
:members:
24750+
:show-inheritance:
24751+
2469624752
datadog\_api\_client.v2.model.notification\_rules\_list\_response module
2469724753
------------------------------------------------------------------------
2469824754

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"""
2+
Test a notification rule returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
7+
from datadog_api_client.v2.model.create_notification_rule_parameters import CreateNotificationRuleParameters
8+
from datadog_api_client.v2.model.create_notification_rule_parameters_data import CreateNotificationRuleParametersData
9+
from datadog_api_client.v2.model.create_notification_rule_parameters_data_attributes import (
10+
CreateNotificationRuleParametersDataAttributes,
11+
)
12+
from datadog_api_client.v2.model.notification_rules_type import NotificationRulesType
13+
from datadog_api_client.v2.model.rule_severity import RuleSeverity
14+
from datadog_api_client.v2.model.rule_types_items import RuleTypesItems
15+
from datadog_api_client.v2.model.selectors import Selectors
16+
from datadog_api_client.v2.model.trigger_source import TriggerSource
17+
18+
body = CreateNotificationRuleParameters(
19+
data=CreateNotificationRuleParametersData(
20+
attributes=CreateNotificationRuleParametersDataAttributes(
21+
enabled=True,
22+
name="Rule 1",
23+
selectors=Selectors(
24+
query="env:prod",
25+
rule_types=[
26+
RuleTypesItems.LOG_DETECTION,
27+
],
28+
severities=[
29+
RuleSeverity.CRITICAL,
30+
],
31+
trigger_source=TriggerSource.SECURITY_SIGNALS,
32+
),
33+
targets=[
34+
"@john.doe@email.com",
35+
],
36+
),
37+
type=NotificationRulesType.NOTIFICATION_RULES,
38+
),
39+
)
40+
41+
configuration = Configuration()
42+
with ApiClient(configuration) as api_client:
43+
api_instance = SecurityMonitoringApi(api_client)
44+
response = api_instance.send_security_monitoring_notification_preview(body=body)
45+
46+
print(response)

src/datadog_api_client/v2/api/security_monitoring_api.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
from datadog_api_client.v2.model.security_monitoring_integration_config_update_request import (
104104
SecurityMonitoringIntegrationConfigUpdateRequest,
105105
)
106+
from datadog_api_client.v2.model.notification_rule_preview_response import NotificationRulePreviewResponse
106107
from datadog_api_client.v2.model.security_filters_response import SecurityFiltersResponse
107108
from datadog_api_client.v2.model.security_filter_response import SecurityFilterResponse
108109
from datadog_api_client.v2.model.security_filter_create_request import SecurityFilterCreateRequest
@@ -3548,6 +3549,26 @@ def __init__(self, api_client=None):
35483549
api_client=api_client,
35493550
)
35503551

3552+
self._send_security_monitoring_notification_preview_endpoint = _Endpoint(
3553+
settings={
3554+
"response_type": (NotificationRulePreviewResponse,),
3555+
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
3556+
"endpoint_path": "/api/v2/security_monitoring/configuration/notification_rules/send_notification_preview",
3557+
"operation_id": "send_security_monitoring_notification_preview",
3558+
"http_method": "POST",
3559+
"version": "v2",
3560+
},
3561+
params_map={
3562+
"body": {
3563+
"required": True,
3564+
"openapi_types": (CreateNotificationRuleParameters,),
3565+
"location": "body",
3566+
},
3567+
},
3568+
headers_map={"accept": ["application/json"], "content_type": ["application/json"]},
3569+
api_client=api_client,
3570+
)
3571+
35513572
self._test_existing_security_monitoring_rule_endpoint = _Endpoint(
35523573
settings={
35533574
"response_type": (SecurityMonitoringRuleTestResponse,),
@@ -7403,6 +7424,22 @@ def search_security_monitoring_signals_with_pagination(
74037424
}
74047425
return endpoint.call_with_http_info_paginated(pagination)
74057426

7427+
def send_security_monitoring_notification_preview(
7428+
self,
7429+
body: CreateNotificationRuleParameters,
7430+
) -> NotificationRulePreviewResponse:
7431+
"""Test a notification rule.
7432+
7433+
Send a notification preview to test that a notification rule's targets are properly configured.
7434+
7435+
:type body: CreateNotificationRuleParameters
7436+
:rtype: NotificationRulePreviewResponse
7437+
"""
7438+
kwargs: Dict[str, Any] = {}
7439+
kwargs["body"] = body
7440+
7441+
return self._send_security_monitoring_notification_preview_endpoint.call_with_http_info(**kwargs)
7442+
74067443
def test_existing_security_monitoring_rule(
74077444
self,
74087445
rule_id: str,

0 commit comments

Comments
 (0)