Skip to content

Commit 91e771c

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 88ddfd71 of spec repo
1 parent 7fbaaf7 commit 91e771c

13 files changed

+465
-4
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2024-06-18 16:37:19.527536",
8-
"spec_repo_commit": "848af7a9"
7+
"regenerated": "2024-06-18 23:01:56.976337",
8+
"spec_repo_commit": "88ddfd71"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2024-06-18 16:37:19.544104",
13-
"spec_repo_commit": "848af7a9"
12+
"regenerated": "2024-06-18 23:01:56.993591",
13+
"spec_repo_commit": "88ddfd71"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17368,6 +17368,19 @@ components:
1736817368
required:
1736917369
- status
1737017370
type: object
17371+
SecurityMonitoringRuleConvertRequest:
17372+
description: Convert the rule from JSON to Terraform.
17373+
oneOf:
17374+
- $ref: '#/components/schemas/SecurityMonitoringStandardRuleCreatePayload'
17375+
- $ref: '#/components/schemas/SecurityMonitoringSignalRuleCreatePayload'
17376+
- $ref: '#/components/schemas/CloudConfigurationRuleCreatePayload'
17377+
SecurityMonitoringRuleConvertResponse:
17378+
description: Result of the test of the rule queries.
17379+
properties:
17380+
terraformContent:
17381+
description: Terraform string as a result of converting the rule query payloads.
17382+
type: string
17383+
type: object
1737117384
SecurityMonitoringRuleCreatePayload:
1737217385
description: Create a new rule.
1737317386
oneOf:
@@ -33197,6 +33210,42 @@ paths:
3319733210
tags:
3319833211
- Security Monitoring
3319933212
x-codegen-request-body-name: body
33213+
/api/v2/security_monitoring/rules/convert:
33214+
post:
33215+
description: Convert a rule from JSON to Terraform.
33216+
operationId: ConvertSecurityMonitoringRuleFromJSONToTerraform
33217+
requestBody:
33218+
content:
33219+
application/json:
33220+
schema:
33221+
$ref: '#/components/schemas/SecurityMonitoringRuleConvertRequest'
33222+
required: true
33223+
responses:
33224+
'200':
33225+
content:
33226+
application/json:
33227+
schema:
33228+
$ref: '#/components/schemas/SecurityMonitoringRuleConvertResponse'
33229+
description: OK
33230+
'400':
33231+
$ref: '#/components/responses/BadRequestResponse'
33232+
'401':
33233+
$ref: '#/components/responses/ConcurrentModificationResponse'
33234+
'403':
33235+
$ref: '#/components/responses/NotAuthorizedResponse'
33236+
'404':
33237+
$ref: '#/components/responses/NotFoundResponse'
33238+
'429':
33239+
$ref: '#/components/responses/TooManyRequestsResponse'
33240+
security:
33241+
- apiKeyAuth: []
33242+
appKeyAuth: []
33243+
- AuthZ:
33244+
- security_monitoring_rules_write
33245+
summary: Convert a rule from JSON to Terraform
33246+
tags:
33247+
- Security Monitoring
33248+
x-codegen-request-body-name: body
3320033249
/api/v2/security_monitoring/rules/test:
3320133250
post:
3320233251
description: Test a rule.
@@ -33354,6 +33403,37 @@ paths:
3335433403
tags:
3335533404
- Security Monitoring
3335633405
x-codegen-request-body-name: body
33406+
/api/v2/security_monitoring/rules/{rule_id}/convert:
33407+
get:
33408+
description: Convert an existing rule from JSON to Terraform.
33409+
operationId: ConvertExistingSecurityMonitoringRule
33410+
parameters:
33411+
- $ref: '#/components/parameters/SecurityMonitoringRuleID'
33412+
responses:
33413+
'200':
33414+
content:
33415+
application/json:
33416+
schema:
33417+
$ref: '#/components/schemas/SecurityMonitoringRuleConvertResponse'
33418+
description: OK
33419+
'400':
33420+
$ref: '#/components/responses/BadRequestResponse'
33421+
'401':
33422+
$ref: '#/components/responses/ConcurrentModificationResponse'
33423+
'403':
33424+
$ref: '#/components/responses/NotAuthorizedResponse'
33425+
'404':
33426+
$ref: '#/components/responses/NotFoundResponse'
33427+
'429':
33428+
$ref: '#/components/responses/TooManyRequestsResponse'
33429+
security:
33430+
- apiKeyAuth: []
33431+
appKeyAuth: []
33432+
- AuthZ:
33433+
- security_monitoring_rules_write
33434+
summary: Convert an existing rule from JSON to Terraform
33435+
tags:
33436+
- Security Monitoring
3335733437
/api/v2/security_monitoring/rules/{rule_id}/test:
3335833438
post:
3335933439
description: Test an existing rule.

