Skip to content

Commit 2f9a021

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Security Monitoring - Make Default Tags available in the response (#2285)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com> Co-authored-by: api-clients-generation-pipeline[bot] <54105614+api-clients-generation-pipeline[bot]@users.noreply.github.com>
1 parent e79525f commit 2f9a021

File tree

57 files changed

+238
-194
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+238
-194
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
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": "2024-05-09 17:36:01.590391",
8-
"spec_repo_commit": "c5ba75e0"
7+
"regenerated": "2024-05-10 16:39:57.617582",
8+
"spec_repo_commit": "d6c22916"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2024-05-09 17:36:01.608771",
13-
"spec_repo_commit": "c5ba75e0"
12+
"regenerated": "2024-05-10 16:39:57.635288",
13+
"spec_repo_commit": "d6c22916"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18237,6 +18237,14 @@ components:
1823718237
description: User ID of the user who created the rule.
1823818238
format: int64
1823918239
type: integer
18240+
defaultTags:
18241+
description: Default Tags for default rules (included in tags)
18242+
example:
18243+
- security:attacks
18244+
items:
18245+
description: Default Tag.
18246+
type: string
18247+
type: array
1824018248
deprecationDate:
1824118249
description: When the rule will be deprecated, timestamp in milliseconds.
1824218250
format: int64

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

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_COMPLIANCE_SIGNAL_OPTIONS,
2525
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CREATED_AT,
2626
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CREATION_AUTHOR_ID,
27+
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_DEFAULT_TAGS,
2728
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_DEPRECATION_DATE,
2829
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_FILTERS,
2930
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_HAS_EXTENDED_TITLE,
@@ -57,6 +58,9 @@ public class SecurityMonitoringStandardRuleResponse {
5758
public static final String JSON_PROPERTY_CREATION_AUTHOR_ID = "creationAuthorId";
5859
private Long creationAuthorId;
5960

61+
public static final String JSON_PROPERTY_DEFAULT_TAGS = "defaultTags";
62+
private List<String> defaultTags = null;
63+
6064
public static final String JSON_PROPERTY_DEPRECATION_DATE = "deprecationDate";
6165
private Long deprecationDate;
6266

@@ -204,6 +208,35 @@ public void setCreationAuthorId(Long creationAuthorId) {
204208
this.creationAuthorId = creationAuthorId;
205209
}
206210

211+
public SecurityMonitoringStandardRuleResponse defaultTags(List<String> defaultTags) {
212+
this.defaultTags = defaultTags;
213+
return this;
214+
}
215+
216+
public SecurityMonitoringStandardRuleResponse addDefaultTagsItem(String defaultTagsItem) {
217+
if (this.defaultTags == null) {
218+
this.defaultTags = new ArrayList<>();
219+
}
220+
this.defaultTags.add(defaultTagsItem);
221+
return this;
222+
}
223+
224+
/**
225+
* Default Tags for default rules (included in tags)
226+
*
227+
* @return defaultTags
228+
*/
229+
@jakarta.annotation.Nullable
230+
@JsonProperty(JSON_PROPERTY_DEFAULT_TAGS)
231+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
232+
public List<String> getDefaultTags() {
233+
return defaultTags;
234+
}
235+
236+
public void setDefaultTags(List<String> defaultTags) {
237+
this.defaultTags = defaultTags;
238+
}
239+
207240
public SecurityMonitoringStandardRuleResponse deprecationDate(Long deprecationDate) {
208241
this.deprecationDate = deprecationDate;
209242
return this;
@@ -659,6 +692,7 @@ public boolean equals(Object o) {
659692
&& Objects.equals(this.createdAt, securityMonitoringStandardRuleResponse.createdAt)
660693
&& Objects.equals(
661694
this.creationAuthorId, securityMonitoringStandardRuleResponse.creationAuthorId)
695+
&& Objects.equals(this.defaultTags, securityMonitoringStandardRuleResponse.defaultTags)
662696
&& Objects.equals(
663697
this.deprecationDate, securityMonitoringStandardRuleResponse.deprecationDate)
664698
&& Objects.equals(this.filters, securityMonitoringStandardRuleResponse.filters)
@@ -690,6 +724,7 @@ public int hashCode() {
690724
complianceSignalOptions,
691725
createdAt,
692726
creationAuthorId,
727+
defaultTags,
693728
deprecationDate,
694729
filters,
695730
hasExtendedTitle,
@@ -719,6 +754,7 @@ public String toString() {
719754
.append("\n");
720755
sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n");
721756
sb.append(" creationAuthorId: ").append(toIndentedString(creationAuthorId)).append("\n");
757+
sb.append(" defaultTags: ").append(toIndentedString(defaultTags)).append("\n");
722758
sb.append(" deprecationDate: ").append(toIndentedString(deprecationDate)).append("\n");
723759
sb.append(" filters: ").append(toIndentedString(filters)).append("\n");
724760
sb.append(" hasExtendedTitle: ").append(toIndentedString(hasExtendedTitle)).append("\n");
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2023-08-31T11:51:28.995Z
1+
2024-05-10T16:34:27.362Z

src/test/resources/cassettes/features/v2/Create_a_cloud_configuration_rule_returns_OK_response.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"httpRequest": {
44
"body": {
55
"type": "JSON",
6-
"json": "{\"cases\":[{\"notifications\":[\"channel\"],\"status\":\"info\"}],\"complianceSignalOptions\":{\"userActivationStatus\":true,\"userGroupByFields\":[\"@account_id\"]},\"filters\":[{\"action\":\"require\",\"query\":\"resource_id:helo*\"},{\"action\":\"suppress\",\"query\":\"control:helo*\"}],\"isEnabled\":false,\"message\":\"ddd\",\"name\":\"Test-Create_a_cloud_configuration_rule_returns_OK_response-1693482688_cloud\",\"options\":{\"complianceRuleOptions\":{\"complexRule\":false,\"regoRule\":{\"policy\":\"package datadog\\n\\nimport data.datadog.output as dd_output\\n\\nimport future.keywords.contains\\nimport future.keywords.if\\nimport future.keywords.in\\n\\nmilliseconds_in_a_day := ((1000 * 60) * 60) * 24\\n\\neval(iam_service_account_key) = \\\"skip\\\" if {\\n\\tiam_service_account_key.disabled\\n} else = \\\"pass\\\" if {\\n\\t(iam_service_account_key.resource_seen_at / milliseconds_in_a_day) - (iam_service_account_key.valid_after_time / milliseconds_in_a_day) <= 90\\n} else = \\\"fail\\\"\\n\\n# This part remains unchanged for all rules\\nresults contains result if {\\n\\tsome resource in input.resources[input.main_resource_type]\\n\\tresult := dd_output.format(resource, eval(resource))\\n}\\n\",\"resourceTypes\":[\"gcp_compute_disk\"]},\"resourceType\":\"gcp_compute_disk\"}},\"tags\":[\"my:tag\"],\"type\":\"cloud_configuration\"}"
6+
"json": "{\"cases\":[{\"notifications\":[\"channel\"],\"status\":\"info\"}],\"complianceSignalOptions\":{\"userActivationStatus\":true,\"userGroupByFields\":[\"@account_id\"]},\"filters\":[{\"action\":\"require\",\"query\":\"resource_id:helo*\"},{\"action\":\"suppress\",\"query\":\"control:helo*\"}],\"isEnabled\":false,\"message\":\"ddd\",\"name\":\"Test-Create_a_cloud_configuration_rule_returns_OK_response-1715358867_cloud\",\"options\":{\"complianceRuleOptions\":{\"complexRule\":false,\"regoRule\":{\"policy\":\"package datadog\\n\\nimport data.datadog.output as dd_output\\n\\nimport future.keywords.contains\\nimport future.keywords.if\\nimport future.keywords.in\\n\\nmilliseconds_in_a_day := ((1000 * 60) * 60) * 24\\n\\neval(iam_service_account_key) = \\\"skip\\\" if {\\n\\tiam_service_account_key.disabled\\n} else = \\\"pass\\\" if {\\n\\t(iam_service_account_key.resource_seen_at / milliseconds_in_a_day) - (iam_service_account_key.valid_after_time / milliseconds_in_a_day) <= 90\\n} else = \\\"fail\\\"\\n\\n# This part remains unchanged for all rules\\nresults contains result if {\\n\\tsome resource in input.resources[input.main_resource_type]\\n\\tresult := dd_output.format(resource, eval(resource))\\n}\\n\",\"resourceTypes\":[\"gcp_compute_disk\"]},\"resourceType\":\"gcp_compute_disk\"}},\"tags\":[\"my:tag\"],\"type\":\"cloud_configuration\"}"
77
},
88
"headers": {},
99
"method": "POST",
@@ -12,7 +12,7 @@
1212
"secure": true
1313
},
1414
"httpResponse": {
15-
"body": "{\"id\":\"m0o-cza-uq9\",\"version\":1,\"name\":\"Test-Create_a_cloud_configuration_rule_returns_OK_response-1693482688_cloud\",\"createdAt\":1693482689435,\"creationAuthorId\":1445416,\"isDefault\":false,\"isEnabled\":false,\"isDeleted\":false,\"isDeprecated\":false,\"queries\":[{\"query\":\"resource_type:gcp_compute_disk\",\"groupByFields\":[\"resource_type\",\"resource_id\"],\"distinctFields\":[],\"aggregation\":\"count\",\"name\":\"a\"}],\"options\":{\"keepAlive\":21600,\"maxSignalDuration\":86400,\"detectionMethod\":\"threshold\",\"evaluationWindow\":7200,\"complianceRuleOptions\":{\"resourceType\":\"gcp_compute_disk\",\"regoRule\":{\"policy\":\"package datadog\\n\\nimport data.datadog.output as dd_output\\n\\nimport future.keywords.contains\\nimport future.keywords.if\\nimport future.keywords.in\\n\\nmilliseconds_in_a_day := ((1000 * 60) * 60) * 24\\n\\neval(iam_service_account_key) = \\\"skip\\\" if {\\n\\tiam_service_account_key.disabled\\n} else = \\\"pass\\\" if {\\n\\t(iam_service_account_key.resource_seen_at / milliseconds_in_a_day) - (iam_service_account_key.valid_after_time / milliseconds_in_a_day) <= 90\\n} else = \\\"fail\\\"\\n\\n# This part remains unchanged for all rules\\nresults contains result if {\\n\\tsome resource in input.resources[input.main_resource_type]\\n\\tresult := dd_output.format(resource, eval(resource))\\n}\\n\",\"resourceTypes\":[\"gcp_compute_disk\"]},\"complexRule\":false}},\"complianceSignalOptions\":{\"defaultActivationStatus\":null,\"defaultGroupByFields\":null,\"userActivationStatus\":true,\"userGroupByFields\":[\"@account_id\"]},\"cases\":[{\"name\":\"\",\"status\":\"info\",\"notifications\":[\"channel\"],\"condition\":\"a > 0\"}],\"message\":\"ddd\",\"tags\":[\"my:tag\"],\"hasExtendedTitle\":true,\"type\":\"cloud_configuration\",\"filters\":[{\"action\":\"require\",\"query\":\"resource_id:helo*\"},{\"action\":\"suppress\",\"query\":\"control:helo*\"}]}\n",
15+
"body": "{\"id\":\"fy5-crt-9n1\",\"version\":1,\"name\":\"Test-Create_a_cloud_configuration_rule_returns_OK_response-1715358867_cloud\",\"createdAt\":1715358867822,\"creationAuthorId\":1445416,\"isDefault\":false,\"isPartner\":false,\"isEnabled\":false,\"isDeleted\":false,\"isDeprecated\":false,\"queries\":[{\"query\":\"resource_type:gcp_compute_disk\",\"groupByFields\":[\"resource_type\",\"resource_id\"],\"hasOptionalGroupByFields\":false,\"distinctFields\":[],\"aggregation\":\"count\",\"name\":\"a\"}],\"options\":{\"keepAlive\":21600,\"maxSignalDuration\":86400,\"detectionMethod\":\"threshold\",\"evaluationWindow\":7200,\"complianceRuleOptions\":{\"resourceType\":\"gcp_compute_disk\",\"regoRule\":{\"policy\":\"package datadog\\n\\nimport data.datadog.output as dd_output\\n\\nimport future.keywords.contains\\nimport future.keywords.if\\nimport future.keywords.in\\n\\nmilliseconds_in_a_day := ((1000 * 60) * 60) * 24\\n\\neval(iam_service_account_key) = \\\"skip\\\" if {\\n\\tiam_service_account_key.disabled\\n} else = \\\"pass\\\" if {\\n\\t(iam_service_account_key.resource_seen_at / milliseconds_in_a_day) - (iam_service_account_key.valid_after_time / milliseconds_in_a_day) <= 90\\n} else = \\\"fail\\\"\\n\\n# This part remains unchanged for all rules\\nresults contains result if {\\n\\tsome resource in input.resources[input.main_resource_type]\\n\\tresult := dd_output.format(resource, eval(resource))\\n}\\n\",\"resourceTypes\":[\"gcp_compute_disk\"]},\"complexRule\":false}},\"complianceSignalOptions\":{\"defaultActivationStatus\":null,\"defaultGroupByFields\":null,\"userActivationStatus\":true,\"userGroupByFields\":[\"@account_id\"]},\"cases\":[{\"name\":\"\",\"status\":\"info\",\"notifications\":[\"channel\"],\"condition\":\"a > 0\"}],\"message\":\"ddd\",\"tags\":[\"my:tag\"],\"hasExtendedTitle\":true,\"type\":\"cloud_configuration\",\"filters\":[{\"action\":\"require\",\"query\":\"resource_id:helo*\"},{\"action\":\"suppress\",\"query\":\"control:helo*\"}]}\n",
1616
"headers": {
1717
"Content-Type": [
1818
"application/json"
@@ -27,13 +27,13 @@
2727
"timeToLive": {
2828
"unlimited": true
2929
},
30-
"id": "580d25a1-2d7a-2e41-290f-b242097238a3"
30+
"id": "b012349b-6ab8-f1f7-0ffc-a85e4667b148"
3131
},
3232
{
3333
"httpRequest": {
3434
"headers": {},
3535
"method": "DELETE",
36-
"path": "/api/v2/security_monitoring/rules/m0o-cza-uq9",
36+
"path": "/api/v2/security_monitoring/rules/fy5-crt-9n1",
3737
"keepAlive": false,
3838
"secure": true
3939
},
@@ -48,6 +48,6 @@
4848
"timeToLive": {
4949
"unlimited": true
5050
},
51-
"id": "a5a68459-4444-c98c-c3c4-390d48993448"
51+
"id": "5f690105-7d5c-3a72-27df-1767c3ba18b8"
5252
}
5353
]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2022-10-19T13:36:33.262Z
1+
2024-05-10T16:34:28.308Z

src/test/resources/cassettes/features/v2/Create_a_detection_rule_returns_Bad_Request_response.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"httpRequest": {
44
"body": {
55
"type": "JSON",
6-
"json": "{\"cases\":[{\"status\":\"info\"}],\"isEnabled\":true,\"message\":\"Test rule\",\"name\":\"Test-Create_a_detection_rule_returns_Bad_Request_response-1666186593\",\"options\":{},\"queries\":[{\"query\":\"\"}],\"tags\":[]}"
6+
"json": "{\"cases\":[{\"status\":\"info\"}],\"isEnabled\":true,\"message\":\"Test rule\",\"name\":\"Test-Create_a_detection_rule_returns_Bad_Request_response-1715358868\",\"options\":{},\"queries\":[{\"query\":\"\"}],\"tags\":[]}"
77
},
88
"headers": {},
99
"method": "POST",
@@ -12,7 +12,7 @@
1212
"secure": true
1313
},
1414
"httpResponse": {
15-
"body": "{\"errors\":[\"Internal error\"]}\n",
15+
"body": "{\"errors\":[\"Invalid rule configuration\",\"Query filter cannot be empty\"]}\n",
1616
"headers": {
1717
"Content-Type": [
1818
"application/json"
@@ -27,6 +27,6 @@
2727
"timeToLive": {
2828
"unlimited": true
2929
},
30-
"id": "8515ec7a-4796-004b-97e5-6fe68002292f"
30+
"id": "b297de8d-2576-fb4e-0148-b8629f03d267"
3131
}
3232
]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2022-10-19T13:36:33.666Z
1+
2024-05-10T16:34:28.650Z

src/test/resources/cassettes/features/v2/Create_a_detection_rule_returns_OK_response.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"httpRequest": {
44
"body": {
55
"type": "JSON",
6-
"json": "{\"cases\":[{\"condition\":\"a > 0\",\"name\":\"\",\"notifications\":[],\"status\":\"info\"}],\"filters\":[],\"isEnabled\":true,\"message\":\"Test rule\",\"name\":\"Test-Create_a_detection_rule_returns_OK_response-1666186593\",\"options\":{\"evaluationWindow\":900,\"keepAlive\":3600,\"maxSignalDuration\":86400},\"queries\":[{\"aggregation\":\"count\",\"distinctFields\":[],\"groupByFields\":[],\"metric\":\"\",\"query\":\"@test:true\"}],\"tags\":[],\"type\":\"log_detection\"}"
6+
"json": "{\"cases\":[{\"condition\":\"a > 0\",\"name\":\"\",\"notifications\":[],\"status\":\"info\"}],\"filters\":[],\"isEnabled\":true,\"message\":\"Test rule\",\"name\":\"Test-Create_a_detection_rule_returns_OK_response-1715358868\",\"options\":{\"evaluationWindow\":900,\"keepAlive\":3600,\"maxSignalDuration\":86400},\"queries\":[{\"aggregation\":\"count\",\"distinctFields\":[],\"groupByFields\":[],\"metric\":\"\",\"query\":\"@test:true\"}],\"tags\":[],\"type\":\"log_detection\"}"
77
},
88
"headers": {},
99
"method": "POST",
@@ -12,7 +12,7 @@
1212
"secure": true
1313
},
1414
"httpResponse": {
15-
"body": "{\"creationAuthorId\":1445416,\"tags\":[],\"isEnabled\":true,\"hasExtendedTitle\":false,\"message\":\"Test rule\",\"options\":{\"detectionMethod\":\"threshold\",\"evaluationWindow\":900,\"maxSignalDuration\":86400,\"keepAlive\":3600},\"version\":1,\"createdAt\":1666186594041,\"filters\":[],\"queries\":[{\"query\":\"@test:true\",\"groupByFields\":[],\"aggregation\":\"count\",\"name\":\"\",\"distinctFields\":[]}],\"isDeleted\":false,\"cases\":[{\"status\":\"info\",\"notifications\":[],\"name\":\"\",\"condition\":\"a > 0\"}],\"type\":\"log_detection\",\"id\":\"2zr-mrk-aq9\",\"isDefault\":false,\"name\":\"Test-Create_a_detection_rule_returns_OK_response-1666186593\"}\n",
15+
"body": "{\"id\":\"oka-fqr-yqa\",\"version\":1,\"name\":\"Test-Create_a_detection_rule_returns_OK_response-1715358868\",\"createdAt\":1715358869030,\"creationAuthorId\":1445416,\"isDefault\":false,\"isPartner\":false,\"isEnabled\":true,\"isDeleted\":false,\"isDeprecated\":false,\"queries\":[{\"query\":\"@test:true\",\"groupByFields\":[],\"hasOptionalGroupByFields\":false,\"distinctFields\":[],\"aggregation\":\"count\",\"name\":\"\"}],\"options\":{\"keepAlive\":3600,\"maxSignalDuration\":86400,\"detectionMethod\":\"threshold\",\"evaluationWindow\":900},\"cases\":[{\"name\":\"\",\"status\":\"info\",\"notifications\":[],\"condition\":\"a > 0\"}],\"message\":\"Test rule\",\"tags\":[],\"hasExtendedTitle\":false,\"type\":\"log_detection\",\"filters\":[]}\n",
1616
"headers": {
1717
"Content-Type": [
1818
"application/json"
@@ -27,13 +27,13 @@
2727
"timeToLive": {
2828
"unlimited": true
2929
},
30-
"id": "806b0fd1-7181-3bdc-cd33-dbb88df00187"
30+
"id": "8974582a-809b-b984-6681-70c6d78aa628"
3131
},
3232
{
3333
"httpRequest": {
3434
"headers": {},
3535
"method": "DELETE",
36-
"path": "/api/v2/security_monitoring/rules/2zr-mrk-aq9",
36+
"path": "/api/v2/security_monitoring/rules/oka-fqr-yqa",
3737
"keepAlive": false,
3838
"secure": true
3939
},
@@ -48,6 +48,6 @@
4848
"timeToLive": {
4949
"unlimited": true
5050
},
51-
"id": "2c65d173-e98d-81c4-7628-d133a3ae13f4"
51+
"id": "d3f91398-44fe-094a-07db-3845650a283b"
5252
}
5353
]
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024-01-03T15:07:54.290Z
1+
2024-05-10T16:34:29.476Z

0 commit comments

Comments
 (0)