Skip to content

Commit 1ecd88d

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Regenerate client from commit 2e9da5b of spec repo (#3885)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent b874202 commit 1ecd88d

13 files changed

Lines changed: 301 additions & 0 deletions

‎.generator/schemas/v2/openapi.yaml‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68104,6 +68104,8 @@ components:
6810468104
additionalProperties: false
6810568105
description: Attributes of the monitor notification rule.
6810668106
properties:
68107+
bundle_config:
68108+
$ref: "#/components/schemas/MonitorNotificationRuleBundleConfig"
6810768109
conditional_recipients:
6810868110
$ref: "#/components/schemas/MonitorNotificationRuleConditionalRecipients"
6810968111
filter:
@@ -68114,6 +68116,19 @@ components:
6811468116
$ref: "#/components/schemas/MonitorNotificationRuleRecipients"
6811568117
required: [name]
6811668118
type: object
68119+
MonitorNotificationRuleBundleConfig:
68120+
description: |-
68121+
Use bundle config to enable alert bundling to reduce monitor signal noises. **Note**: This feature is in preview and is subject to change.
68122+
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
68123+
properties:
68124+
duration:
68125+
description: Duration of the bundling period.
68126+
example: 3600
68127+
format: int32
68128+
maximum: 2147483647
68129+
type: integer
68130+
required: [duration]
68131+
type: object
6811768132
MonitorNotificationRuleCondition:
6811868133
description: |-
6811968134
A conditional recipient rule composed of a `scope` (the matching condition) and
@@ -68296,6 +68311,8 @@ components:
6829668311
additionalProperties: {}
6829768312
description: Attributes of the monitor notification rule.
6829868313
properties:
68314+
bundle_config:
68315+
$ref: "#/components/schemas/MonitorNotificationRuleBundleConfig"
6829968316
conditional_recipients:
6830068317
$ref: "#/components/schemas/MonitorNotificationRuleConditionalRecipients"
6830168318
created:

‎docs/datadog_api_client.v2.model.rst‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28410,6 +28410,13 @@ datadog\_api\_client.v2.model.monitor\_notification\_rule\_attributes module
2841028410
:members:
2841128411
:show-inheritance:
2841228412

28413+
datadog\_api\_client.v2.model.monitor\_notification\_rule\_bundle\_config module
28414+
--------------------------------------------------------------------------------
28415+
28416+
.. automodule:: datadog_api_client.v2.model.monitor_notification_rule_bundle_config
28417+
:members:
28418+
:show-inheritance:
28419+
2841328420
datadog\_api\_client.v2.model.monitor\_notification\_rule\_condition module
2841428421
---------------------------------------------------------------------------
2841528422

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
"""
2+
Create a monitor notification rule with bundle config returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.monitors_api import MonitorsApi
7+
from datadog_api_client.v2.model.monitor_notification_rule_attributes import MonitorNotificationRuleAttributes
8+
from datadog_api_client.v2.model.monitor_notification_rule_bundle_config import MonitorNotificationRuleBundleConfig
9+
from datadog_api_client.v2.model.monitor_notification_rule_create_request import MonitorNotificationRuleCreateRequest
10+
from datadog_api_client.v2.model.monitor_notification_rule_create_request_data import (
11+
MonitorNotificationRuleCreateRequestData,
12+
)
13+
from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
14+
from datadog_api_client.v2.model.monitor_notification_rule_resource_type import MonitorNotificationRuleResourceType
15+
16+
body = MonitorNotificationRuleCreateRequest(
17+
data=MonitorNotificationRuleCreateRequestData(
18+
attributes=MonitorNotificationRuleAttributes(
19+
filter=MonitorNotificationRuleFilterTags(
20+
tags=[
21+
"test:example-monitor",
22+
],
23+
),
24+
name="test rule",
25+
recipients=[
26+
"slack-test-channel",
27+
],
28+
bundle_config=MonitorNotificationRuleBundleConfig(
29+
duration=3600,
30+
),
31+
),
32+
type=MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE,
33+
),
34+
)
35+
36+
configuration = Configuration()
37+
with ApiClient(configuration) as api_client:
38+
api_instance = MonitorsApi(api_client)
39+
response = api_instance.create_monitor_notification_rule(body=body)
40+
41+
print(response)
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"""
2+
Update a monitor notification rule with bundle config returns "OK" response
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v2.api.monitors_api import MonitorsApi
8+
from datadog_api_client.v2.model.monitor_notification_rule_attributes import MonitorNotificationRuleAttributes
9+
from datadog_api_client.v2.model.monitor_notification_rule_bundle_config import MonitorNotificationRuleBundleConfig
10+
from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
11+
from datadog_api_client.v2.model.monitor_notification_rule_resource_type import MonitorNotificationRuleResourceType
12+
from datadog_api_client.v2.model.monitor_notification_rule_update_request import MonitorNotificationRuleUpdateRequest
13+
from datadog_api_client.v2.model.monitor_notification_rule_update_request_data import (
14+
MonitorNotificationRuleUpdateRequestData,
15+
)
16+
17+
# there is a valid "monitor_notification_rule" in the system
18+
MONITOR_NOTIFICATION_RULE_DATA_ID = environ["MONITOR_NOTIFICATION_RULE_DATA_ID"]
19+
20+
body = MonitorNotificationRuleUpdateRequest(
21+
data=MonitorNotificationRuleUpdateRequestData(
22+
attributes=MonitorNotificationRuleAttributes(
23+
filter=MonitorNotificationRuleFilterTags(
24+
tags=[
25+
"test:example-monitor",
26+
],
27+
),
28+
name="updated rule",
29+
recipients=[
30+
"slack-test-channel",
31+
],
32+
bundle_config=MonitorNotificationRuleBundleConfig(
33+
duration=3600,
34+
),
35+
),
36+
id=MONITOR_NOTIFICATION_RULE_DATA_ID,
37+
type=MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE,
38+
),
39+
)
40+
41+
configuration = Configuration()
42+
with ApiClient(configuration) as api_client:
43+
api_instance = MonitorsApi(api_client)
44+
response = api_instance.update_monitor_notification_rule(rule_id=MONITOR_NOTIFICATION_RULE_DATA_ID, body=body)
45+
46+
print(response)

‎src/datadog_api_client/v2/model/monitor_notification_rule_attributes.py‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515

1616
if TYPE_CHECKING:
17+
from datadog_api_client.v2.model.monitor_notification_rule_bundle_config import MonitorNotificationRuleBundleConfig
1718
from datadog_api_client.v2.model.monitor_notification_rule_conditional_recipients import (
1819
MonitorNotificationRuleConditionalRecipients,
1920
)
@@ -40,19 +41,24 @@ def additional_properties_type(_):
4041

4142
@cached_property
4243
def openapi_types(_):
44+
from datadog_api_client.v2.model.monitor_notification_rule_bundle_config import (
45+
MonitorNotificationRuleBundleConfig,
46+
)
4347
from datadog_api_client.v2.model.monitor_notification_rule_conditional_recipients import (
4448
MonitorNotificationRuleConditionalRecipients,
4549
)
4650
from datadog_api_client.v2.model.monitor_notification_rule_filter import MonitorNotificationRuleFilter
4751

4852
return {
53+
"bundle_config": (MonitorNotificationRuleBundleConfig,),
4954
"conditional_recipients": (MonitorNotificationRuleConditionalRecipients,),
5055
"filter": (MonitorNotificationRuleFilter,),
5156
"name": (str,),
5257
"recipients": ([str],),
5358
}
5459

5560
attribute_map = {
61+
"bundle_config": "bundle_config",
5662
"conditional_recipients": "conditional_recipients",
5763
"filter": "filter",
5864
"name": "name",
@@ -62,6 +68,7 @@ def openapi_types(_):
6268
def __init__(
6369
self_,
6470
name: str,
71+
bundle_config: Union[MonitorNotificationRuleBundleConfig, UnsetType] = unset,
6572
conditional_recipients: Union[MonitorNotificationRuleConditionalRecipients, UnsetType] = unset,
6673
filter: Union[
6774
MonitorNotificationRuleFilter,
@@ -75,6 +82,10 @@ def __init__(
7582
"""
7683
Attributes of the monitor notification rule.
7784
85+
:param bundle_config: Use bundle config to enable alert bundling to reduce monitor signal noises. **Note** : This feature is in preview and is subject to change.
86+
If you have any feedback, contact `Datadog support <https://docs.datadoghq.com/help/>`_.
87+
:type bundle_config: MonitorNotificationRuleBundleConfig, optional
88+
7889
:param conditional_recipients: Use conditional recipients to define different recipients for different situations. Cannot be used with ``recipients``.
7990
:type conditional_recipients: MonitorNotificationRuleConditionalRecipients, optional
8091
@@ -87,6 +98,8 @@ def __init__(
8798
:param recipients: A list of recipients to notify. Uses the same format as the monitor ``message`` field. Must not start with an '@'. Cannot be used with ``conditional_recipients``.
8899
:type recipients: [str], optional
89100
"""
101+
if bundle_config is not unset:
102+
kwargs["bundle_config"] = bundle_config
90103
if conditional_recipients is not unset:
91104
kwargs["conditional_recipients"] = conditional_recipients
92105
if filter is not unset:
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
# This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
# Copyright 2019-Present Datadog, Inc.
4+
from __future__ import annotations
5+
6+
7+
from datadog_api_client.model_utils import (
8+
ModelNormal,
9+
cached_property,
10+
)
11+
12+
13+
class MonitorNotificationRuleBundleConfig(ModelNormal):
14+
validations = {
15+
"duration": {
16+
"inclusive_maximum": 2147483647,
17+
},
18+
}
19+
20+
@cached_property
21+
def openapi_types(_):
22+
return {
23+
"duration": (int,),
24+
}
25+
26+
attribute_map = {
27+
"duration": "duration",
28+
}
29+
30+
def __init__(self_, duration: int, **kwargs):
31+
"""
32+
Use bundle config to enable alert bundling to reduce monitor signal noises. **Note** : This feature is in preview and is subject to change.
33+
If you have any feedback, contact `Datadog support <https://docs.datadoghq.com/help/>`_.
34+
35+
:param duration: Duration of the bundling period.
36+
:type duration: int
37+
"""
38+
super().__init__(kwargs)
39+
40+
self_.duration = duration

‎src/datadog_api_client/v2/model/monitor_notification_rule_response_attributes.py‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616

1717
if TYPE_CHECKING:
18+
from datadog_api_client.v2.model.monitor_notification_rule_bundle_config import MonitorNotificationRuleBundleConfig
1819
from datadog_api_client.v2.model.monitor_notification_rule_conditional_recipients import (
1920
MonitorNotificationRuleConditionalRecipients,
2021
)
@@ -37,12 +38,16 @@ class MonitorNotificationRuleResponseAttributes(ModelNormal):
3738

3839
@cached_property
3940
def openapi_types(_):
41+
from datadog_api_client.v2.model.monitor_notification_rule_bundle_config import (
42+
MonitorNotificationRuleBundleConfig,
43+
)
4044
from datadog_api_client.v2.model.monitor_notification_rule_conditional_recipients import (
4145
MonitorNotificationRuleConditionalRecipients,
4246
)
4347
from datadog_api_client.v2.model.monitor_notification_rule_filter import MonitorNotificationRuleFilter
4448

4549
return {
50+
"bundle_config": (MonitorNotificationRuleBundleConfig,),
4651
"conditional_recipients": (MonitorNotificationRuleConditionalRecipients,),
4752
"created": (datetime,),
4853
"filter": (MonitorNotificationRuleFilter,),
@@ -52,6 +57,7 @@ def openapi_types(_):
5257
}
5358

5459
attribute_map = {
60+
"bundle_config": "bundle_config",
5561
"conditional_recipients": "conditional_recipients",
5662
"created": "created",
5763
"filter": "filter",
@@ -62,6 +68,7 @@ def openapi_types(_):
6268

6369
def __init__(
6470
self_,
71+
bundle_config: Union[MonitorNotificationRuleBundleConfig, UnsetType] = unset,
6572
conditional_recipients: Union[MonitorNotificationRuleConditionalRecipients, UnsetType] = unset,
6673
created: Union[datetime, UnsetType] = unset,
6774
filter: Union[
@@ -78,6 +85,10 @@ def __init__(
7885
"""
7986
Attributes of the monitor notification rule.
8087
88+
:param bundle_config: Use bundle config to enable alert bundling to reduce monitor signal noises. **Note** : This feature is in preview and is subject to change.
89+
If you have any feedback, contact `Datadog support <https://docs.datadoghq.com/help/>`_.
90+
:type bundle_config: MonitorNotificationRuleBundleConfig, optional
91+
8192
:param conditional_recipients: Use conditional recipients to define different recipients for different situations. Cannot be used with ``recipients``.
8293
:type conditional_recipients: MonitorNotificationRuleConditionalRecipients, optional
8394
@@ -96,6 +107,8 @@ def __init__(
96107
:param recipients: A list of recipients to notify. Uses the same format as the monitor ``message`` field. Must not start with an '@'. Cannot be used with ``conditional_recipients``.
97108
:type recipients: [str], optional
98109
"""
110+
if bundle_config is not unset:
111+
kwargs["bundle_config"] = bundle_config
99112
if conditional_recipients is not unset:
100113
kwargs["conditional_recipients"] = conditional_recipients
101114
if created is not unset:

‎src/datadog_api_client/v2/models/__init__.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5452,6 +5452,7 @@
54525452
)
54535453
from datadog_api_client.v2.model.monitor_downtime_match_response_data import MonitorDowntimeMatchResponseData
54545454
from datadog_api_client.v2.model.monitor_notification_rule_attributes import MonitorNotificationRuleAttributes
5455+
from datadog_api_client.v2.model.monitor_notification_rule_bundle_config import MonitorNotificationRuleBundleConfig
54555456
from datadog_api_client.v2.model.monitor_notification_rule_condition import MonitorNotificationRuleCondition
54565457
from datadog_api_client.v2.model.monitor_notification_rule_conditional_recipients import (
54575458
MonitorNotificationRuleConditionalRecipients,
@@ -14648,6 +14649,7 @@
1464814649
"MonitorDowntimeMatchResponseAttributes",
1464914650
"MonitorDowntimeMatchResponseData",
1465014651
"MonitorNotificationRuleAttributes",
14652+
"MonitorNotificationRuleBundleConfig",
1465114653
"MonitorNotificationRuleCondition",
1465214654
"MonitorNotificationRuleConditionalRecipients",
1465314655
"MonitorNotificationRuleCreateRequest",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-08-17T21:40:51.600Z
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
interactions:
2+
- request:
3+
body: '{"data":{"attributes":{"bundle_config":{"duration":3600},"filter":{"tags":["test:test-create_a_monitor_notification_rule_with_bundle_config_returns_ok_response-1787002851"]},"name":"test
4+
rule","recipients":["slack-test-channel"]},"type":"monitor-notification-rule"}}'
5+
headers:
6+
accept:
7+
- application/json
8+
content-type:
9+
- application/json
10+
method: POST
11+
uri: https://api.datadoghq.com/api/v2/monitor/notification_rule
12+
response:
13+
body:
14+
string: '{"data":{"type":"monitor-notification-rule","id":"fc63c678-ecf4-4807-a3c9-317baea76bb1","attributes":{"name":"test
15+
rule","created_at":"2026-08-17T21:40:51.789668+00:00","modified_at":"2026-08-17T21:40:51.806466+00:00","filter":{"tags":["test:test-create_a_monitor_notification_rule_with_bundle_config_returns_ok_response-1787002851"]},"recipients":["slack-test-channel"],"bundle_config":{"duration":3600}},"relationships":{"created_by":{"data":{"type":"users","id":"3ad549bf-eba0-11e9-a77a-0705486660d0"}}}},"included":[{"type":"users","id":"3ad549bf-eba0-11e9-a77a-0705486660d0","attributes":{"uuid":"3ad549bf-eba0-11e9-a77a-0705486660d0","name":"frog","handle":"frog@datadoghq.com","created_at":"2019-10-02T08:15:39.795051+00:00","modified_at":"2026-07-10T19:34:11.410571+00:00","email":"frog@datadoghq.com","icon":"https://secure.gravatar.com/avatar/28a16dfe36e73b60c1d55872cb0f1172?s=48&d=retro","title":null,"verified":true,"service_account":false,"disabled":false,"allowed_login_methods":[],"status":"Active","last_login_time":"2024-01-04T18:40:05+00:00"}}]}
16+
17+
'
18+
headers:
19+
content-type:
20+
- application/json
21+
status:
22+
code: 200
23+
message: OK
24+
- request:
25+
body: null
26+
headers:
27+
accept:
28+
- '*/*'
29+
method: DELETE
30+
uri: https://api.datadoghq.com/api/v2/monitor/notification_rule/fc63c678-ecf4-4807-a3c9-317baea76bb1
31+
response:
32+
body:
33+
string: ''
34+
headers:
35+
content-type:
36+
- text/html; charset=utf-8
37+
status:
38+
code: 204
39+
message: No Content
40+
version: 1

0 commit comments

Comments
 (0)