Skip to content

Commit aaada67

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 6e838a18 of spec repo
1 parent 42f6bd8 commit aaada67

18 files changed

+957
-41
lines changed

.apigentools-info

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2025-02-06 17:59:36.285895",
8-
"spec_repo_commit": "b89b292b"
7+
"regenerated": "2025-02-07 10:27:02.619532",
8+
"spec_repo_commit": "6e838a18"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-02-06 17:59:36.301562",
13-
"spec_repo_commit": "b89b292b"
12+
"regenerated": "2025-02-07 10:27:02.635763",
13+
"spec_repo_commit": "6e838a18"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

+93-1
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ components:
193193
schema:
194194
type: string
195195
ConfluentAccountID:
196-
description: Confluent Account id.
196+
description: Confluent Account ID.
197197
in: path
198198
name: account_id
199199
required: true
@@ -15657,6 +15657,15 @@ components:
1565715657
example: 1729843470000
1565815658
format: int64
1565915659
type: integer
15660+
groupSignalsBy:
15661+
description: Additional grouping to perform on top of the existing groups
15662+
in the query section. Must be a subset of the existing groups.
15663+
example:
15664+
- service
15665+
items:
15666+
description: Field to group by.
15667+
type: string
15668+
type: array
1566015669
index:
1566115670
description: Index used to load the data.
1566215671
example: cloud_siem
@@ -24242,6 +24251,11 @@ components:
2424224251
SecurityMonitoringRuleCase:
2424324252
description: Case when signal is generated.
2424424253
properties:
24254+
actions:
24255+
description: Action to perform for each rule case.
24256+
items:
24257+
$ref: '#/components/schemas/SecurityMonitoringRuleCaseAction'
24258+
type: array
2424524259
condition:
2424624260
description: 'A rule case contains logical operations (`>`,`>=`, `&&`, `||`)
2424724261
to determine if a signal should be generated
@@ -24260,9 +24274,42 @@ components:
2426024274
status:
2426124275
$ref: '#/components/schemas/SecurityMonitoringRuleSeverity'
2426224276
type: object
24277+
SecurityMonitoringRuleCaseAction:
24278+
description: Action to perform when a signal is triggered. Only available for
24279+
Application Security rule type.
24280+
properties:
24281+
options:
24282+
$ref: '#/components/schemas/SecurityMonitoringRuleCaseActionOptions'
24283+
type:
24284+
$ref: '#/components/schemas/SecurityMonitoringRuleCaseActionType'
24285+
type: object
24286+
SecurityMonitoringRuleCaseActionOptions:
24287+
description: Options for the rule action
24288+
properties:
24289+
duration:
24290+
description: Duration of the action in seconds. 0 indicates no expiration.
24291+
example: 0
24292+
format: int64
24293+
minimum: 0
24294+
type: integer
24295+
type: object
24296+
SecurityMonitoringRuleCaseActionType:
24297+
description: The action type.
24298+
enum:
24299+
- block_ip
24300+
- block_user
24301+
type: string
24302+
x-enum-varnames:
24303+
- BLOCK_IP
24304+
- BLOCK_USER
2426324305
SecurityMonitoringRuleCaseCreate:
2426424306
description: Case when signal is generated.
2426524307
properties:
24308+
actions:
24309+
description: Action to perform for each rule case.
24310+
items:
24311+
$ref: '#/components/schemas/SecurityMonitoringRuleCaseAction'
24312+
type: array
2426624313
condition:
2426724314
description: 'A case contains logical operations (`>`,`>=`, `&&`, `||`)
2426824315
to determine if a signal should be generated
@@ -24724,6 +24771,15 @@ components:
2472424771
items:
2472524772
$ref: '#/components/schemas/SecurityMonitoringFilter'
2472624773
type: array
24774+
groupSignalsBy:
24775+
description: Additional grouping to perform on top of the existing groups
24776+
in the query section. Must be a subset of the existing groups.
24777+
example:
24778+
- service
24779+
items:
24780+
description: Field to group by.
24781+
type: string
24782+
type: array
2472724783
hasExtendedTitle:
2472824784
description: Whether the notifications include the triggering group-by values
2472924785
in their title.
@@ -25429,6 +25485,15 @@ components:
2542925485
items:
2543025486
$ref: '#/components/schemas/SecurityMonitoringFilter'
2543125487
type: array
25488+
groupSignalsBy:
25489+
description: Additional grouping to perform on top of the existing groups
25490+
in the query section. Must be a subset of the existing groups.
25491+
example:
25492+
- service
25493+
items:
25494+
description: Field to group by.
25495+
type: string
25496+
type: array
2543225497
hasExtendedTitle:
2543325498
description: Whether the notifications include the triggering group-by values
2543425499
in their title.
@@ -25501,6 +25566,15 @@ components:
2550125566
items:
2550225567
$ref: '#/components/schemas/SecurityMonitoringFilter'
2550325568
type: array
25569+
groupSignalsBy:
25570+
description: Additional grouping to perform on top of the existing groups
25571+
in the query section. Must be a subset of the existing groups.
25572+
example:
25573+
- service
25574+
items:
25575+
description: Field to group by.
25576+
type: string
25577+
type: array
2550425578
hasExtendedTitle:
2550525579
description: Whether the notifications include the triggering group-by values
2550625580
in their title.
@@ -25642,6 +25716,15 @@ components:
2564225716
items:
2564325717
$ref: '#/components/schemas/SecurityMonitoringFilter'
2564425718
type: array
25719+
groupSignalsBy:
25720+
description: Additional grouping to perform on top of the existing groups
25721+
in the query section. Must be a subset of the existing groups.
25722+
example:
25723+
- service
25724+
items:
25725+
description: Field to group by.
25726+
type: string
25727+
type: array
2564525728
hasExtendedTitle:
2564625729
description: Whether the notifications include the triggering group-by values
2564725730
in their title.
@@ -25719,6 +25802,15 @@ components:
2571925802
items:
2572025803
$ref: '#/components/schemas/SecurityMonitoringFilter'
2572125804
type: array
25805+
groupSignalsBy:
25806+
description: Additional grouping to perform on top of the existing groups
25807+
in the query section. Must be a subset of the existing groups.
25808+
example:
25809+
- service
25810+
items:
25811+
description: Field to group by.
25812+
type: string
25813+
type: array
2572225814
hasExtendedTitle:
2572325815
description: Whether the notifications include the triggering group-by values
2572425816
in their title.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
// Create a detection rule with type 'application_security '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.SecurityMonitoringRuleCaseAction;
7+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseActionOptions;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseActionType;
9+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseCreate;
10+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCreatePayload;
11+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleDetectionMethod;
12+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleEvaluationWindow;
13+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleKeepAlive;
14+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleMaxSignalDuration;
15+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleOptions;
16+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleQueryAggregation;
17+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleResponse;
18+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleSeverity;
19+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleTypeCreate;
20+
import com.datadog.api.client.v2.model.SecurityMonitoringStandardRuleCreatePayload;
21+
import com.datadog.api.client.v2.model.SecurityMonitoringStandardRuleQuery;
22+
import java.util.Arrays;
23+
import java.util.Collections;
24+
25+
public class Example {
26+
public static void main(String[] args) {
27+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
28+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
29+
30+
SecurityMonitoringRuleCreatePayload body =
31+
new SecurityMonitoringRuleCreatePayload(
32+
new SecurityMonitoringStandardRuleCreatePayload()
33+
.type(SecurityMonitoringRuleTypeCreate.APPLICATION_SECURITY)
34+
.name("Example-Security-Monitoring_appsec_rule")
35+
.queries(
36+
Collections.singletonList(
37+
new SecurityMonitoringStandardRuleQuery()
38+
.query("@appsec.security_activity:business_logic.users.login.failure")
39+
.aggregation(SecurityMonitoringRuleQueryAggregation.COUNT)
40+
.groupByFields(Arrays.asList("service", "@http.client_ip"))))
41+
.cases(
42+
Collections.singletonList(
43+
new SecurityMonitoringRuleCaseCreate()
44+
.name("")
45+
.status(SecurityMonitoringRuleSeverity.INFO)
46+
.condition("a > 100000")
47+
.actions(
48+
Collections.singletonList(
49+
new SecurityMonitoringRuleCaseAction()
50+
.type(SecurityMonitoringRuleCaseActionType.BLOCK_IP)
51+
.options(
52+
new SecurityMonitoringRuleCaseActionOptions()
53+
.duration(900L))))))
54+
.options(
55+
new SecurityMonitoringRuleOptions()
56+
.keepAlive(SecurityMonitoringRuleKeepAlive.ONE_HOUR)
57+
.maxSignalDuration(SecurityMonitoringRuleMaxSignalDuration.ONE_DAY)
58+
.evaluationWindow(SecurityMonitoringRuleEvaluationWindow.FIFTEEN_MINUTES)
59+
.detectionMethod(SecurityMonitoringRuleDetectionMethod.THRESHOLD))
60+
.isEnabled(true)
61+
.message("Test rule")
62+
.groupSignalsBy(Collections.singletonList("service")));
63+
64+
try {
65+
SecurityMonitoringRuleResponse result = apiInstance.createSecurityMonitoringRule(body);
66+
System.out.println(result);
67+
} catch (ApiException e) {
68+
System.err.println(
69+
"Exception when calling SecurityMonitoringApi#createSecurityMonitoringRule");
70+
System.err.println("Status code: " + e.getCode());
71+
System.err.println("Reason: " + e.getResponseBody());
72+
System.err.println("Response headers: " + e.getResponseHeaders());
73+
e.printStackTrace();
74+
}
75+
}
76+
}

0 commit comments

Comments
 (0)