Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
392 changes: 392 additions & 0 deletions .generator/schemas/v2/openapi.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2026-08-03T09:17:25.445Z

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2026-08-03T09:17:28.616Z

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Create a severity modifier rule returns "Successfully created the severity modifier rule" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.create_security_findings_automation_severity_modifier_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new

body = DatadogAPIClient::V2::SeverityModifierRuleCreateRequest.new({
data: DatadogAPIClient::V2::SeverityModifierRuleDataCreate.new({
attributes: DatadogAPIClient::V2::SeverityModifierRuleAttributesCreate.new({
action: DatadogAPIClient::V2::SeverityModifierRuleSetAction.new({
description: "Lower severity for dev environment noise",
severity: DatadogAPIClient::V2::SeverityModifierSeverity::LOW,
type: DatadogAPIClient::V2::SeverityModifierRuleSetActionType::SET,
}),
enabled: true,
name: "Downgrade misconfigurations in dev",
rule: DatadogAPIClient::V2::AutomationRuleScope.new({
finding_types: [
DatadogAPIClient::V2::SecurityFindingType::MISCONFIGURATION,
],
query: "env:prod team:platform",
}),
}),
type: DatadogAPIClient::V2::SeverityModifierRuleType::SEVERITY_MODIFIER_RULES,
}),
})
p api_instance.create_security_findings_automation_severity_modifier_rule(body)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Delete a severity modifier rule returns "Rule successfully deleted." response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.delete_security_findings_automation_severity_modifier_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new

# there is a valid "valid_severity_modifier_rule" in the system
VALID_SEVERITY_MODIFIER_RULE_DATA_ID = ENV["VALID_SEVERITY_MODIFIER_RULE_DATA_ID"]
api_instance.delete_security_findings_automation_severity_modifier_rule(VALID_SEVERITY_MODIFIER_RULE_DATA_ID)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Get a severity modifier rule returns "Successfully retrieved the severity modifier rule" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.get_security_findings_automation_severity_modifier_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new

# there is a valid "valid_severity_modifier_rule" in the system
VALID_SEVERITY_MODIFIER_RULE_DATA_ID = ENV["VALID_SEVERITY_MODIFIER_RULE_DATA_ID"]
p api_instance.get_security_findings_automation_severity_modifier_rule(VALID_SEVERITY_MODIFIER_RULE_DATA_ID)
9 changes: 9 additions & 0 deletions features/scenarios_model_mapping.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2130,6 +2130,15 @@
"rule_id" => "UUID",
"body" => "MuteRuleUpdateRequest",
},
"v2.CreateSecurityFindingsAutomationSeverityModifierRule" => {
"body" => "SeverityModifierRuleCreateRequest",
},
"v2.DeleteSecurityFindingsAutomationSeverityModifierRule" => {
"rule_id" => "UUID",
},
"v2.GetSecurityFindingsAutomationSeverityModifierRule" => {
"rule_id" => "UUID",
},
"v2.ListSecurityFindingsAutomationTicketCreationRules" => {
"page_size" => "Integer",
"page_number" => "Integer",
Expand Down
12 changes: 12 additions & 0 deletions features/v2/given.json
Original file line number Diff line number Diff line change
Expand Up @@ -1354,6 +1354,18 @@
"tag": "Security Monitoring",
"operationId": "CreateSecurityFindingsAutomationMuteRule"
},
{
"parameters": [
{
"name": "body",
"value": "{\n \"data\": {\n \"type\": \"severity_modifier_rules\",\n \"attributes\": {\n \"name\": \"{{ unique }}\",\n \"enabled\": true,\n \"rule\": {\n \"finding_types\": [\"misconfiguration\"],\n \"query\": \"env:staging\"\n },\n \"action\": {\n \"type\": \"set\",\n \"severity\": \"low\"\n }\n }\n }\n}"
}
],
"step": "there is a valid \"valid_severity_modifier_rule\" in the system",
"key": "valid_severity_modifier_rule",
"tag": "Security Monitoring",
"operationId": "CreateSecurityFindingsAutomationSeverityModifierRule"
},
{
"parameters": [
{
Expand Down
60 changes: 60 additions & 0 deletions features/v2/security_monitoring.feature
Original file line number Diff line number Diff line change
Expand Up @@ -952,6 +952,30 @@ Feature: Security Monitoring
And the response "data.attributes.exclusion_filters[0].name" is equal to "Exclude staging"
And the response "data.attributes.exclusion_filters[0].query" is equal to "source:staging"

@generated @skip @team:DataDog/k9-automation
Scenario: Create a severity modifier rule returns "Bad Request" response
Given operation "CreateSecurityFindingsAutomationSeverityModifierRule" enabled
And new "CreateSecurityFindingsAutomationSeverityModifierRule" request
And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "severity_modifier_rules"}}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/k9-automation
Scenario: Create a severity modifier rule returns "Successfully created the severity modifier rule" response
Given operation "CreateSecurityFindingsAutomationSeverityModifierRule" enabled
And new "CreateSecurityFindingsAutomationSeverityModifierRule" request
And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "severity_modifier_rules"}}
When the request is sent
Then the response status is 201 Successfully created the severity modifier rule

