Skip to content

Commit cb2324e

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit d588dddf of spec repo
1 parent d93567d commit cb2324e

15 files changed

+526
-6
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-26 17:58:29.227031",
8-
"spec_repo_commit": "bad4ef97"
7+
"regenerated": "2024-06-26 20:44:49.124443",
8+
"spec_repo_commit": "d588dddf"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2024-06-26 17:58:29.244148",
13-
"spec_repo_commit": "bad4ef97"
12+
"regenerated": "2024-06-26 20:44:49.141412",
13+
"spec_repo_commit": "d588dddf"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17373,6 +17373,18 @@ components:
1737317373
required:
1737417374
- status
1737517375
type: object
17376+
SecurityMonitoringRuleConvertPayload:
17377+
description: Convert a rule from JSON to Terraform.
17378+
oneOf:
17379+
- $ref: '#/components/schemas/SecurityMonitoringStandardRulePayload'
17380+
- $ref: '#/components/schemas/SecurityMonitoringSignalRulePayload'
17381+
SecurityMonitoringRuleConvertResponse:
17382+
description: Result of the convert rule request containing Terraform content.
17383+
properties:
17384+
terraformContent:
17385+
description: Terraform string as a result of converting the rule from JSON.
17386+
type: string
17387+
type: object
1737617388
SecurityMonitoringRuleCreatePayload:
1737717389
description: Create a new rule.
1737817390
oneOf:
@@ -33152,6 +33164,42 @@ paths:
3315233164
tags:
3315333165
- Security Monitoring
3315433166
x-codegen-request-body-name: body
33167+
/api/v2/security_monitoring/rules/convert:
33168+
post:
33169+
description: Convert a rule that doesn't (yet) exist from JSON to Terraform.
33170+
operationId: ConvertSecurityMonitoringRuleFromJSONToTerraform
33171+
requestBody:
33172+
content:
33173+
application/json:
33174+
schema:
33175+
$ref: '#/components/schemas/SecurityMonitoringRuleConvertPayload'
33176+
required: true
33177+
responses:
33178+
'200':
33179+
content:
33180+
application/json:
33181+
schema:
33182+
$ref: '#/components/schemas/SecurityMonitoringRuleConvertResponse'
33183+
description: OK
33184+
'400':
33185+
$ref: '#/components/responses/BadRequestResponse'
33186+
'401':
33187+
$ref: '#/components/responses/ConcurrentModificationResponse'
33188+
'403':
33189+
$ref: '#/components/responses/NotAuthorizedResponse'
33190+
'404':
33191+
$ref: '#/components/responses/NotFoundResponse'
33192+
'429':
33193+
$ref: '#/components/responses/TooManyRequestsResponse'
33194+
security:
33195+
- apiKeyAuth: []
33196+
appKeyAuth: []
33197+
- AuthZ:
33198+
- security_monitoring_rules_write
33199+
summary: Convert a rule from JSON to Terraform
33200+
tags:
33201+
- Security Monitoring
33202+
x-codegen-request-body-name: body
3315533203
/api/v2/security_monitoring/rules/test:
3315633204
post:
3315733205
description: Test a rule.
@@ -33309,6 +33357,35 @@ paths:
3330933357
tags:
3331033358
- Security Monitoring
3331133359
x-codegen-request-body-name: body
33360+
/api/v2/security_monitoring/rules/{rule_id}/convert:
33361+
get:
33362+
description: Convert an existing rule from JSON to Terraform.
33363+
operationId: ConvertExistingSecurityMonitoringRule
33364+
parameters:
33365+
- $ref: '#/components/parameters/SecurityMonitoringRuleID'
33366+
responses:
33367+
'200':
33368+
content:
33369+
application/json:
33370+
schema:
33371+
$ref: '#/components/schemas/SecurityMonitoringRuleConvertResponse'
33372+
description: OK
33373+
'400':
33374+
$ref: '#/components/responses/BadRequestResponse'
33375+
'403':
33376+
$ref: '#/components/responses/NotAuthorizedResponse'
33377+
'404':
33378+
$ref: '#/components/responses/NotFoundResponse'
33379+
'429':
33380+
$ref: '#/components/responses/TooManyRequestsResponse'
33381+
security:
33382+
- apiKeyAuth: []
33383+
appKeyAuth: []
33384+
- AuthZ:
33385+
- security_monitoring_rules_read
33386+
summary: Convert an existing rule from JSON to Terraform
33387+
tags:
33388+
- Security Monitoring
3331233389
/api/v2/security_monitoring/rules/{rule_id}/test:
3331333390
post:
3331433391
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\_payload
7859+
--------------------------------------------
7860+
7861+
.. automodule:: datadog_api_client.v2.model.security_monitoring_rule_convert_payload
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: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
"""
2+
Convert an existing rule from JSON to Terraform 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.security_monitoring_api import SecurityMonitoringApi
8+
9+
# there is a valid "security_rule" in the system
10+
SECURITY_RULE_ID = environ["SECURITY_RULE_ID"]
11+
12+
configuration = Configuration()
13+
with ApiClient(configuration) as api_client:
14+
api_instance = SecurityMonitoringApi(api_client)
15+
response = api_instance.convert_existing_security_monitoring_rule(
16+
rule_id=SECURITY_RULE_ID,
17+
)
18+
19+
print(response)
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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_payload import SecurityMonitoringStandardRulePayload
22+
from datadog_api_client.v2.model.security_monitoring_standard_rule_query import SecurityMonitoringStandardRuleQuery
23+
24+
body = SecurityMonitoringStandardRulePayload(
25+
name="Example-Security-Monitoring",
26+
queries=[
27+
SecurityMonitoringStandardRuleQuery(
28+
query="@test:true",
29+
aggregation=SecurityMonitoringRuleQueryAggregation.COUNT,
30+
group_by_fields=[],
31+
distinct_fields=[],
32+
metric="",
33+
),
34+
],
35+
filters=[],
36+
cases=[
37+
SecurityMonitoringRuleCaseCreate(
38+
name="",
39+
status=SecurityMonitoringRuleSeverity.INFO,
40+
condition="a > 0",
41+
notifications=[],
42+
),
43+
],
44+
options=SecurityMonitoringRuleOptions(
45+
evaluation_window=SecurityMonitoringRuleEvaluationWindow.FIFTEEN_MINUTES,
46+
keep_alive=SecurityMonitoringRuleKeepAlive.ONE_HOUR,
47+
max_signal_duration=SecurityMonitoringRuleMaxSignalDuration.ONE_DAY,
48+
),
49+
message="Test rule",
50+
tags=[],
51+
is_enabled=True,
52+
type=SecurityMonitoringRuleTypeCreate.LOG_DETECTION,
53+
)
54+
55+
configuration = Configuration()
56+
with ApiClient(configuration) as api_client:
57+
api_instance = SecurityMonitoringApi(api_client)
58+
response = api_instance.convert_security_monitoring_rule_from_json_to_terraform(body=body)
59+
60+
print(response)

src/datadog_api_client/v2/api/security_monitoring_api.py

Lines changed: 84 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,13 @@
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_payload import SecurityMonitoringRuleConvertPayload
49+
from datadog_api_client.v2.model.security_monitoring_standard_rule_payload import SecurityMonitoringStandardRulePayload
50+
from datadog_api_client.v2.model.security_monitoring_signal_rule_payload import SecurityMonitoringSignalRulePayload
4751
from datadog_api_client.v2.model.security_monitoring_rule_test_response import SecurityMonitoringRuleTestResponse
4852
from datadog_api_client.v2.model.security_monitoring_rule_test_request import SecurityMonitoringRuleTestRequest
4953
from datadog_api_client.v2.model.security_monitoring_rule_validate_payload import SecurityMonitoringRuleValidatePayload
50-
from datadog_api_client.v2.model.security_monitoring_standard_rule_payload import SecurityMonitoringStandardRulePayload
51-
from datadog_api_client.v2.model.security_monitoring_signal_rule_payload import SecurityMonitoringSignalRulePayload
5254
from datadog_api_client.v2.model.cloud_configuration_rule_payload import CloudConfigurationRulePayload
5355
from datadog_api_client.v2.model.security_monitoring_rule_update_payload import SecurityMonitoringRuleUpdatePayload
5456
from datadog_api_client.v2.model.security_monitoring_signals_list_response import SecurityMonitoringSignalsListResponse
@@ -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": (SecurityMonitoringRuleConvertPayload,),
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,43 @@ 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+
SecurityMonitoringRuleConvertPayload,
855+
SecurityMonitoringStandardRulePayload,
856+
SecurityMonitoringSignalRulePayload,
857+
],
858+
) -> SecurityMonitoringRuleConvertResponse:
859+
"""Convert a rule from JSON to Terraform.
860+
861+
Convert a rule that doesn't (yet) exist from JSON to Terraform.
862+
863+
:type body: SecurityMonitoringRuleConvertPayload
864+
:rtype: SecurityMonitoringRuleConvertResponse
865+
"""
866+
kwargs: Dict[str, Any] = {}
867+
kwargs["body"] = body
868+
869+
return self._convert_security_monitoring_rule_from_json_to_terraform_endpoint.call_with_http_info(**kwargs)
870+
789871
def create_security_filter(
790872
self,
791873
body: SecurityFilterCreateRequest,

0 commit comments

Comments
 (0)