diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 21b4b1eb3..b0d3125fb 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -64883,7 +64883,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionUpdateRequest' + $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateRequest' required: true responses: '204': diff --git a/examples/v2_security-monitoring_ValidateSecurityMonitoringSuppression.rs b/examples/v2_security-monitoring_ValidateSecurityMonitoringSuppression.rs index 4d0d840e1..53766e0cb 100644 --- a/examples/v2_security-monitoring_ValidateSecurityMonitoringSuppression.rs +++ b/examples/v2_security-monitoring_ValidateSecurityMonitoringSuppression.rs @@ -1,24 +1,24 @@ // Validate a suppression rule returns "OK" response use datadog_api_client::datadog; use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI; +use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionCreateAttributes; +use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionCreateData; +use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionCreateRequest; use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionType; -use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionUpdateAttributes; -use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionUpdateData; -use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionUpdateRequest; #[tokio::main] async fn main() { - let body = SecurityMonitoringSuppressionUpdateRequest::new( - SecurityMonitoringSuppressionUpdateData::new( - SecurityMonitoringSuppressionUpdateAttributes::new() - .data_exclusion_query("source:cloudtrail account_id:12345".to_string()) - .description( - "This rule suppresses low-severity signals in staging environments." - .to_string(), - ) - .enabled(true) - .name("Custom suppression".to_string()) - .rule_query("type:log_detection source:cloudtrail".to_string()), + let body = SecurityMonitoringSuppressionCreateRequest::new( + SecurityMonitoringSuppressionCreateData::new( + SecurityMonitoringSuppressionCreateAttributes::new( + true, + "Custom suppression".to_string(), + "type:log_detection source:cloudtrail".to_string(), + ) + .data_exclusion_query("source:cloudtrail account_id:12345".to_string()) + .description( + "This rule suppresses low-severity signals in staging environments.".to_string(), + ), SecurityMonitoringSuppressionType::SUPPRESSIONS, ), ); diff --git a/src/datadogV2/api/api_security_monitoring.rs b/src/datadogV2/api/api_security_monitoring.rs index 9b91d38cc..c7a4aaeaf 100644 --- a/src/datadogV2/api/api_security_monitoring.rs +++ b/src/datadogV2/api/api_security_monitoring.rs @@ -10747,7 +10747,7 @@ impl SecurityMonitoringAPI { /// Validate a suppression rule. pub async fn validate_security_monitoring_suppression( &self, - body: crate::datadogV2::model::SecurityMonitoringSuppressionUpdateRequest, + body: crate::datadogV2::model::SecurityMonitoringSuppressionCreateRequest, ) -> Result<(), datadog::Error> { match self .validate_security_monitoring_suppression_with_http_info(body) @@ -10761,7 +10761,7 @@ impl SecurityMonitoringAPI { /// Validate a suppression rule. pub async fn validate_security_monitoring_suppression_with_http_info( &self, - body: crate::datadogV2::model::SecurityMonitoringSuppressionUpdateRequest, + body: crate::datadogV2::model::SecurityMonitoringSuppressionCreateRequest, ) -> Result< datadog::ResponseContent<()>, datadog::Error, diff --git a/tests/scenarios/cassettes/v2/security_monitoring/Validate-a-suppression-rule-returns-Bad-Request-response.frozen b/tests/scenarios/cassettes/v2/security_monitoring/Validate-a-suppression-rule-returns-Bad-Request-response.frozen index ac1839d87..0c7229fde 100644 --- a/tests/scenarios/cassettes/v2/security_monitoring/Validate-a-suppression-rule-returns-Bad-Request-response.frozen +++ b/tests/scenarios/cassettes/v2/security_monitoring/Validate-a-suppression-rule-returns-Bad-Request-response.frozen @@ -1 +1 @@ -2025-09-01T21:36:42.334Z \ No newline at end of file +2025-09-04T08:33:38.344Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/v2/security_monitoring/Validate-a-suppression-rule-returns-Bad-Request-response.json b/tests/scenarios/cassettes/v2/security_monitoring/Validate-a-suppression-rule-returns-Bad-Request-response.json index 75098c453..a001477c9 100644 --- a/tests/scenarios/cassettes/v2/security_monitoring/Validate-a-suppression-rule-returns-Bad-Request-response.json +++ b/tests/scenarios/cassettes/v2/security_monitoring/Validate-a-suppression-rule-returns-Bad-Request-response.json @@ -3,7 +3,7 @@ { "request": { "body": { - "string": "{\"data\":{\"attributes\":{\"data_exclusion_query\":\"not enough attributes\"},\"type\":\"suppressions\"}}", + "string": "{\"data\":{\"attributes\":{\"data_exclusion_query\":\"not enough attributes\",\"enabled\":false,\"name\":\"cold_harbour\",\"rule_query\":\"rule:[A-Invalid\"},\"type\":\"suppressions\"}}", "encoding": null }, "headers": { @@ -19,7 +19,7 @@ }, "response": { "body": { - "string": "{\"errors\":[\"input_validation_error(Field 'data.attributes.rule_query' is invalid: field 'rule_query' is required)\",\"input_validation_error(Field 'data.attributes.name' is invalid: name cannot be empty)\"]}", + "string": "{\"errors\":[\"input_validation_error(Field 'data.attributes.rule_query' is invalid: rule query is invalid)\"]}", "encoding": null }, "headers": { @@ -32,7 +32,7 @@ "message": "Bad Request" } }, - "recorded_at": "Mon, 01 Sep 2025 21:36:42 GMT" + "recorded_at": "Thu, 04 Sep 2025 08:33:38 GMT" } ], "recorded_with": "VCR 6.0.0" diff --git a/tests/scenarios/features/v2/security_monitoring.feature b/tests/scenarios/features/v2/security_monitoring.feature index c06b0abac..612e8fc5f 100644 --- a/tests/scenarios/features/v2/security_monitoring.feature +++ b/tests/scenarios/features/v2/security_monitoring.feature @@ -1486,7 +1486,7 @@ Feature: Security Monitoring @team:DataDog/k9-cloud-security-platform Scenario: Validate a suppression rule returns "Bad Request" response Given new "ValidateSecurityMonitoringSuppression" request - And body with value {"data": {"attributes": {"data_exclusion_query": "not enough attributes"}, "type": "suppressions"}} + And body with value {"data": {"attributes": {"name" : "cold_harbour", "enabled": false, "rule_query":"rule:[A-Invalid", "data_exclusion_query": "not enough attributes"}, "type": "suppressions"}} When the request is sent Then the response status is 400 Bad Request