Skip to content

Commit d486db7

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 56439c1 of spec repo
1 parent ebc0494 commit d486db7

File tree

7 files changed

+132
-6
lines changed

7 files changed

+132
-6
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": "2ffdc3f",
3-
"generated": "2025-07-16 19:15:36.794"
2+
"spec_repo_commit": "56439c1",
3+
"generated": "2025-07-17 10:27:19.071"
44
}

.generator/schemas/v2/openapi.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33903,9 +33903,22 @@ components:
3390333903
format: int64
3390433904
minimum: 0
3390533905
type: integer
33906+
flaggedIPType:
33907+
$ref: '#/components/schemas/SecurityMonitoringRuleCaseActionOptionsFlaggedIPType'
3390633908
userBehaviorName:
3390733909
$ref: '#/components/schemas/SecurityMonitoringRuleCaseActionOptionsUserBehaviorName'
3390833910
type: object
33911+
SecurityMonitoringRuleCaseActionOptionsFlaggedIPType:
33912+
description: Used with the case action of type 'flag_ip'. The value specified
33913+
in this field is applied as a flag to the IPs addresses.
33914+
enum:
33915+
- SUSPICIOUS
33916+
- FLAGGED
33917+
example: FLAGGED
33918+
type: string
33919+
x-enum-varnames:
33920+
- SUSPICIOUS
33921+
- FLAGGED
3390933922
SecurityMonitoringRuleCaseActionOptionsUserBehaviorName:
3391033923
description: Used with the case action of type 'user_behavior'. The value specified
3391133924
in this field is applied as a risk tag to all users affected by the rule.
@@ -33916,11 +33929,13 @@ components:
3391633929
- block_ip
3391733930
- block_user
3391833931
- user_behavior
33932+
- flag_ip
3391933933
type: string
3392033934
x-enum-varnames:
3392133935
- BLOCK_IP
3392233936
- BLOCK_USER
3392333937
- USER_BEHAVIOR
33938+
- FLAG_IP
3392433939
SecurityMonitoringRuleCaseCreate:
3392533940
description: Case when signal is generated.
3392633941
properties:

