diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index ea3da24e20a..642bfd7423b 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -52651,6 +52651,9 @@ components: modifiedAt: description: Last modification time of the job. type: string + signalOutput: + description: Whether the job outputs signals. + type: boolean type: object ThreatHuntingJobResponseData: description: Threat hunting job response data. diff --git a/cassettes/features/v2/security_monitoring/Get-a-job-s-details-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/Get-a-job-s-details-returns-OK-response.frozen index 6994ed27070..e81b70e9ab2 100644 --- a/cassettes/features/v2/security_monitoring/Get-a-job-s-details-returns-OK-response.frozen +++ b/cassettes/features/v2/security_monitoring/Get-a-job-s-details-returns-OK-response.frozen @@ -1 +1 @@ -2025-10-24T14:24:01.707Z \ No newline at end of file +2025-11-11T21:36:52.314Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-a-job-s-details-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/Get-a-job-s-details-returns-OK-response.yml index 1c98e8a5c4a..ea12af6fa12 100644 --- a/cassettes/features/v2/security_monitoring/Get-a-job-s-details-returns-OK-response.yml +++ b/cassettes/features/v2/security_monitoring/Get-a-job-s-details-returns-OK-response.yml @@ -1,5 +1,5 @@ http_interactions: -- recorded_at: Fri, 24 Oct 2025 14:24:01 GMT +- recorded_at: Tue, 11 Nov 2025 21:36:52 GMT request: body: encoding: UTF-8 @@ -17,32 +17,31 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"071b3516-4072-44d9-9288-d4adaa1db921","type":"historicalDetectionsJob"}}' + string: '{"data":{"id":"66896986-212c-4e6c-9890-14e5cfd0fc19","type":"historicalDetectionsJob"}}' headers: Content-Type: - application/vnd.api+json status: code: 201 message: Created -- recorded_at: Fri, 24 Oct 2025 14:24:01 GMT +- recorded_at: Tue, 11 Nov 2025 21:36:52 GMT request: body: null headers: Accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/siem-threat-hunting/jobs/071b3516-4072-44d9-9288-d4adaa1db921 + uri: https://api.datadoghq.com/api/v2/siem-threat-hunting/jobs/66896986-212c-4e6c-9890-14e5cfd0fc19 response: body: encoding: UTF-8 - string: '{"data":{"id":"071b3516-4072-44d9-9288-d4adaa1db921","type":"historicalDetectionsJob","attributes":{"createdAt":"2025-10-24 - 14:24:02.057923+00","createdByHandle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","createdByName":"CI - Account","jobDefinition":{"from":1730387522611,"to":1730387532611,"index":"main","name":"Excessive + string: '{"data":{"id":"66896986-212c-4e6c-9890-14e5cfd0fc19","type":"historicalDetectionsJob","attributes":{"createdAt":"2025-11-11 + 21:36:52.581297+00","createdByHandle":"frog@datadoghq.com","createdByName":"frog","jobDefinition":{"from":1730387522611,"to":1730387532611,"index":"main","name":"Excessive number of failed attempts.","cases":[{"name":"Condition 1","status":"info","notifications":[],"condition":"a \u003e 1"}],"queries":[{"query":"source:non_existing_src_weekend","groupByFields":[],"hasOptionalGroupByFields":false,"distinctFields":[],"aggregation":"count","name":"","dataSource":"logs"}],"options":{"evaluationWindow":900,"detectionMethod":"threshold","maxSignalDuration":86400,"keepAlive":3600},"message":"A large number of failed login attempts.","tags":[],"type":"log_detection"},"jobName":"Excessive - number of failed attempts.","jobStatus":"pending","modifiedAt":"2025-10-24 - 14:24:02.057923+00"}}}' + number of failed attempts.","jobStatus":"pending","modifiedAt":"2025-11-11 + 21:36:52.581297+00","signalOutput":false}}}' headers: Content-Type: - application/vnd.api+json diff --git a/cassettes/features/v2/security_monitoring/List-historical-jobs-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/List-historical-jobs-returns-OK-response.frozen index 2c0d4ff4e33..9407d19f7f4 100644 --- a/cassettes/features/v2/security_monitoring/List-historical-jobs-returns-OK-response.frozen +++ b/cassettes/features/v2/security_monitoring/List-historical-jobs-returns-OK-response.frozen @@ -1 +1 @@ -2025-10-24T14:24:02.188Z \ No newline at end of file +2025-11-11T21:36:57.169Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/List-historical-jobs-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/List-historical-jobs-returns-OK-response.yml index 6d6f21b6ecd..79d54ff1ed0 100644 --- a/cassettes/features/v2/security_monitoring/List-historical-jobs-returns-OK-response.yml +++ b/cassettes/features/v2/security_monitoring/List-historical-jobs-returns-OK-response.yml @@ -1,5 +1,5 @@ http_interactions: -- recorded_at: Fri, 24 Oct 2025 14:24:02 GMT +- recorded_at: Tue, 11 Nov 2025 21:36:57 GMT request: body: encoding: UTF-8 @@ -17,32 +17,31 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"e935c6c8-ba76-4ebf-8770-bb772a5ec1ed","type":"historicalDetectionsJob"}}' + string: '{"data":{"id":"c3564eed-ff70-43e1-ab6f-593de95bd21f","type":"historicalDetectionsJob"}}' headers: Content-Type: - application/vnd.api+json status: code: 201 message: Created -- recorded_at: Fri, 24 Oct 2025 14:24:02 GMT +- recorded_at: Tue, 11 Nov 2025 21:36:57 GMT request: body: null headers: Accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/siem-threat-hunting/jobs?filter%5Bquery%5D=id%3Ae935c6c8-ba76-4ebf-8770-bb772a5ec1ed + uri: https://api.datadoghq.com/api/v2/siem-threat-hunting/jobs?filter%5Bquery%5D=id%3Ac3564eed-ff70-43e1-ab6f-593de95bd21f response: body: encoding: UTF-8 - string: '{"data":[{"id":"e935c6c8-ba76-4ebf-8770-bb772a5ec1ed","type":"historicalDetectionsJob","attributes":{"createdAt":"2025-10-24 - 14:24:02.256887+00","createdByHandle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","createdByName":"CI - Account","jobDefinition":{"from":1730387522611,"to":1730387532611,"index":"main","name":"Excessive + string: '{"data":[{"id":"c3564eed-ff70-43e1-ab6f-593de95bd21f","type":"historicalDetectionsJob","attributes":{"createdAt":"2025-11-11 + 21:36:57.303304+00","createdByHandle":"frog@datadoghq.com","createdByName":"frog","jobDefinition":{"from":1730387522611,"to":1730387532611,"index":"main","name":"Excessive number of failed attempts.","cases":[{"name":"Condition 1","status":"info","notifications":[],"condition":"a \u003e 1"}],"queries":[{"query":"source:non_existing_src_weekend","groupByFields":[],"hasOptionalGroupByFields":false,"distinctFields":[],"aggregation":"count","name":"","dataSource":"logs"}],"options":{"evaluationWindow":900,"detectionMethod":"threshold","maxSignalDuration":86400,"keepAlive":3600},"message":"A large number of failed login attempts.","tags":[],"type":"log_detection"},"jobName":"Excessive - number of failed attempts.","jobStatus":"pending","modifiedAt":"2025-10-24 - 14:24:02.256887+00"}}],"meta":{"totalCount":1}}' + number of failed attempts.","jobStatus":"pending","modifiedAt":"2025-11-11 + 21:36:57.303304+00","signalOutput":false}}],"meta":{"totalCount":1}}' headers: Content-Type: - application/vnd.api+json diff --git a/lib/datadog_api_client/v2/models/threat_hunting_job_response_attributes.rb b/lib/datadog_api_client/v2/models/threat_hunting_job_response_attributes.rb index 6904e76b65d..c4dd88c6f33 100644 --- a/lib/datadog_api_client/v2/models/threat_hunting_job_response_attributes.rb +++ b/lib/datadog_api_client/v2/models/threat_hunting_job_response_attributes.rb @@ -45,6 +45,9 @@ class ThreatHuntingJobResponseAttributes # Last modification time of the job. attr_accessor :modified_at + # Whether the job outputs signals. + attr_accessor :signal_output + attr_accessor :additional_properties # Attribute mapping from ruby-style variable name to JSON key. @@ -58,7 +61,8 @@ def self.attribute_map :'job_definition' => :'jobDefinition', :'job_name' => :'jobName', :'job_status' => :'jobStatus', - :'modified_at' => :'modifiedAt' + :'modified_at' => :'modifiedAt', + :'signal_output' => :'signalOutput' } end @@ -73,7 +77,8 @@ def self.openapi_types :'job_definition' => :'JobDefinition', :'job_name' => :'String', :'job_status' => :'String', - :'modified_at' => :'String' + :'modified_at' => :'String', + :'signal_output' => :'Boolean' } end @@ -126,6 +131,10 @@ def initialize(attributes = {}) if attributes.key?(:'modified_at') self.modified_at = attributes[:'modified_at'] end + + if attributes.key?(:'signal_output') + self.signal_output = attributes[:'signal_output'] + end end # Returns the object in the form of hash, with additionalProperties support. @@ -162,6 +171,7 @@ def ==(o) job_name == o.job_name && job_status == o.job_status && modified_at == o.modified_at && + signal_output == o.signal_output && additional_properties == o.additional_properties end @@ -169,7 +179,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [created_at, created_by_handle, created_by_name, created_from_rule_id, job_definition, job_name, job_status, modified_at, additional_properties].hash + [created_at, created_by_handle, created_by_name, created_from_rule_id, job_definition, job_name, job_status, modified_at, signal_output, additional_properties].hash end end end