Skip to content

Commit 9d19529

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit f1ac4d9 of spec repo
1 parent 32f544f commit 9d19529

24 files changed

Lines changed: 577 additions & 31 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51090,6 +51090,31 @@ components:
5109051090
data:
5109151091
$ref: '#/components/schemas/SecurityMonitoringSuppression'
5109251092
type: object
51093+
SecurityMonitoringSuppressionSort:
51094+
description: The sort parameters used for querying suppression rules.
51095+
enum:
51096+
- name
51097+
- start_date
51098+
- expiration_date
51099+
- update_date
51100+
- enabled
51101+
- -name
51102+
- -start_date
51103+
- -expiration_date
51104+
- -update_date
51105+
- -enabled
51106+
type: string
51107+
x-enum-varnames:
51108+
- NAME
51109+
- START_DATE
51110+
- EXPIRATION_DATE
51111+
- UPDATE_DATE
51112+
- ENABLED
51113+
- NAME_DESCENDING
51114+
- START_DATE_DESCENDING
51115+
- EXPIRATION_DATE_DESCENDING
51116+
- UPDATE_DATE_DESCENDING
51117+
- ENABLED_DESCENDING
5109351118
SecurityMonitoringSuppressionType:
5109451119
default: suppressions
5109551120
description: The type of the resource. The value should always be `suppressions`.
@@ -85138,6 +85163,23 @@ paths:
8513885163
required: false
8513985164
schema:
8514085165
type: string
85166+
- description: Attribute used to sort the list of suppression rules. Prefix
85167+
with - to sort in descending order.
85168+
in: query
85169+
name: sort
85170+
required: false
85171+
schema:
85172+
$ref: '#/components/schemas/SecurityMonitoringSuppressionSort'
85173+
- description: Size for a given page. Use -1 to return all items.
85174+
in: query
85175+
name: page[size]
85176+
required: false
85177+
schema:
85178+
default: -1
85179+
example: 10
85180+
format: int64
85181+
type: integer
85182+
- $ref: '#/components/parameters/PageNumber'
8514185183
responses:
8514285184
'200':
8514385185
content:

docs/datadog_api_client.v2.model.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22243,6 +22243,13 @@ datadog\_api\_client.v2.model.security\_monitoring\_suppression\_response module
2224322243
:members:
2224422244
:show-inheritance:
2224522245

