Skip to content

Commit ca487cb

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 9746098 of spec repo
1 parent 0fd3833 commit ca487cb

12 files changed

+837
-1
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47052,6 +47052,88 @@ components:
4705247052
description: The name of the reference table.
4705347053
type: string
4705447054
type: object
47055+
SecurityMonitoringRuleAnomalyDetectionOptions:
47056+
description: Options on anomaly detection method.
47057+
properties:
47058+
bucketDuration:
47059+
$ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration'
47060+
detectionTolerance:
47061+
$ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptionsDetectionTolerance'
47062+
instantaneousBaseline:
47063+
description: If true, attempts to learn the baseline from historical data.
47064+
type: boolean
47065+
learningDuration:
47066+
$ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptionsLearningDuration'
47067+
learningPeriodBaseline:
47068+
description: An optional override baseline to apply while the rule is in
47069+
the learning period. Must be greater than or equal to 0.
47070+
format: int64
47071+
minimum: 0
47072+
type: integer
47073+
type: object
47074+
SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration:
47075+
description: 'Duration in seconds of the time buckets used to aggregate events
47076+
matched by the rule.
47077+
47078+
Must be greater than or equal to 300.'
47079+
enum:
47080+
- 300
47081+
- 600
47082+
- 900
47083+
- 1800
47084+
- 3600
47085+
- 10800
47086+
example: 300
47087+
format: int32
47088+
type: integer
47089+
x-enum-varnames:
47090+
- FIVE_MINUTES
47091+
- TEN_MINUTES
47092+
- FIFTEEN_MINUTES
47093+
- THIRTY_MINUTES
47094+
- ONE_HOUR
47095+
- THREE_HOURS
47096+
SecurityMonitoringRuleAnomalyDetectionOptionsDetectionTolerance:
47097+
description: 'An optional parameter that sets how permissive anomaly detection
47098+
is.
47099+
47100+
Higher values require higher deviations before triggering a signal.'
47101+
enum:
47102+
- 1
47103+
- 2
47104+
- 3
47105+
- 4
47106+
- 5
47107+
example: 5
47108+
format: int32
47109+
type: integer
47110+
x-enum-varnames:
47111+
- ONE
47112+
- TWO
47113+
- THREE
47114+
- FOUR
47115+
- FIVE
47116+
SecurityMonitoringRuleAnomalyDetectionOptionsLearningDuration:
47117+
description: Learning duration in hours. Anomaly detection waits for at least
47118+
this amount of historical data before it starts evaluating.
47119+
enum:
47120+
- 1
47121+
- 6
47122+
- 12
47123+
- 24
47124+
- 48
47125+
- 168
47126+
- 336
47127+
format: int32
47128+
type: integer
47129+
x-enum-varnames:
47130+
- ONE_HOUR
47131+
- SIX_HOURS
47132+
- TWELVE_HOURS
47133+
- ONE_DAY
47134+
- TWO_DAYS
47135+
- ONE_WEEK
47136+
- TWO_WEEKS
4705547137
SecurityMonitoringRuleCase:
4705647138
description: Case when signal is generated.
4705747139
properties:
@@ -47408,6 +47490,8 @@ components:
4740847490
SecurityMonitoringRuleOptions:
4740947491
description: Options.
4741047492
properties:
47493+
anomalyDetectionOptions:
47494+
$ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptions'
4741147495
complianceRuleOptions:
4741247496
$ref: '#/components/schemas/CloudConfigurationComplianceRuleOptions'
4741347497
decreaseCriticalityBasedOnEnv:
@@ -54778,6 +54862,8 @@ components:
5477854862
ThreatHuntingJobOptions:
5477954863
description: Job options.
5478054864
properties:
54865+
anomalyDetectionOptions:
54866+
$ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptions'
5478154867
detectionMethod:
5478254868
$ref: '#/components/schemas/SecurityMonitoringRuleDetectionMethod'
5478354869
evaluationWindow:
@@ -67941,6 +68027,7 @@ paths:
6794168027
- us3.datadoghq.com
6794268028
- us5.datadoghq.com
6794368029
- ap1.datadoghq.com
68030+
- ap2.datadoghq.com
6794468031
- datadoghq.eu
6794568032
- ddog-gov.com
6794668033
subdomain:
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
// Create a detection rule with detection method 'anomaly_detection' 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.SecurityMonitoringRuleAnomalyDetectionOptions;
7+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleAnomalyDetectionOptionsDetectionTolerance;
9+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleAnomalyDetectionOptionsLearningDuration;
10+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseCreate;
11+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCreatePayload;
12+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleDetectionMethod;
13+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleEvaluationWindow;
14+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleKeepAlive;
15+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleMaxSignalDuration;
16+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleOptions;
17+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleQueryAggregation;
18+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleResponse;
19+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleSeverity;
20+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleTypeCreate;
21+
import com.datadog.api.client.v2.model.SecurityMonitoringStandardDataSource;
22+
import com.datadog.api.client.v2.model.SecurityMonitoringStandardRuleCreatePayload;
23+
import com.datadog.api.client.v2.model.SecurityMonitoringStandardRuleQuery;
24+
import java.util.Arrays;
25+
import java.util.Collections;
26+
27+
public class Example {
28+
public static void main(String[] args) {
29+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
30+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
31+
32+
SecurityMonitoringRuleCreatePayload body =
33+
new SecurityMonitoringRuleCreatePayload(
34+
new SecurityMonitoringStandardRuleCreatePayload()
35+
.name("Example-Security-Monitoring")
36+
.type(SecurityMonitoringRuleTypeCreate.LOG_DETECTION)
37+
.isEnabled(true)
38+
.queries(
39+
Collections.singletonList(
40+
new SecurityMonitoringStandardRuleQuery()
41+
.aggregation(SecurityMonitoringRuleQueryAggregation.COUNT)
42+
.dataSource(SecurityMonitoringStandardDataSource.LOGS)
43+
.groupByFields(Arrays.asList("@usr.email", "@network.client.ip"))
44+
.hasOptionalGroupByFields(false)
45+
.name("")
46+
.query("service:app status:error")))
47+
.cases(
48+
Collections.singletonList(
49+
new SecurityMonitoringRuleCaseCreate()
50+
.name("")
51+
.status(SecurityMonitoringRuleSeverity.INFO)
52+
.condition("a > 0.995")))
53+
.message("An anomaly detection rule")
54+
.options(
55+
new SecurityMonitoringRuleOptions()
56+
.detectionMethod(SecurityMonitoringRuleDetectionMethod.ANOMALY_DETECTION)
57+
.evaluationWindow(SecurityMonitoringRuleEvaluationWindow.FIFTEEN_MINUTES)
58+
.keepAlive(SecurityMonitoringRuleKeepAlive.ONE_HOUR)
59+
.maxSignalDuration(SecurityMonitoringRuleMaxSignalDuration.ONE_DAY)
60+
.anomalyDetectionOptions(
61+
new SecurityMonitoringRuleAnomalyDetectionOptions()
62+
.bucketDuration(
63+
SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration
64+
.FIVE_MINUTES)
65+
.learningDuration(
66+
SecurityMonitoringRuleAnomalyDetectionOptionsLearningDuration
67+
.ONE_DAY)
68+
.instantaneousBaseline(false)
69+
.detectionTolerance(
70+
SecurityMonitoringRuleAnomalyDetectionOptionsDetectionTolerance
71+
.THREE)
72+
.learningPeriodBaseline(10L))));
73+
74+
try {
75+
SecurityMonitoringRuleResponse result = apiInstance.createSecurityMonitoringRule(body);
76+
System.out.println(result);
77+
} catch (ApiException e) {
78+
System.err.println(
79+
"Exception when calling SecurityMonitoringApi#createSecurityMonitoringRule");
80+
System.err.println("Status code: " + e.getCode());
81+
System.err.println("Reason: " + e.getResponseBody());
82+
System.err.println("Response headers: " + e.getResponseHeaders());
83+
e.printStackTrace();
84+
}
85+
}
86+
}

src/main/java/com/datadog/api/client/ApiClient.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,7 @@ public class ApiClient {
300300
"us3.datadoghq.com",
301301
"us5.datadoghq.com",
302302
"ap1.datadoghq.com",
303+
"ap2.datadoghq.com",
303304
"datadoghq.eu",
304305
"ddog-gov.com"))));
305306
put(

0 commit comments

Comments
 (0)