examples/v2/security-monitoring/CreateSecurityMonitoringRule_1965169892.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
66
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseAction;
77
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseActionOptions;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseActionOptionsFlaggedIPType;
89
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseActionType;
910
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseCreate;
1011
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCreatePayload;
@@ -55,7 +56,14 @@ public static void main(String[] args) {
5556
.type(SecurityMonitoringRuleCaseActionType.USER_BEHAVIOR)
5657
.options(
5758
new SecurityMonitoringRuleCaseActionOptions()
58-
.userBehaviorName("behavior"))))))
59+
.userBehaviorName("behavior")),
60+
new SecurityMonitoringRuleCaseAction()
61+
.type(SecurityMonitoringRuleCaseActionType.FLAG_IP)
62+
.options(
63+
new SecurityMonitoringRuleCaseActionOptions()
64+
.flaggedIpType(
65+
SecurityMonitoringRuleCaseActionOptionsFlaggedIPType
66+
.FLAGGED))))))
5967
.options(
6068
new SecurityMonitoringRuleOptions()
6169
.keepAlive(SecurityMonitoringRuleKeepAlive.ONE_HOUR)

src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleCaseActionOptions.java

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
/** Options for the rule action */
2020
@JsonPropertyOrder({
2121
SecurityMonitoringRuleCaseActionOptions.JSON_PROPERTY_DURATION,
22+
SecurityMonitoringRuleCaseActionOptions.JSON_PROPERTY_FLAGGED_IP_TYPE,
2223
SecurityMonitoringRuleCaseActionOptions.JSON_PROPERTY_USER_BEHAVIOR_NAME
2324
})
2425
@jakarta.annotation.Generated(
@@ -28,6 +29,9 @@ public class SecurityMonitoringRuleCaseActionOptions {
2829
public static final String JSON_PROPERTY_DURATION = "duration";
2930
private Long duration;
3031

32+
public static final String JSON_PROPERTY_FLAGGED_IP_TYPE = "flaggedIPType";
33+
private SecurityMonitoringRuleCaseActionOptionsFlaggedIPType flaggedIpType;
34+
3135
public static final String JSON_PROPERTY_USER_BEHAVIOR_NAME = "userBehaviorName";
3236
private String userBehaviorName;
3337

@@ -52,6 +56,33 @@ public void setDuration(Long duration) {
5256
this.duration = duration;
5357
}
5458

59+
public SecurityMonitoringRuleCaseActionOptions flaggedIpType(
60+
SecurityMonitoringRuleCaseActionOptionsFlaggedIPType flaggedIpType) {
61+
this.flaggedIpType = flaggedIpType;
62+
this.unparsed |= !flaggedIpType.isValid();
63+
return this;
64+
}
65+
66+
/**
67+
* Used with the case action of type 'flag_ip'. The value specified in this field is applied as a
68+
* flag to the IPs addresses.
69+
*
70+
* @return flaggedIpType
71+
*/
72+
@jakarta.annotation.Nullable
73+
@JsonProperty(JSON_PROPERTY_FLAGGED_IP_TYPE)
74+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
75+
public SecurityMonitoringRuleCaseActionOptionsFlaggedIPType getFlaggedIpType() {
76+
return flaggedIpType;
77+
}
78+
79+
public void setFlaggedIpType(SecurityMonitoringRuleCaseActionOptionsFlaggedIPType flaggedIpType) {
80+
if (!flaggedIpType.isValid()) {
81+
this.unparsed = true;
82+
}
83+
this.flaggedIpType = flaggedIpType;
84+
}
85+
5586
public SecurityMonitoringRuleCaseActionOptions userBehaviorName(String userBehaviorName) {
5687
this.userBehaviorName = userBehaviorName;
5788
return this;
@@ -132,6 +163,7 @@ public boolean equals(Object o) {
132163
SecurityMonitoringRuleCaseActionOptions securityMonitoringRuleCaseActionOptions =
133164
(SecurityMonitoringRuleCaseActionOptions) o;
134165
return Objects.equals(this.duration, securityMonitoringRuleCaseActionOptions.duration)
166+
&& Objects.equals(this.flaggedIpType, securityMonitoringRuleCaseActionOptions.flaggedIpType)
135167
&& Objects.equals(
136168
this.userBehaviorName, securityMonitoringRuleCaseActionOptions.userBehaviorName)
137169
&& Objects.equals(
@@ -141,14 +173,15 @@ public boolean equals(Object o) {
141173

142174
@Override
143175
public int hashCode() {
144-
return Objects.hash(duration, userBehaviorName, additionalProperties);
176+
return Objects.hash(duration, flaggedIpType, userBehaviorName, additionalProperties);
145177
}
146178

147179
@Override
148180
public String toString() {
149181
StringBuilder sb = new StringBuilder();
150182
sb.append("class SecurityMonitoringRuleCaseActionOptions {\n");
151183
sb.append(" duration: ").append(toIndentedString(duration)).append("\n");
184+
sb.append(" flaggedIpType: ").append(toIndentedString(flaggedIpType)).append("\n");
152185
sb.append(" userBehaviorName: ").append(toIndentedString(userBehaviorName)).append("\n");
153186
sb.append(" additionalProperties: ")
154187
.append(toIndentedString(additionalProperties))
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/*
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2019-Present Datadog, Inc.
5+
*/
6+
7+
package com.datadog.api.client.v2.model;
8+
9+
import com.datadog.api.client.ModelEnum;
10+
import com.fasterxml.jackson.annotation.JsonCreator;
11+
import com.fasterxml.jackson.core.JsonGenerator;
12+
import com.fasterxml.jackson.core.JsonProcessingException;
13+
import com.fasterxml.jackson.databind.SerializerProvider;
14+
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
15+
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
16+
import java.io.IOException;
17+
import java.util.Arrays;
18+
import java.util.HashSet;
19+
import java.util.Set;
20+
21+
/**
22+
* Used with the case action of type 'flag_ip'. The value specified in this field is applied as a
23+
* flag to the IPs addresses.
24+
*/
25+
@JsonSerialize(
26+
using =
27+
SecurityMonitoringRuleCaseActionOptionsFlaggedIPType
28+
.SecurityMonitoringRuleCaseActionOptionsFlaggedIPTypeSerializer.class)
29+
public class SecurityMonitoringRuleCaseActionOptionsFlaggedIPType extends ModelEnum<String> {
30+
31+
private static final Set<String> allowedValues =
32+
new HashSet<String>(Arrays.asList("SUSPICIOUS", "FLAGGED"));
33+
34+
public static final SecurityMonitoringRuleCaseActionOptionsFlaggedIPType SUSPICIOUS =
35+
new SecurityMonitoringRuleCaseActionOptionsFlaggedIPType("SUSPICIOUS");
36+
public static final SecurityMonitoringRuleCaseActionOptionsFlaggedIPType FLAGGED =
37+
new SecurityMonitoringRuleCaseActionOptionsFlaggedIPType("FLAGGED");
38+
39+
SecurityMonitoringRuleCaseActionOptionsFlaggedIPType(String value) {
40+
super(value, allowedValues);
41+
}
42+
43+
public static class SecurityMonitoringRuleCaseActionOptionsFlaggedIPTypeSerializer
44+
extends StdSerializer<SecurityMonitoringRuleCaseActionOptionsFlaggedIPType> {
45+
public SecurityMonitoringRuleCaseActionOptionsFlaggedIPTypeSerializer(
46+
Class<SecurityMonitoringRuleCaseActionOptionsFlaggedIPType> t) {
47+
super(t);
48+
}
49+
50+
public SecurityMonitoringRuleCaseActionOptionsFlaggedIPTypeSerializer() {
51+
this(null);
52+
}
53+
54+
@Override
55+
public void serialize(
56+
SecurityMonitoringRuleCaseActionOptionsFlaggedIPType value,
57+
JsonGenerator jgen,
58+
SerializerProvider provider)
59+
throws IOException, JsonProcessingException {
60+
jgen.writeObject(value.value);
61+
}
62+
}
63+
64+
@JsonCreator
65+
public static SecurityMonitoringRuleCaseActionOptionsFlaggedIPType fromValue(String value) {
66+
return new SecurityMonitoringRuleCaseActionOptionsFlaggedIPType(value);
67+
}
68+
}

src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleCaseActionType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,16 @@
2525
public class SecurityMonitoringRuleCaseActionType extends ModelEnum<String> {
2626

2727
private static final Set<String> allowedValues =
28-
new HashSet<String>(Arrays.asList("block_ip", "block_user", "user_behavior"));
28+
new HashSet<String>(Arrays.asList("block_ip", "block_user", "user_behavior", "flag_ip"));
2929

3030
public static final SecurityMonitoringRuleCaseActionType BLOCK_IP =
3131
new SecurityMonitoringRuleCaseActionType("block_ip");
3232
public static final SecurityMonitoringRuleCaseActionType BLOCK_USER =
3333
new SecurityMonitoringRuleCaseActionType("block_user");
3434
public static final SecurityMonitoringRuleCaseActionType USER_BEHAVIOR =
3535
new SecurityMonitoringRuleCaseActionType("user_behavior");
36+
public static final SecurityMonitoringRuleCaseActionType FLAG_IP =
37+
new SecurityMonitoringRuleCaseActionType("flag_ip");
3638

3739
SecurityMonitoringRuleCaseActionType(String value) {
3840
super(value, allowedValues);

src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ Feature: Security Monitoring
225225
@skip-validation @team:DataDog/k9-cloud-security-platform
226226
Scenario: Create a detection rule with type 'application_security 'returns "OK" response
227227
Given new "CreateSecurityMonitoringRule" request
228-
And body with value {"type":"application_security","name":"{{unique}}_appsec_rule","queries":[{"query":"@appsec.security_activity:business_logic.users.login.failure","aggregation":"count","groupByFields":["service","@http.client_ip"],"distinctFields":[]}],"filters":[],"cases":[{"name":"","status":"info","notifications":[],"condition":"a > 100000","actions":[{"type":"block_ip","options":{"duration":900}}, {"type":"user_behavior","options":{"userBehaviorName":"behavior"}}]}],"options":{"keepAlive":3600,"maxSignalDuration":86400,"evaluationWindow":900,"detectionMethod":"threshold"},"isEnabled":true,"message":"Test rule","tags":[],"groupSignalsBy":["service"]}
228+
And body with value {"type":"application_security","name":"{{unique}}_appsec_rule","queries":[{"query":"@appsec.security_activity:business_logic.users.login.failure","aggregation":"count","groupByFields":["service","@http.client_ip"],"distinctFields":[]}],"filters":[],"cases":[{"name":"","status":"info","notifications":[],"condition":"a > 100000","actions":[{"type":"block_ip","options":{"duration":900}}, {"type":"user_behavior","options":{"userBehaviorName":"behavior"}}, {"type":"flag_ip","options":{"flaggedIPType":"FLAGGED"}}]}],"options":{"keepAlive":3600,"maxSignalDuration":86400,"evaluationWindow":900,"detectionMethod":"threshold"},"isEnabled":true,"message":"Test rule","tags":[],"groupSignalsBy":["service"]}
229229
When the request is sent
230230
Then the response status is 200 OK
231231
And the response "name" is equal to "{{ unique }}_appsec_rule"

0 commit comments

Comments
 (0)