Skip to content

Commit 87d5c04

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 18f6524 of spec repo
1 parent 00fca58 commit 87d5c04

15 files changed

+929
-7
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": "b308db8",
3-
"generated": "2025-08-04 15:41:32.832"
2+
"spec_repo_commit": "18f6524",
3+
"generated": "2025-08-05 08:45:22.936"
44
}

.generator/schemas/v2/openapi.yaml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36257,6 +36257,12 @@ components:
3625736257
SecurityMonitoringRuleUpdatePayload:
3625836258
description: Update an existing rule.
3625936259
properties:
36260+
calculatedFields:
36261+
description: Calculated fields. Only allowed for scheduled rules - in other
36262+
words, when schedulingOptions is also defined.
36263+
items:
36264+
$ref: '#/components/schemas/CalculatedField'
36265+
type: array
3626036266
cases:
3626136267
description: Cases for generating signals.
3626236268
items:
@@ -36313,6 +36319,8 @@ components:
3631336319
items:
3631436320
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
3631536321
type: array
36322+
schedulingOptions:
36323+
$ref: '#/components/schemas/SecurityMonitoringSchedulingOptions'
3631636324
tags:
3631736325
description: Tags for generated signals.
3631836326
items:
@@ -36339,6 +36347,27 @@ components:
3633936347
- $ref: '#/components/schemas/SecurityMonitoringStandardRulePayload'
3634036348
- $ref: '#/components/schemas/SecurityMonitoringSignalRulePayload'
3634136349
- $ref: '#/components/schemas/CloudConfigurationRulePayload'
36350+
SecurityMonitoringSchedulingOptions:
36351+
description: Options for scheduled rules. When this field is present, the rule
36352+
runs based on the schedule. When absent, it runs real-time on ingested logs.
36353+
nullable: true
36354+
properties:
36355+
rrule:
36356+
description: Schedule for the rule queries, written in RRULE syntax. See
36357+
[RFC](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html)
36358+
for syntax reference.
36359+
example: FREQ=HOURLY;INTERVAL=1;
36360+
type: string
36361+
start:
36362+
description: Start date for the schedule, in ISO 8601 format without timezone.
36363+
example: '2025-07-14T12:00:00'
36364+
type: string
36365+
timezone:
36366+
description: Time zone of the start date, in the [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
36367+
format.
36368+
example: America/New_York
36369+
type: string
36370+
type: object
3634236371
SecurityMonitoringSignal:
3634336372
description: Object description of a security signal.
3634436373
properties:
@@ -37017,6 +37046,12 @@ components:
3701737046
SecurityMonitoringStandardRuleCreatePayload:
3701837047
description: Create a new rule.
3701937048
properties:
37049+
calculatedFields:
37050+
description: Calculated fields. Only allowed for scheduled rules - in other
37051+
words, when schedulingOptions is also defined.
37052+
items:
37053+
$ref: '#/components/schemas/CalculatedField'
37054+
type: array
3702037055
cases:
3702137056
description: Cases for generating signals.
3702237057
example: []
@@ -37069,6 +37104,8 @@ components:
3706937104
items:
3707037105
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
3707137106
type: array
37107+
schedulingOptions:
37108+
$ref: '#/components/schemas/SecurityMonitoringSchedulingOptions'
3707237109
tags:
3707337110
description: Tags for generated signals.
3707437111
example:
@@ -37098,6 +37135,12 @@ components:
3709837135
SecurityMonitoringStandardRulePayload:
3709937136
description: The payload of a rule.
3710037137
properties:
37138+
calculatedFields:
37139+
description: Calculated fields. Only allowed for scheduled rules - in other
37140+
words, when schedulingOptions is also defined.
37141+
items:
37142+
$ref: '#/components/schemas/CalculatedField'
37143+
type: array
3710137144
cases:
3710237145
description: Cases for generating signals.
3710337146
example: []
@@ -37158,6 +37201,8 @@ components:
3715837201
items:
3715937202
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
3716037203
type: array
37204+
schedulingOptions:
37205+
$ref: '#/components/schemas/SecurityMonitoringSchedulingOptions'
3716137206
tags:
3716237207
description: Tags for generated signals.
3716337208
example:
@@ -37214,6 +37259,14 @@ components:
3721437259
example: false
3721537260
readOnly: true
3721637261
type: boolean
37262+
index:
37263+
description: '**This field is currently unstable and might be removed in
37264+
a minor version upgrade.**
37265+
37266+
The index to run the query on, if the `dataSource` is `logs`. Only used
37267+
for scheduled rules - in other words, when the `schedulingOptions` field
37268+
is present in the rule payload.'
37269+
type: string
3721737270
metric:
3721837271
deprecated: true
3721937272
description: '(Deprecated) The target field to aggregate over when using
@@ -37241,6 +37294,12 @@ components:
3724137294
SecurityMonitoringStandardRuleResponse:
3724237295
description: Rule.
3724337296
properties:
37297+
calculatedFields:
37298+
description: Calculated fields. Only allowed for scheduled rules - in other
37299+
words, when schedulingOptions is also defined.
37300+
items:
37301+
$ref: '#/components/schemas/CalculatedField'
37302+
type: array
3724437303
cases:
3724537304
description: Cases for generating signals.
3724637305
items:
@@ -37326,6 +37385,8 @@ components:
3732637385
items:
3732737386
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
3732837387
type: array
37388+
schedulingOptions:
37389+
$ref: '#/components/schemas/SecurityMonitoringSchedulingOptions'
3732937390
tags:
3733037391
description: Tags for generated signals.
3733137392
items:
@@ -37357,6 +37418,12 @@ components:
3735737418
SecurityMonitoringStandardRuleTestPayload:
3735837419
description: The payload of a rule to test
3735937420
properties:
37421+
calculatedFields:
37422+
description: Calculated fields. Only allowed for scheduled rules - in other
37423+
words, when schedulingOptions is also defined.
37424+
items:
37425+
$ref: '#/components/schemas/CalculatedField'
37426+
type: array
3736037427
cases:
3736137428
description: Cases for generating signals.
3736237429
example: []
@@ -37409,6 +37476,8 @@ components:
3740937476
items:
3741037477
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
3741137478
type: array
37479+
schedulingOptions:
37480+
$ref: '#/components/schemas/SecurityMonitoringSchedulingOptions'
3741237481
tags:
3741337482
description: Tags for generated signals.
3741437483
example:
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// Create a scheduled detection rule returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseCreate;
7+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCreatePayload;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleEvaluationWindow;
9+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleKeepAlive;
10+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleMaxSignalDuration;
11+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleOptions;
12+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleQueryAggregation;
13+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleResponse;
14+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleSeverity;
15+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleTypeCreate;
16+
import com.datadog.api.client.v2.model.SecurityMonitoringSchedulingOptions;
17+
import com.datadog.api.client.v2.model.SecurityMonitoringStandardRuleCreatePayload;
18+
import com.datadog.api.client.v2.model.SecurityMonitoringStandardRuleQuery;
19+
import java.util.Collections;
20+
21+
public class Example {
22+
public static void main(String[] args) {
23+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
24+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
25+
26+
SecurityMonitoringRuleCreatePayload body =
27+
new SecurityMonitoringRuleCreatePayload(
28+
new SecurityMonitoringStandardRuleCreatePayload()
29+
.name("Example-Security-Monitoring")
30+
.queries(
31+
Collections.singletonList(
32+
new SecurityMonitoringStandardRuleQuery()
33+
.query("@test:true")
34+
.aggregation(SecurityMonitoringRuleQueryAggregation.COUNT)
35+
.index("main")))
36+
.cases(
37+
Collections.singletonList(
38+
new SecurityMonitoringRuleCaseCreate()
39+
.name("")
40+
.status(SecurityMonitoringRuleSeverity.INFO)
41+
.condition("a > 0")))
42+
.options(
43+
new SecurityMonitoringRuleOptions()
44+
.evaluationWindow(SecurityMonitoringRuleEvaluationWindow.FIFTEEN_MINUTES)
45+
.keepAlive(SecurityMonitoringRuleKeepAlive.ONE_HOUR)
46+
.maxSignalDuration(SecurityMonitoringRuleMaxSignalDuration.ONE_DAY))
47+
.message("Test rule")
48+
.isEnabled(true)
49+
.type(SecurityMonitoringRuleTypeCreate.LOG_DETECTION)
50+
.schedulingOptions(
51+
new SecurityMonitoringSchedulingOptions()
52+
.rrule("FREQ=HOURLY;INTERVAL=2;")
53+
.start("2025-06-18T12:00:00")
54+
.timezone("Europe/Paris")));
55+
56+
try {
57+
SecurityMonitoringRuleResponse result = apiInstance.createSecurityMonitoringRule(body);
58+
System.out.println(result);
59+
} catch (ApiException e) {
60+
System.err.println(
61+
"Exception when calling SecurityMonitoringApi#createSecurityMonitoringRule");
62+
System.err.println("Status code: " + e.getCode());
63+
System.err.println("Reason: " + e.getResponseBody());
64+
System.err.println("Response headers: " + e.getResponseHeaders());
65+
e.printStackTrace();
66+
}
67+
}
68+
}

0 commit comments

Comments
 (0)