Skip to content

Commit e4dd8c4

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

11 files changed

Lines changed: 447 additions & 0 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76342,6 +76342,53 @@ components:
7634276342
required:
7634376343
- status
7634476344
type: object
76345+
SecurityMonitoringRuleConvertBulkAttributes:
76346+
description: Attributes for bulk converting security monitoring rules to Terraform.
76347+
properties:
76348+
ruleIds:
76349+
description: "List of rule IDs to convert. Each rule will be included in the resulting ZIP file\nas a separate Terraform file."
76350+
example:
76351+
- def-000-u7q
76352+
- def-000-7dd
76353+
items:
76354+
description: A rule ID to include in the bulk convert.
76355+
type: string
76356+
minItems: 1
76357+
type: array
76358+
required:
76359+
- ruleIds
76360+
type: object
76361+
SecurityMonitoringRuleConvertBulkData:
76362+
description: Data for bulk converting security monitoring rules to Terraform.
76363+
properties:
76364+
attributes:
76365+
$ref: "#/components/schemas/SecurityMonitoringRuleConvertBulkAttributes"
76366+
id:
76367+
description: Request ID.
76368+
example: convert_bulk
76369+
type: string
76370+
type:
76371+
$ref: "#/components/schemas/SecurityMonitoringRuleConvertBulkDataType"
76372+
required:
76373+
- attributes
76374+
- type
76375+
type: object
76376+
SecurityMonitoringRuleConvertBulkDataType:
76377+
description: The type of the resource.
76378+
enum:
76379+
- security_monitoring_rules_convert_bulk
76380+
example: security_monitoring_rules_convert_bulk
76381+
type: string
76382+
x-enum-varnames:
76383+
- SECURITY_MONITORING_RULES_CONVERT_BULK
76384+
SecurityMonitoringRuleConvertBulkPayload:
76385+
description: Payload for bulk converting security monitoring rules to Terraform.
76386+
properties:
76387+
data:
76388+
$ref: "#/components/schemas/SecurityMonitoringRuleConvertBulkData"
76389+
required:
76390+
- data
76391+
type: object
7634576392
SecurityMonitoringRuleConvertPayload:
7634676393
description: Convert a rule from JSON to Terraform.
7634776394
oneOf:
@@ -153879,6 +153926,63 @@ paths:
153879153926
operator: OR
153880153927
permissions:
153881153928
- security_monitoring_rules_write
153929+
/api/v2/security_monitoring/rules/convert/bulk:
153930+
post:
153931+
description: |-
153932+
Convert a list of existing security monitoring rules to Terraform for the Datadog provider
153933+
resource `datadog_security_monitoring_rule`. Returns a ZIP archive containing one Terraform
153934+
file per rule. You can convert rules for the following types:
153935+
- App and API Protection
153936+
- Cloud SIEM (log detection and signal correlation)
153937+
- Workload Protection
153938+
operationId: BulkConvertExistingSecurityMonitoringRules
153939+
requestBody:
153940+
content:
153941+
"application/json":
153942+
examples:
153943+
default:
153944+
value:
153945+
data:
153946+
attributes:
153947+
ruleIds:
153948+
- def-000-u7q
153949+
- def-000-7dd
153950+
id: convert_bulk
153951+
type: security_monitoring_rules_convert_bulk
153952+
schema:
153953+
$ref: "#/components/schemas/SecurityMonitoringRuleConvertBulkPayload"
153954+
required: true
153955+
responses:
153956+
"200":
153957+
content:
153958+
application/zip:
153959+
examples:
153960+
default:
153961+
value: "<binary zip data>"
153962+
schema:
153963+
format: binary
153964+
type: string
153965+
description: OK
153966+
"400":
153967+
$ref: "#/components/responses/BadRequestResponse"
153968+
"403":
153969+
$ref: "#/components/responses/NotAuthorizedResponse"
153970+
"404":
153971+
$ref: "#/components/responses/NotFoundResponse"
153972+
"429":
153973+
$ref: "#/components/responses/TooManyRequestsResponse"
153974+
security:
153975+
- apiKeyAuth: []
153976+
appKeyAuth: []
153977+
- AuthZ:
153978+
- security_monitoring_rules_read
153979+
summary: Bulk convert rules to Terraform
153980+
tags: ["Security Monitoring"]
153981+
x-codegen-request-body-name: body
153982+
"x-permission":
153983+
operator: OR
153984+
permissions:
153985+
- security_monitoring_rules_read
153882153986
/api/v2/security_monitoring/rules/test:
153883153987
post:
153884153988
description: |-