@generated @skip @team:DataDog/k9-automation
Scenario: Create a severity modifier rule returns "Unprocessable Entity" response
Given operation "CreateSecurityFindingsAutomationSeverityModifierRule" enabled
And new "CreateSecurityFindingsAutomationSeverityModifierRule" request
And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "severity_modifier_rules"}}
When the request is sent
Then the response status is 422 Unprocessable Entity

@generated @skip @team:DataDog/cloud-siem
Scenario: Create a suppression rule returns "Bad Request" response
Given new "CreateSecurityMonitoringSuppression" request
Expand Down Expand Up @@ -1265,6 +1289,23 @@ Feature: Security Monitoring
When the request is sent
Then the response status is 204 OK

@generated @skip @team:DataDog/k9-automation
Scenario: Delete a severity modifier rule returns "Not Found" response
Given operation "DeleteSecurityFindingsAutomationSeverityModifierRule" enabled
And new "DeleteSecurityFindingsAutomationSeverityModifierRule" request
And request contains "rule_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 404 Not Found

@team:DataDog/k9-automation
Scenario: Delete a severity modifier rule returns "Rule successfully deleted." response
Given operation "DeleteSecurityFindingsAutomationSeverityModifierRule" enabled
And there is a valid "valid_severity_modifier_rule" in the system
And new "DeleteSecurityFindingsAutomationSeverityModifierRule" request
And request contains "rule_id" parameter from "valid_severity_modifier_rule.data.id"
When the request is sent
Then the response status is 204 Rule successfully deleted.

@team:DataDog/cloud-security-posture-management
Scenario: Delete a signal-based notification rule returns "Not Found" response
Given new "DeleteSignalNotificationRule" request
Expand Down Expand Up @@ -1866,6 +1907,25 @@ Feature: Security Monitoring
And the response "data.attributes.exclusion_filters[0].name" is equal to "Exclude logs from staging"
And the response "data.attributes.exclusion_filters[0].query" is equal to "source:staging"

@generated @skip @team:DataDog/k9-automation
Scenario: Get a severity modifier rule returns "Not Found" response
Given operation "GetSecurityFindingsAutomationSeverityModifierRule" enabled
And new "GetSecurityFindingsAutomationSeverityModifierRule" request
And request contains "rule_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 404 Not Found

@team:DataDog/k9-automation
Scenario: Get a severity modifier rule returns "Successfully retrieved the severity modifier rule" response
Given operation "GetSecurityFindingsAutomationSeverityModifierRule" enabled
And there is a valid "valid_severity_modifier_rule" in the system
And new "GetSecurityFindingsAutomationSeverityModifierRule" request
And request contains "rule_id" parameter from "valid_severity_modifier_rule.data.id"
When the request is sent
Then the response status is 200 Successfully retrieved the severity modifier rule
And the response "data.id" is equal to "{{ valid_severity_modifier_rule.data.id }}"
And the response "data.type" is equal to "severity_modifier_rules"

