Skip to content

Commit 4e2e2a8

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Fix the Convert To Terraform Cassettes (#2765)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent d265483 commit 4e2e2a8

9 files changed

+35
-25
lines changed

.generated-info

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"spec_repo_commit": "c3e3e39",
3-
"generated": "2025-08-13 13:35:59.473"
2+
"spec_repo_commit": "8001cbb",
3+
"generated": "2025-08-13 20:27:33.480"
44
}

examples/v2/security-monitoring/ConvertExistingSecurityMonitoringRule.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
from datadog_api_client import ApiClient, Configuration
77
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
88

9-
# there is a valid "security_rule" in the system
10-
SECURITY_RULE_ID = environ["SECURITY_RULE_ID"]
9+
# there is a valid "security_rule_hash" in the system
10+
SECURITY_RULE_HASH_ID = environ["SECURITY_RULE_HASH_ID"]
1111

1212
configuration = Configuration()
1313
with ApiClient(configuration) as api_client:
1414
api_instance = SecurityMonitoringApi(api_client)
1515
response = api_instance.convert_existing_security_monitoring_rule(
16-
rule_id=SECURITY_RULE_ID,
16+
rule_id=SECURITY_RULE_HASH_ID,
1717
)
1818

1919
print(response)

examples/v2/security-monitoring/ConvertSecurityMonitoringRuleFromJSONToTerraform.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from datadog_api_client.v2.model.security_monitoring_standard_rule_query import SecurityMonitoringStandardRuleQuery
2323