22246+
datadog\_api\_client.v2.model.security\_monitoring\_suppression\_sort module
22247+
----------------------------------------------------------------------------
22248+
22249+
.. automodule:: datadog_api_client.v2.model.security_monitoring_suppression_sort
22250+
:members:
22251+
:show-inheritance:
22252+
2224622253
datadog\_api\_client.v2.model.security\_monitoring\_suppression\_type module
2224722254
----------------------------------------------------------------------------
2224822255

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
"""
2+
Get all suppression rules returns "OK" response with sort ascending
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
8+
from datadog_api_client.v2.model.security_monitoring_suppression_sort import SecurityMonitoringSuppressionSort
9+
10+
# there is a valid "suppression" in the system
11+
SUPPRESSION_DATA_ID = environ["SUPPRESSION_DATA_ID"]
12+
13+
# there is a valid "suppression2" in the system
14+
SUPPRESSION2_DATA_ID = environ["SUPPRESSION2_DATA_ID"]
15+
16+
configuration = Configuration()
17+
with ApiClient(configuration) as api_client:
18+
api_instance = SecurityMonitoringApi(api_client)
19+
response = api_instance.list_security_monitoring_suppressions(
20+
query="id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0",
21+
sort=SecurityMonitoringSuppressionSort.NAME,
22+
)
23+
24+
print(response)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
"""
2+
Get all suppression rules returns "OK" response with sort descending
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
8+
from datadog_api_client.v2.model.security_monitoring_suppression_sort import SecurityMonitoringSuppressionSort
9+
10+
# there is a valid "suppression" in the system
11+
SUPPRESSION_DATA_ID = environ["SUPPRESSION_DATA_ID"]
12+
13+
# there is a valid "suppression2" in the system
14+
SUPPRESSION2_DATA_ID = environ["SUPPRESSION2_DATA_ID"]
15+
16+
configuration = Configuration()
17+
with ApiClient(configuration) as api_client:
18+
api_instance = SecurityMonitoringApi(api_client)
19+
response = api_instance.list_security_monitoring_suppressions(
20+
query="id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0",
21+
sort=SecurityMonitoringSuppressionSort.NAME_DESCENDING,
22+
)
23+
24+
print(response)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
"""
2+
Get all suppression rules returns "OK" response with pagination
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
8+
9+
# there is a valid "suppression" in the system
10+
SUPPRESSION_DATA_ID = environ["SUPPRESSION_DATA_ID"]
11+
12+
# there is a valid "suppression2" in the system
13+
SUPPRESSION2_DATA_ID = environ["SUPPRESSION2_DATA_ID"]
14+
15+
configuration = Configuration()
16+
with ApiClient(configuration) as api_client:
17+
api_instance = SecurityMonitoringApi(api_client)
18+
response = api_instance.list_security_monitoring_suppressions(
19+
query="id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0",
20+
page_size=1,
21+
page_number=0,
22+
)
23+
24+
print(response)

src/datadog_api_client/v2/api/security_monitoring_api.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
from datadog_api_client.v2.model.security_filter_create_request import SecurityFilterCreateRequest
7070
from datadog_api_client.v2.model.security_filter_update_request import SecurityFilterUpdateRequest
7171
from datadog_api_client.v2.model.security_monitoring_suppressions_response import SecurityMonitoringSuppressionsResponse
72+
from datadog_api_client.v2.model.security_monitoring_suppression_sort import SecurityMonitoringSuppressionSort
7273
from datadog_api_client.v2.model.security_monitoring_suppression_response import SecurityMonitoringSuppressionResponse
7374
from datadog_api_client.v2.model.security_monitoring_suppression_create_request import (
7475
SecurityMonitoringSuppressionCreateRequest,
@@ -1648,6 +1649,21 @@ def __init__(self, api_client=None):
16481649
"attribute": "query",
16491650
"location": "query",
16501651
},
1652+
"sort": {
1653+
"openapi_types": (SecurityMonitoringSuppressionSort,),
1654+
"attribute": "sort",
1655+
"location": "query",
1656+
},
1657+
"page_size": {
1658+
"openapi_types": (int,),
1659+
"attribute": "page[size]",
1660+
"location": "query",
1661+
},
1662+
"page_number": {
1663+
"openapi_types": (int,),
1664+
"attribute": "page[number]",
1665+
"location": "query",
1666+
},
16511667
},
16521668
headers_map={
16531669
"accept": ["application/json"],
@@ -4088,19 +4104,37 @@ def list_security_monitoring_suppressions(
40884104
self,
40894105
*,
40904106
query: Union[str, UnsetType] = unset,
4107+
sort: Union[SecurityMonitoringSuppressionSort, UnsetType] = unset,
4108+
page_size: Union[int, UnsetType] = unset,
4109+
page_number: Union[int, UnsetType] = unset,
40914110
) -> SecurityMonitoringSuppressionsResponse:
40924111
"""Get all suppression rules.
40934112
40944113
Get the list of all suppression rules.
40954114
40964115
:param query: Query string.
40974116
:type query: str, optional
4117+
:param sort: Attribute used to sort the list of suppression rules. Prefix with - to sort in descending order.
4118+
:type sort: SecurityMonitoringSuppressionSort, optional
4119+
:param page_size: Size for a given page. Use -1 to return all items.
4120+
:type page_size: int, optional
4121+
:param page_number: Specific page number to return.
4122+
:type page_number: int, optional
40984123
:rtype: SecurityMonitoringSuppressionsResponse
40994124
"""
41004125
kwargs: Dict[str, Any] = {}
41014126
if query is not unset:
41024127
kwargs["query"] = query
41034128

4129+
if sort is not unset:
4130+
kwargs["sort"] = sort
4131+
4132+
if page_size is not unset:
4133+
kwargs["page_size"] = page_size
4134+
4135+
if page_number is not unset:
4136+
kwargs["page_number"] = page_number
4137+
41044138
return self._list_security_monitoring_suppressions_endpoint.call_with_http_info(**kwargs)
41054139

41064140
def list_threat_hunting_jobs(
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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+
ModelSimple,
9+
cached_property,
10+
)
11+
12+
from typing import ClassVar
13+
14+
15+
class SecurityMonitoringSuppressionSort(ModelSimple):
16+
"""
17+
The sort parameters used for querying suppression rules.
18+
19+
:param value: Must be one of ["name", "start_date", "expiration_date", "update_date", "enabled", "-name", "-start_date", "-expiration_date", "-update_date", "-enabled"].
20+
:type value: str
21+
"""
22+
23+
allowed_values = {
24+
"name",
25+
"start_date",
26+
"expiration_date",
27+
"update_date",
28+
"enabled",
29+
"-name",
30+
"-start_date",
31+
"-expiration_date",
32+
"-update_date",
33+
"-enabled",
34+
}
35+
NAME: ClassVar["SecurityMonitoringSuppressionSort"]
36+
START_DATE: ClassVar["SecurityMonitoringSuppressionSort"]
37+
EXPIRATION_DATE: ClassVar["SecurityMonitoringSuppressionSort"]
38+
UPDATE_DATE: ClassVar["SecurityMonitoringSuppressionSort"]
39+
ENABLED: ClassVar["SecurityMonitoringSuppressionSort"]
40+
NAME_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"]
41+
START_DATE_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"]
42+
EXPIRATION_DATE_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"]
43+
UPDATE_DATE_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"]
44+
ENABLED_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"]
45+
46+
@cached_property
47+
def openapi_types(_):
48+
return {
49+
"value": (str,),
50+
}
51+
52+
53+
SecurityMonitoringSuppressionSort.NAME = SecurityMonitoringSuppressionSort("name")
54+
SecurityMonitoringSuppressionSort.START_DATE = SecurityMonitoringSuppressionSort("start_date")
55+
SecurityMonitoringSuppressionSort.EXPIRATION_DATE = SecurityMonitoringSuppressionSort("expiration_date")
56+
SecurityMonitoringSuppressionSort.UPDATE_DATE = SecurityMonitoringSuppressionSort("update_date")
57+
SecurityMonitoringSuppressionSort.ENABLED = SecurityMonitoringSuppressionSort("enabled")
58+
SecurityMonitoringSuppressionSort.NAME_DESCENDING = SecurityMonitoringSuppressionSort("-name")
59+
SecurityMonitoringSuppressionSort.START_DATE_DESCENDING = SecurityMonitoringSuppressionSort("-start_date")
60+
SecurityMonitoringSuppressionSort.EXPIRATION_DATE_DESCENDING = SecurityMonitoringSuppressionSort("-expiration_date")
61+
SecurityMonitoringSuppressionSort.UPDATE_DATE_DESCENDING = SecurityMonitoringSuppressionSort("-update_date")
62+
SecurityMonitoringSuppressionSort.ENABLED_DESCENDING = SecurityMonitoringSuppressionSort("-enabled")

src/datadog_api_client/v2/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4524,6 +4524,7 @@
45244524
SecurityMonitoringSuppressionCreateRequest,
45254525
)
45264526
from datadog_api_client.v2.model.security_monitoring_suppression_response import SecurityMonitoringSuppressionResponse
4527+
from datadog_api_client.v2.model.security_monitoring_suppression_sort import SecurityMonitoringSuppressionSort
45274528
from datadog_api_client.v2.model.security_monitoring_suppression_type import SecurityMonitoringSuppressionType
45284529
from datadog_api_client.v2.model.security_monitoring_suppression_update_attributes import (
45294530
SecurityMonitoringSuppressionUpdateAttributes,
@@ -8515,6 +8516,7 @@
85158516
"SecurityMonitoringSuppressionCreateData",
85168517
"SecurityMonitoringSuppressionCreateRequest",
85178518
"SecurityMonitoringSuppressionResponse",
8519+
"SecurityMonitoringSuppressionSort",
85188520
"SecurityMonitoringSuppressionType",
85198521
"SecurityMonitoringSuppressionUpdateAttributes",
85208522
"SecurityMonitoringSuppressionUpdateData",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025-11-07T12:27:26.759Z
1+
2026-01-14T17:29:03.168Z

tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.yaml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
interactions:
22
- request:
3-
body: '{"data":{"attributes":{"description":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","enabled":true,"name":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}'
3+
body: '{"data":{"attributes":{"description":"Test-Delete_a_suppression_rule_returns_OK_response-1768411743","enabled":true,"name":"suppression
4+
Test-Delete_a_suppression_rule_returns_OK_response-1768411743","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}'
45
headers:
56
accept:
67
- application/json
@@ -10,8 +11,9 @@ interactions:
1011
uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions
1112
response:
1213
body:
13-
string: '{"data":{"id":"uea-lab-big","type":"suppressions","attributes":{"creation_date":1762518447002,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI
14-
Account"},"data_exclusion_query":"","description":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","editable":true,"enabled":true,"name":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518447002,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI
14+
string: '{"data":{"id":"itm-ljs-0qw","type":"suppressions","attributes":{"creation_date":1768411744411,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI
15+
Account"},"data_exclusion_query":"","description":"Test-Delete_a_suppression_rule_returns_OK_response-1768411743","editable":true,"enabled":true,"name":"suppression
16+
Test-Delete_a_suppression_rule_returns_OK_response-1768411743","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411744411,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI
1517
Account"},"version":1}}}'
1618
headers:
1719
content-type:
@@ -25,7 +27,7 @@ interactions:
2527
accept:
2628
- '*/*'
2729
method: DELETE
28-
uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uea-lab-big
30+
uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/itm-ljs-0qw
2931
response:
3032
body:
3133
string: ''
@@ -39,10 +41,10 @@ interactions:
3941
accept:
4042
- '*/*'
4143
method: DELETE
42-
uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uea-lab-big
44+
uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/itm-ljs-0qw
4345
response:
4446
body:
45-
string: '{"errors":["not_found(Suppression with ID uea-lab-big not found)"]}'
47+
string: '{"errors":["not_found(Suppression with ID itm-ljs-0qw not found)"]}'
4648
headers:
4749
content-type:
4850
- application/json

0 commit comments

Comments
 (0)