@replay-only @team:DataDog/cloud-siem
Scenario: Get a signal's details returns "Not Found" response
Given new "GetSecurityMonitoringSignal" request
Expand Down
25 changes: 25 additions & 0 deletions features/v2/undo.json
Original file line number Diff line number Diff line change
Expand Up @@ -7454,6 +7454,31 @@
"type": "idempotent"
}
},
"CreateSecurityFindingsAutomationSeverityModifierRule": {
"tag": "Security Monitoring",
"undo": {
"operationId": "DeleteSecurityFindingsAutomationSeverityModifierRule",
"parameters": [
{
"name": "rule_id",
"source": "data.id"
}
],
"type": "unsafe"
}
},
"DeleteSecurityFindingsAutomationSeverityModifierRule": {
"tag": "Security Monitoring",
"undo": {
"type": "idempotent"
}
},
"GetSecurityFindingsAutomationSeverityModifierRule": {
"tag": "Security Monitoring",
"undo": {
"type": "safe"
}
},
"ListSecurityFindingsAutomationTicketCreationRules": {
"tag": "Security Monitoring",
"undo": {
Expand Down
3 changes: 3 additions & 0 deletions lib/datadog_api_client/configuration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,7 @@ def initialize
"v2.create_sample_log_generation_subscription": false,
"v2.create_security_findings_automation_due_date_rule": false,
"v2.create_security_findings_automation_mute_rule": false,
"v2.create_security_findings_automation_severity_modifier_rule": false,
"v2.create_security_findings_automation_ticket_creation_rule": false,
"v2.create_security_monitoring_dataset": false,
"v2.create_security_monitoring_integration_config": false,
Expand All @@ -316,6 +317,7 @@ def initialize
"v2.delete_sample_log_generation_subscription": false,
"v2.delete_security_findings_automation_due_date_rule": false,
"v2.delete_security_findings_automation_mute_rule": false,
"v2.delete_security_findings_automation_severity_modifier_rule": false,
"v2.delete_security_findings_automation_ticket_creation_rule": false,
"v2.delete_security_monitoring_dataset": false,
"v2.delete_security_monitoring_integration_config": false,
Expand All @@ -330,6 +332,7 @@ def initialize
"v2.get_secrets_rules": false,
"v2.get_security_findings_automation_due_date_rule": false,
"v2.get_security_findings_automation_mute_rule": false,
"v2.get_security_findings_automation_severity_modifier_rule": false,
"v2.get_security_findings_automation_ticket_creation_rule": false,
"v2.get_security_monitoring_dataset": false,
"v2.get_security_monitoring_dataset_by_version": false,
Expand Down
14 changes: 14 additions & 0 deletions lib/datadog_api_client/inflector.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7268,6 +7268,20 @@ def overrides
"v2.service_repository_info_status" => "ServiceRepositoryInfoStatus",
"v2.session_id_array" => "SessionIdArray",
"v2.session_id_data" => "SessionIdData",
"v2.severity_modifier_rule_action" => "SeverityModifierRuleAction",
"v2.severity_modifier_rule_attributes_create" => "SeverityModifierRuleAttributesCreate",
"v2.severity_modifier_rule_attributes_response" => "SeverityModifierRuleAttributesResponse",
"v2.severity_modifier_rule_create_request" => "SeverityModifierRuleCreateRequest",
"v2.severity_modifier_rule_data_create" => "SeverityModifierRuleDataCreate",
"v2.severity_modifier_rule_data_response" => "SeverityModifierRuleDataResponse",
"v2.severity_modifier_rule_response" => "SeverityModifierRuleResponse",
"v2.severity_modifier_rule_set_action" => "SeverityModifierRuleSetAction",
"v2.severity_modifier_rule_set_action_type" => "SeverityModifierRuleSetActionType",
"v2.severity_modifier_rule_shift_action" => "SeverityModifierRuleShiftAction",
"v2.severity_modifier_rule_shift_action_type" => "SeverityModifierRuleShiftActionType",
"v2.severity_modifier_rule_type" => "SeverityModifierRuleType",
"v2.severity_modifier_severity" => "SeverityModifierSeverity",
"v2.severity_modifier_severity_delta" => "SeverityModifierSeverityDelta",
"v2.shared_dashboard_included" => "SharedDashboardIncluded",
"v2.shared_dashboard_included_dashboard" => "SharedDashboardIncludedDashboard",
"v2.shared_dashboard_included_dashboard_attributes" => "SharedDashboardIncludedDashboardAttributes",
Expand Down
Loading
Loading