2424
body = SecurityMonitoringStandardRulePayload(
25-
name="Example-Security-Monitoring",
25+
name="_49768568946de993",
2626
queries=[
2727
SecurityMonitoringStandardRuleQuery(
2828
query="@test:true",
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025-04-24T11:34:50.866Z
1+
2025-08-13T20:13:44.192Z

tests/v2/cassettes/test_scenarios/test_convert_a_rule_from_json_to_terraform_returns_ok_response.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
interactions:
22
- request:
33
body: '{"cases":[{"condition":"a > 0","name":"","notifications":[],"status":"info"}],"filters":[],"isEnabled":true,"message":"Test
4-
rule","name":"Test-Convert_a_rule_from_JSON_to_Terraform_returns_OK_response-1745494490","options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"queries":[{"aggregation":"count","distinctFields":[],"groupByFields":[],"metric":"","query":"@test:true"}],"tags":[],"type":"log_detection"}'
4+
rule","name":"_b87eac89722bbff0","options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"queries":[{"aggregation":"count","distinctFields":[],"groupByFields":[],"metric":"","query":"@test:true"}],"tags":[],"type":"log_detection"}'
55
headers:
66
accept:
77
- application/json
@@ -12,9 +12,8 @@ interactions:
1212
response:
1313
body:
1414
string: '{"terraformContent":"resource \"datadog_security_monitoring_rule\"
15-
\"test-convert_a_rule_from_json_to_terraform_returns_ok_response-1745494490\"
16-
{\n\tname = \"Test-Convert_a_rule_from_JSON_to_Terraform_returns_OK_response-1745494490\"\n\tenabled
17-
= true\n\tquery {\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields
15+
\"_b87eac89722bbff0\" {\n\tname = \"_b87eac89722bbff0\"\n\tenabled = true\n\tquery
16+
{\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields
1817
= []\n\t\taggregation = \"count\"\n\t\tname = \"\"\n\t\tdata_source = \"logs\"\n\t}\n\toptions
1918
{\n\t\tkeep_alive = 3600\n\t\tmax_signal_duration = 86400\n\t\tdetection_method
2019
= \"threshold\"\n\t\tevaluation_window = 900\n\t}\n\tcase {\n\t\tname = \"\"\n\t\tstatus
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025-04-24T11:34:51.208Z
1+
2025-08-13T20:13:44.611Z

tests/v2/cassettes/test_scenarios/test_convert_an_existing_rule_from_json_to_terraform_returns_ok_response.yaml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
interactions:
22
- request:
33
body: '{"cases":[{"condition":"a > 0","name":"","notifications":[],"status":"info"}],"filters":[],"isEnabled":true,"message":"Test
4-
rule","name":"Test-Convert_an_existing_rule_from_JSON_to_Terraform_returns_OK_response-1745494491","options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"queries":[{"aggregation":"count","distinctFields":[],"groupByFields":[],"metrics":[],"query":"@test:true"}],"tags":[],"type":"log_detection"}'
4+
rule","name":"_1166a375f2500467","options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"queries":[{"aggregation":"count","distinctFields":[],"groupByFields":[],"metrics":[],"query":"@test:true"}],"tags":[],"type":"log_detection"}'
55
headers:
66
accept:
77
- application/json
@@ -11,8 +11,8 @@ interactions:
1111
uri: https://api.datadoghq.com/api/v2/security_monitoring/rules
1212
response:
1313
body:
14-
string: '{"name":"Test-Convert_an_existing_rule_from_JSON_to_Terraform_returns_OK_response-1745494491","createdAt":1745494491502,"isDefault":false,"isPartner":false,"isEnabled":true,"isBeta":false,"isDeleted":false,"isDeprecated":false,"queries":[{"query":"@test:true","groupByFields":[],"hasOptionalGroupByFields":false,"distinctFields":[],"aggregation":"count","name":"","dataSource":"logs"}],"options":{"evaluationWindow":900,"detectionMethod":"threshold","maxSignalDuration":86400,"keepAlive":3600},"cases":[{"name":"","status":"info","notifications":[],"condition":"a
15-
\u003e 0"}],"message":"Test rule","tags":[],"hasExtendedTitle":false,"type":"log_detection","filters":[],"version":1,"id":"e60-iv6-d7e","blocking":false,"metadata":{"entities":null,"sources":null},"creationAuthorId":1445416,"creator":{"handle":"[email protected]","name":"frog"},"updater":{"handle":"","name":""}}'
14+
string: '{"name":"_1166a375f2500467","createdAt":1755116024952,"isDefault":false,"isPartner":false,"isEnabled":true,"isBeta":false,"isDeleted":false,"isDeprecated":false,"queries":[{"query":"@test:true","groupByFields":[],"hasOptionalGroupByFields":false,"distinctFields":[],"aggregation":"count","name":"","dataSource":"logs"}],"options":{"evaluationWindow":900,"detectionMethod":"threshold","maxSignalDuration":86400,"keepAlive":3600},"cases":[{"name":"","status":"info","notifications":[],"condition":"a
15+
\u003e 0"}],"message":"Test rule","tags":[],"hasExtendedTitle":false,"type":"log_detection","filters":[],"version":1,"id":"shm-tx8-e8x","blocking":false,"metadata":{"entities":null,"sources":null},"creationAuthorId":1445416,"creator":{"handle":"[email protected]","name":"frog"},"updater":{"handle":"","name":""}}'
1616
headers:
1717
content-type:
1818
- application/json
@@ -25,13 +25,12 @@ interactions:
2525
accept:
2626
- application/json
2727
method: GET
28-
uri: https://api.datadoghq.com/api/v2/security_monitoring/rules/e60-iv6-d7e/convert
28+
uri: https://api.datadoghq.com/api/v2/security_monitoring/rules/shm-tx8-e8x/convert
2929
response:
3030
body:
3131
string: '{"terraformContent":"resource \"datadog_security_monitoring_rule\"
32-
\"test-convert_an_existing_rule_from_json_to_terraform_returns_ok_response-1745494491\"
33-
{\n\tname = \"Test-Convert_an_existing_rule_from_JSON_to_Terraform_returns_OK_response-1745494491\"\n\tenabled
34-
= true\n\tquery {\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields
32+
\"_1166a375f2500467\" {\n\tname = \"_1166a375f2500467\"\n\tenabled = true\n\tquery
33+
{\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields
3534
= []\n\t\taggregation = \"count\"\n\t\tname = \"\"\n\t\tdata_source = \"logs\"\n\t}\n\toptions
3635
{\n\t\tkeep_alive = 3600\n\t\tmax_signal_duration = 86400\n\t\tdetection_method
3736
= \"threshold\"\n\t\tevaluation_window = 900\n\t}\n\tcase {\n\t\tname = \"\"\n\t\tstatus
@@ -49,7 +48,7 @@ interactions:
4948
accept:
5049
- '*/*'
5150
method: DELETE
52-
uri: https://api.datadoghq.com/api/v2/security_monitoring/rules/e60-iv6-d7e
51+
uri: https://api.datadoghq.com/api/v2/security_monitoring/rules/shm-tx8-e8x
5352
response:
5453
body:
5554
string: ''

tests/v2/features/given.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,18 @@
804804
"tag": "Security Monitoring",
805805
"operationId": "CreateSecurityMonitoringRule"
806806
},
807+
{
808+
"parameters": [
809+
{
810+
"name": "body",
811+
"value": "{\n \"name\": \"_{{ unique_hash }}\",\n \"queries\": [{\n \"query\": \"@test:true\",\n \"aggregation\": \"count\",\n \"groupByFields\": [],\n \"distinctFields\": [],\n \"metrics\": []\n }],\n \"filters\": [],\n \"cases\": [{\n \"name\": \"\",\n \"status\": \"info\",\n \"condition\": \"a > 0\",\n \"notifications\": []\n }],\n \"options\": {\n \"evaluationWindow\": 900,\n \"keepAlive\": 3600,\n \"maxSignalDuration\": 86400\n },\n \"message\": \"Test rule\",\n \"tags\": [],\n \"isEnabled\": true,\n \"type\": \"log_detection\"\n}"
812+
}
813+
],
814+
"step": "there is a valid \"security_rule_hash\" in the system",
815+
"key": "security_rule_hash",
816+
"tag": "Security Monitoring",
817+
"operationId": "CreateSecurityMonitoringRule"
818+
},
807819
{
808820
"step": "a valid \"configuration\" in the system",
809821
"key": "configuration",

tests/v2/features/security_monitoring.feature

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,10 @@ Feature: Security Monitoring
132132
@team:DataDog/k9-cloud-security-platform
133133
Scenario: Convert a rule from JSON to Terraform returns "OK" response
134134
Given new "ConvertSecurityMonitoringRuleFromJSONToTerraform" request
135-
And body with value {"name":"{{ unique }}", "queries":[{"query":"@test:true","aggregation":"count","groupByFields":[],"distinctFields":[],"metric":""}],"filters":[],"cases":[{"name":"","status":"info","condition":"a > 0","notifications":[]}],"options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"message":"Test rule","tags":[],"isEnabled":true, "type":"log_detection"}
135+
And body with value {"name":"_{{ unique_hash }}", "queries":[{"query":"@test:true","aggregation":"count","groupByFields":[],"distinctFields":[],"metric":""}],"filters":[],"cases":[{"name":"","status":"info","condition":"a > 0","notifications":[]}],"options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"message":"Test rule","tags":[],"isEnabled":true, "type":"log_detection"}
136136
When the request is sent
137137
Then the response status is 200 OK
138-
And the response "terraformContent" is equal to "resource \"datadog_security_monitoring_rule\" \"{{ unique_lower }}\" {\n\tname = \"{{ unique }}\"\n\tenabled = true\n\tquery {\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields = []\n\t\taggregation = \"count\"\n\t\tname = \"\"\n\t\tdata_source = \"logs\"\n\t}\n\toptions {\n\t\tkeep_alive = 3600\n\t\tmax_signal_duration = 86400\n\t\tdetection_method = \"threshold\"\n\t\tevaluation_window = 900\n\t}\n\tcase {\n\t\tname = \"\"\n\t\tstatus = \"info\"\n\t\tnotifications = []\n\t\tcondition = \"a > 0\"\n\t}\n\tmessage = \"Test rule\"\n\ttags = []\n\thas_extended_title = false\n\ttype = \"log_detection\"\n}\n"
138+
And the response "terraformContent" is equal to "resource \"datadog_security_monitoring_rule\" \"_{{ unique_hash }}\" {\n\tname = \"_{{ unique_hash }}\"\n\tenabled = true\n\tquery {\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields = []\n\t\taggregation = \"count\"\n\t\tname = \"\"\n\t\tdata_source = \"logs\"\n\t}\n\toptions {\n\t\tkeep_alive = 3600\n\t\tmax_signal_duration = 86400\n\t\tdetection_method = \"threshold\"\n\t\tevaluation_window = 900\n\t}\n\tcase {\n\t\tname = \"\"\n\t\tstatus = \"info\"\n\t\tnotifications = []\n\t\tcondition = \"a > 0\"\n\t}\n\tmessage = \"Test rule\"\n\ttags = []\n\thas_extended_title = false\n\ttype = \"log_detection\"\n}\n"
139139

140140
@skip @team:DataDog/k9-cloud-security-platform
141141
Scenario: Convert an existing rule from JSON to Terraform returns "Bad Request" response
@@ -154,11 +154,11 @@ Feature: Security Monitoring
154154
@team:DataDog/k9-cloud-security-platform
155155
Scenario: Convert an existing rule from JSON to Terraform returns "OK" response
156156
Given new "ConvertExistingSecurityMonitoringRule" request
157-
And there is a valid "security_rule" in the system
158-
And request contains "rule_id" parameter from "security_rule.id"
157+
And there is a valid "security_rule_hash" in the system
158+
And request contains "rule_id" parameter from "security_rule_hash.id"
159159
When the request is sent
160160
Then the response status is 200 OK
161-
And the response "terraformContent" is equal to "resource \"datadog_security_monitoring_rule\" \"{{ unique_lower }}\" {\n\tname = \"{{ unique }}\"\n\tenabled = true\n\tquery {\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields = []\n\t\taggregation = \"count\"\n\t\tname = \"\"\n\t\tdata_source = \"logs\"\n\t}\n\toptions {\n\t\tkeep_alive = 3600\n\t\tmax_signal_duration = 86400\n\t\tdetection_method = \"threshold\"\n\t\tevaluation_window = 900\n\t}\n\tcase {\n\t\tname = \"\"\n\t\tstatus = \"info\"\n\t\tnotifications = []\n\t\tcondition = \"a > 0\"\n\t}\n\tmessage = \"Test rule\"\n\ttags = []\n\thas_extended_title = false\n\ttype = \"log_detection\"\n}\n"
161+
And the response "terraformContent" is equal to "resource \"datadog_security_monitoring_rule\" \"_{{ unique_hash }}\" {\n\tname = \"_{{ unique_hash }}\"\n\tenabled = true\n\tquery {\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields = []\n\t\taggregation = \"count\"\n\t\tname = \"\"\n\t\tdata_source = \"logs\"\n\t}\n\toptions {\n\t\tkeep_alive = 3600\n\t\tmax_signal_duration = 86400\n\t\tdetection_method = \"threshold\"\n\t\tevaluation_window = 900\n\t}\n\tcase {\n\t\tname = \"\"\n\t\tstatus = \"info\"\n\t\tnotifications = []\n\t\tcondition = \"a > 0\"\n\t}\n\tmessage = \"Test rule\"\n\ttags = []\n\thas_extended_title = false\n\ttype = \"log_detection\"\n}\n"
162162

163163
@skip-validation @team:DataDog/k9-cloud-security-platform
164164
Scenario: Create a cloud_configuration rule returns "OK" response

0 commit comments

Comments
 (0)