docs/datadog_api_client.v2.model.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33240,6 +33240,34 @@ datadog\_api\_client.v2.model.security\_monitoring\_rule\_case\_create module
3324033240
:members:
3324133241
:show-inheritance:
3324233242

33243+
datadog\_api\_client.v2.model.security\_monitoring\_rule\_convert\_bulk\_attributes module
33244+
------------------------------------------------------------------------------------------
33245+
33246+
.. automodule:: datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_attributes
33247+
:members:
33248+
:show-inheritance:
33249+
33250+
datadog\_api\_client.v2.model.security\_monitoring\_rule\_convert\_bulk\_data module
33251+
------------------------------------------------------------------------------------
33252+
33253+
.. automodule:: datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_data
33254+
:members:
33255+
:show-inheritance:
33256+
33257+
datadog\_api\_client.v2.model.security\_monitoring\_rule\_convert\_bulk\_data\_type module
33258+
------------------------------------------------------------------------------------------
33259+
33260+
.. automodule:: datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_data_type
33261+
:members:
33262+
:show-inheritance:
33263+
33264+
datadog\_api\_client.v2.model.security\_monitoring\_rule\_convert\_bulk\_payload module
33265+
---------------------------------------------------------------------------------------
33266+
33267+
.. automodule:: datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_payload
33268+
:members:
33269+
:show-inheritance:
33270+
3324333271
datadog\_api\_client.v2.model.security\_monitoring\_rule\_convert\_payload module
3324433272
---------------------------------------------------------------------------------
3324533273

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
"""
2+
Bulk convert rules 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_convert_bulk_attributes import (
8+
SecurityMonitoringRuleConvertBulkAttributes,
9+
)
10+
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_data import SecurityMonitoringRuleConvertBulkData
11+
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_data_type import (
12+
SecurityMonitoringRuleConvertBulkDataType,
13+
)
14+
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_payload import (
15+
SecurityMonitoringRuleConvertBulkPayload,
16+
)
17+
18+
body = SecurityMonitoringRuleConvertBulkPayload(
19+
data=SecurityMonitoringRuleConvertBulkData(
20+
attributes=SecurityMonitoringRuleConvertBulkAttributes(
21+
rule_ids=[
22+
"def-000-u7q",
23+
"def-000-7dd",
24+
],
25+
),
26+
id="convert_bulk",
27+
type=SecurityMonitoringRuleConvertBulkDataType.SECURITY_MONITORING_RULES_CONVERT_BULK,
28+
),
29+
)
30+
31+
configuration = Configuration()
32+
with ApiClient(configuration) as api_client:
33+
api_instance = SecurityMonitoringApi(api_client)
34+
response = api_instance.bulk_convert_existing_security_monitoring_rules(body=body)
35+
36+
print(response.read())

src/datadog_api_client/v2/api/security_monitoring_api.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,9 @@
166166
from datadog_api_client.v2.model.security_monitoring_rule_convert_payload import SecurityMonitoringRuleConvertPayload
167167
from datadog_api_client.v2.model.security_monitoring_standard_rule_payload import SecurityMonitoringStandardRulePayload
168168
from datadog_api_client.v2.model.security_monitoring_signal_rule_payload import SecurityMonitoringSignalRulePayload
169+
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_payload import (
170+
SecurityMonitoringRuleConvertBulkPayload,
171+
)
169172
from datadog_api_client.v2.model.security_monitoring_rule_test_response import SecurityMonitoringRuleTestResponse
170173
from datadog_api_client.v2.model.security_monitoring_rule_test_request import SecurityMonitoringRuleTestRequest
171174
from datadog_api_client.v2.model.security_monitoring_rule_validate_payload import SecurityMonitoringRuleValidatePayload
@@ -353,6 +356,26 @@ def __init__(self, api_client=None):
353356
api_client=api_client,
354357
)
355358

359+
self._bulk_convert_existing_security_monitoring_rules_endpoint = _Endpoint(
360+
settings={
361+
"response_type": (file_type,),
362+
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
363+
"endpoint_path": "/api/v2/security_monitoring/rules/convert/bulk",
364+
"operation_id": "bulk_convert_existing_security_monitoring_rules",
365+
"http_method": "POST",
366+
"version": "v2",
367+
},
368+
params_map={
369+
"body": {
370+
"required": True,
371+
"openapi_types": (SecurityMonitoringRuleConvertBulkPayload,),
372+
"location": "body",
373+
},
374+
},
375+
headers_map={"accept": ["application/zip", "application/json"], "content_type": ["application/json"]},
376+
api_client=api_client,
377+
)
378+
356379
self._bulk_create_sample_log_generation_subscriptions_endpoint = _Endpoint(
357380
settings={
358381
"response_type": (SampleLogGenerationBulkSubscriptionResponse,),
@@ -3892,6 +3915,28 @@ def batch_get_security_monitoring_dataset_dependencies(
38923915

38933916
return self._batch_get_security_monitoring_dataset_dependencies_endpoint.call_with_http_info(**kwargs)
38943917

3918+
def bulk_convert_existing_security_monitoring_rules(
3919+
self,
3920+
body: SecurityMonitoringRuleConvertBulkPayload,
3921+
) -> file_type:
3922+
"""Bulk convert rules to Terraform.
3923+
3924+
Convert a list of existing security monitoring rules to Terraform for the Datadog provider
3925+
resource ``datadog_security_monitoring_rule``. Returns a ZIP archive containing one Terraform
3926+
file per rule. You can convert rules for the following types:
3927+
3928+
* App and API Protection
3929+
* Cloud SIEM (log detection and signal correlation)
3930+
* Workload Protection
3931+
3932+
:type body: SecurityMonitoringRuleConvertBulkPayload
3933+
:rtype: file_type
3934+
"""
3935+
kwargs: Dict[str, Any] = {}
3936+
kwargs["body"] = body
3937+
3938+
return self._bulk_convert_existing_security_monitoring_rules_endpoint.call_with_http_info(**kwargs)
3939+
38953940
def bulk_create_sample_log_generation_subscriptions(
38963941
self,
38973942
body: SampleLogGenerationBulkSubscriptionRequest,
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
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+
from typing import List
7+
8+
from datadog_api_client.model_utils import (
9+
ModelNormal,
10+
cached_property,
11+
)
12+
13+
14+
class SecurityMonitoringRuleConvertBulkAttributes(ModelNormal):
15+
validations = {
16+
"rule_ids": {
17+
"min_items": 1,
18+
},
19+
}
20+
21+
@cached_property
22+
def openapi_types(_):
23+
return {
24+
"rule_ids": ([str],),
25+
}
26+
27+
attribute_map = {
28+
"rule_ids": "ruleIds",
29+
}
30+
31+
def __init__(self_, rule_ids: List[str], **kwargs):
32+
"""
33+
Attributes for bulk converting security monitoring rules to Terraform.
34+
35+
:param rule_ids: List of rule IDs to convert. Each rule will be included in the resulting ZIP file
36+
as a separate Terraform file.
37+
:type rule_ids: [str]
38+
"""
39+
super().__init__(kwargs)
40+
41+
self_.rule_ids = rule_ids
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
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+
from typing import Union, TYPE_CHECKING
7+
8+
from datadog_api_client.model_utils import (
9+
ModelNormal,
10+
cached_property,
11+
unset,
12+
UnsetType,
13+
)
14+
15+
16+
if TYPE_CHECKING:
17+
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_attributes import (
18+
SecurityMonitoringRuleConvertBulkAttributes,
19+
)
20+
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_data_type import (
21+
SecurityMonitoringRuleConvertBulkDataType,
22+
)
23+
24+
25+
class SecurityMonitoringRuleConvertBulkData(ModelNormal):
26+
@cached_property
27+
def openapi_types(_):
28+
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_attributes import (
29+
SecurityMonitoringRuleConvertBulkAttributes,
30+
)
31+
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_data_type import (
32+
SecurityMonitoringRuleConvertBulkDataType,
33+
)
34+
35+
return {
36+
"attributes": (SecurityMonitoringRuleConvertBulkAttributes,),
37+
"id": (str,),
38+
"type": (SecurityMonitoringRuleConvertBulkDataType,),
39+
}
40+
41+
attribute_map = {
42+
"attributes": "attributes",
43+
"id": "id",
44+
"type": "type",
45+
}
46+
47+
def __init__(
48+
self_,
49+
attributes: SecurityMonitoringRuleConvertBulkAttributes,
50+
type: SecurityMonitoringRuleConvertBulkDataType,
51+
id: Union[str, UnsetType] = unset,
52+
**kwargs,
53+
):
54+
"""
55+
Data for bulk converting security monitoring rules to Terraform.
56+
57+
:param attributes: Attributes for bulk converting security monitoring rules to Terraform.
58+
:type attributes: SecurityMonitoringRuleConvertBulkAttributes
59+
60+
:param id: Request ID.
61+
:type id: str, optional
62+
63+
:param type: The type of the resource.
64+
:type type: SecurityMonitoringRuleConvertBulkDataType
65+
"""
66+
if id is not unset:
67+
kwargs["id"] = id
68+
super().__init__(kwargs)
69+
70+
self_.attributes = attributes
71+
self_.type = type

0 commit comments

Comments
 (0)