docs/datadog_api_client.v2.model.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7855,6 +7855,20 @@ security\_monitoring\_rule\_case\_create
78557855
:members:
78567856
:show-inheritance:
78577857

7858+
security\_monitoring\_rule\_convert\_request
7859+
--------------------------------------------
7860+
7861+
.. automodule:: datadog_api_client.v2.model.security_monitoring_rule_convert_request
7862+
:members:
7863+
:show-inheritance:
7864+
7865+
security\_monitoring\_rule\_convert\_response
7866+
---------------------------------------------
7867+
7868+
.. automodule:: datadog_api_client.v2.model.security_monitoring_rule_convert_response
7869+
:members:
7870+
:show-inheritance:
7871+
78587872
security\_monitoring\_rule\_create\_payload
78597873
-------------------------------------------
78607874

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""
2+
Convert an existing rule from JSON to Terraform 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+
8+
configuration = Configuration()
9+
with ApiClient(configuration) as api_client:
10+
api_instance = SecurityMonitoringApi(api_client)
11+
response = api_instance.convert_existing_security_monitoring_rule(
12+
rule_id="rule_id",
13+
)
14+
15+
print(response)
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
"""
2+
Convert a rule from JSON to Terraform 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.security_monitoring_rule_case_create import SecurityMonitoringRuleCaseCreate
8+
from datadog_api_client.v2.model.security_monitoring_rule_evaluation_window import (
9+
SecurityMonitoringRuleEvaluationWindow,
10+
)
11+
from datadog_api_client.v2.model.security_monitoring_rule_keep_alive import SecurityMonitoringRuleKeepAlive
12+
from datadog_api_client.v2.model.security_monitoring_rule_max_signal_duration import (
13+
SecurityMonitoringRuleMaxSignalDuration,
14+
)
15+
from datadog_api_client.v2.model.security_monitoring_rule_options import SecurityMonitoringRuleOptions
16+
from datadog_api_client.v2.model.security_monitoring_rule_query_aggregation import (
17+
SecurityMonitoringRuleQueryAggregation,
18+
)
19+
from datadog_api_client.v2.model.security_monitoring_rule_severity import SecurityMonitoringRuleSeverity
20+
from datadog_api_client.v2.model.security_monitoring_rule_type_create import SecurityMonitoringRuleTypeCreate
21+
from datadog_api_client.v2.model.security_monitoring_standard_rule_create_payload import (
22+
SecurityMonitoringStandardRuleCreatePayload,
23+
)
24+
from datadog_api_client.v2.model.security_monitoring_standard_rule_query import SecurityMonitoringStandardRuleQuery
25+
26+
body = SecurityMonitoringStandardRuleCreatePayload(
27+
name="Example-Security-Monitoring",
28+
queries=[
29+
SecurityMonitoringStandardRuleQuery(
30+
query="@test:true",
31+
aggregation=SecurityMonitoringRuleQueryAggregation.COUNT,
32+
group_by_fields=[],
33+
distinct_fields=[],
34+
metric="",
35+
),
36+
],
37+
filters=[],
38+
cases=[
39+
SecurityMonitoringRuleCaseCreate(
40+
name="",
41+
status=SecurityMonitoringRuleSeverity.INFO,
42+
condition="a > 0",
43+
notifications=[],
44+
),
45+
],
46+
options=SecurityMonitoringRuleOptions(
47+
evaluation_window=SecurityMonitoringRuleEvaluationWindow.FIFTEEN_MINUTES,
48+
keep_alive=SecurityMonitoringRuleKeepAlive.ONE_HOUR,
49+
max_signal_duration=SecurityMonitoringRuleMaxSignalDuration.ONE_DAY,
50+
),
51+
message="Test rule",
52+
tags=[],
53+
is_enabled=True,
54+
type=SecurityMonitoringRuleTypeCreate.LOG_DETECTION,
55+
)
56+
57+
configuration = Configuration()
58+
with ApiClient(configuration) as api_client:
59+
api_instance = SecurityMonitoringApi(api_client)
60+
response = api_instance.convert_security_monitoring_rule_from_json_to_terraform(body=body)
61+
62+
print(response)

src/datadog_api_client/v2/api/security_monitoring_api.py

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
SecurityMonitoringSignalRuleCreatePayload,
4545
)
4646
from datadog_api_client.v2.model.cloud_configuration_rule_create_payload import CloudConfigurationRuleCreatePayload
47+
from datadog_api_client.v2.model.security_monitoring_rule_convert_response import SecurityMonitoringRuleConvertResponse
48+
from datadog_api_client.v2.model.security_monitoring_rule_convert_request import SecurityMonitoringRuleConvertRequest
4749
from datadog_api_client.v2.model.security_monitoring_rule_test_response import SecurityMonitoringRuleTestResponse
4850
from datadog_api_client.v2.model.security_monitoring_rule_test_request import SecurityMonitoringRuleTestRequest
4951
from datadog_api_client.v2.model.security_monitoring_rule_validate_payload import SecurityMonitoringRuleValidatePayload
@@ -80,6 +82,49 @@ def __init__(self, api_client=None):
8082
api_client = ApiClient(Configuration())
8183
self.api_client = api_client
8284

85+
self._convert_existing_security_monitoring_rule_endpoint = _Endpoint(
86+
settings={
87+
"response_type": (SecurityMonitoringRuleConvertResponse,),
88+
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
89+
"endpoint_path": "/api/v2/security_monitoring/rules/{rule_id}/convert",
90+
"operation_id": "convert_existing_security_monitoring_rule",
91+
"http_method": "GET",
92+
"version": "v2",
93+
},
94+
params_map={
95+
"rule_id": {
96+
"required": True,
97+
"openapi_types": (str,),
98+
"attribute": "rule_id",
99+
"location": "path",
100+
},
101+
},
102+
headers_map={
103+
"accept": ["application/json"],
104+
},
105+
api_client=api_client,
106+
)
107+
108+
self._convert_security_monitoring_rule_from_json_to_terraform_endpoint = _Endpoint(
109+
settings={
110+
"response_type": (SecurityMonitoringRuleConvertResponse,),
111+
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
112+
"endpoint_path": "/api/v2/security_monitoring/rules/convert",
113+
"operation_id": "convert_security_monitoring_rule_from_json_to_terraform",
114+
"http_method": "POST",
115+
"version": "v2",
116+
},
117+
params_map={
118+
"body": {
119+
"required": True,
120+
"openapi_types": (SecurityMonitoringRuleConvertRequest,),
121+
"location": "body",
122+
},
123+
},
124+
headers_map={"accept": ["application/json"], "content_type": ["application/json"]},
125+
api_client=api_client,
126+
)
127+
83128
self._create_security_filter_endpoint = _Endpoint(
84129
settings={
85130
"response_type": (SecurityFilterResponse,),
@@ -786,6 +831,44 @@ def __init__(self, api_client=None):
786831
api_client=api_client,
787832
)
788833

834+
def convert_existing_security_monitoring_rule(
835+
self,
836+
rule_id: str,
837+
) -> SecurityMonitoringRuleConvertResponse:
838+
"""Convert an existing rule from JSON to Terraform.
839+
840+
Convert an existing rule from JSON to Terraform.
841+
842+
:param rule_id: The ID of the rule.
843+
:type rule_id: str
844+
:rtype: SecurityMonitoringRuleConvertResponse
845+
"""
846+
kwargs: Dict[str, Any] = {}
847+
kwargs["rule_id"] = rule_id
848+
849+
return self._convert_existing_security_monitoring_rule_endpoint.call_with_http_info(**kwargs)
850+
851+
def convert_security_monitoring_rule_from_json_to_terraform(
852+
self,
853+
body: Union[
854+
SecurityMonitoringRuleConvertRequest,
855+
SecurityMonitoringStandardRuleCreatePayload,
856+
SecurityMonitoringSignalRuleCreatePayload,
857+
CloudConfigurationRuleCreatePayload,
858+
],
859+
) -> SecurityMonitoringRuleConvertResponse:
860+
"""Convert a rule from JSON to Terraform.
861+
862+
Convert a rule from JSON to Terraform.
863+
864+
:type body: SecurityMonitoringRuleConvertRequest
865+
:rtype: SecurityMonitoringRuleConvertResponse
866+
"""
867+
kwargs: Dict[str, Any] = {}
868+
kwargs["body"] = body
869+
870+
return self._convert_security_monitoring_rule_from_json_to_terraform_endpoint.call_with_http_info(**kwargs)
871+
789872
def create_security_filter(
790873
self,
791874
body: SecurityFilterCreateRequest,

0 commit comments

Comments
 (0)