Skip to content

Commit 72b07c8

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Security Monitoring Rule - Add the updatedAt field in the SecurityMonitoringStandardRuleResponse (#2582)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent c4295c1 commit 72b07c8

9 files changed

+58
-26
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-12-09 11:21:35.673772",
8-
"spec_repo_commit": "21da0df3"
7+
"regenerated": "2024-12-10 13:52:27.205718",
8+
"spec_repo_commit": "4f71be94"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2024-12-09 11:21:35.692436",
13-
"spec_repo_commit": "21da0df3"
12+
"regenerated": "2024-12-10 13:52:27.224743",
13+
"spec_repo_commit": "4f71be94"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22893,6 +22893,10 @@ components:
2289322893
description: User ID of the user who updated the rule.
2289422894
format: int64
2289522895
type: integer
22896+
updatedAt:
22897+
description: The date the rule was last updated, in milliseconds.
22898+
format: int64
22899+
type: integer
2289622900
version:
2289722901
description: The version of the rule.
2289822902
format: int64

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_THIRD_PARTY_CASES,
4242
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_TYPE,
4343
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_UPDATE_AUTHOR_ID,
44+
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_UPDATED_AT,
4445
SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_VERSION
4546
})
4647
@jakarta.annotation.Generated(
@@ -110,6 +111,9 @@ public class SecurityMonitoringStandardRuleResponse {
110111
public static final String JSON_PROPERTY_UPDATE_AUTHOR_ID = "updateAuthorId";
111112
private Long updateAuthorId;
112113

114+
public static final String JSON_PROPERTY_UPDATED_AT = "updatedAt";
115+
private Long updatedAt;
116+
113117
public static final String JSON_PROPERTY_VERSION = "version";
114118
private Long version;
115119

@@ -646,6 +650,27 @@ public void setUpdateAuthorId(Long updateAuthorId) {
646650
this.updateAuthorId = updateAuthorId;
647651
}
648652

653+
public SecurityMonitoringStandardRuleResponse updatedAt(Long updatedAt) {
654+
this.updatedAt = updatedAt;
655+
return this;
656+
}
657+
658+
/**
659+
* The date the rule was last updated, in milliseconds.
660+
*
661+
* @return updatedAt
662+
*/
663+
@jakarta.annotation.Nullable
664+
@JsonProperty(JSON_PROPERTY_UPDATED_AT)
665+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
666+
public Long getUpdatedAt() {
667+
return updatedAt;
668+
}
669+
670+
public void setUpdatedAt(Long updatedAt) {
671+
this.updatedAt = updatedAt;
672+
}
673+
649674
public SecurityMonitoringStandardRuleResponse version(Long version) {
650675
this.version = version;
651676
return this;
@@ -753,6 +778,7 @@ public boolean equals(Object o) {
753778
&& Objects.equals(this.type, securityMonitoringStandardRuleResponse.type)
754779
&& Objects.equals(
755780
this.updateAuthorId, securityMonitoringStandardRuleResponse.updateAuthorId)
781+
&& Objects.equals(this.updatedAt, securityMonitoringStandardRuleResponse.updatedAt)
756782
&& Objects.equals(this.version, securityMonitoringStandardRuleResponse.version)
757783
&& Objects.equals(
758784
this.additionalProperties, securityMonitoringStandardRuleResponse.additionalProperties);
@@ -782,6 +808,7 @@ public int hashCode() {
782808
thirdPartyCases,
783809
type,
784810
updateAuthorId,
811+
updatedAt,
785812
version,
786813
additionalProperties);
787814
}
@@ -813,6 +840,7 @@ public String toString() {
813840
sb.append(" thirdPartyCases: ").append(toIndentedString(thirdPartyCases)).append("\n");
814841
sb.append(" type: ").append(toIndentedString(type)).append("\n");
815842
sb.append(" updateAuthorId: ").append(toIndentedString(updateAuthorId)).append("\n");
843+
sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n");
816844
sb.append(" version: ").append(toIndentedString(version)).append("\n");
817845
sb.append(" additionalProperties: ")
818846
.append(toIndentedString(additionalProperties))
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024-05-10T16:34:48.233Z
1+
2024-11-22T13:52:05.136Z

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

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024-05-10T16:34:48.765Z
1+
2024-11-22T13:52:07.331Z

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

Lines changed: 9 additions & 9 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\"]},\"isEnabled\":false,\"message\":\"Cloud configuration rule\",\"name\":\"Test-Update_a_cloud_configuration_rule_s_details_returns_OK_response-1715358888_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\":[\"a:tag\"],\"type\":\"cloud_configuration\"}"
6+
"json": "{\"cases\":[{\"notifications\":[\"channel\"],\"status\":\"info\"}],\"complianceSignalOptions\":{\"userActivationStatus\":true,\"userGroupByFields\":[\"@account_id\"]},\"isEnabled\":false,\"message\":\"Cloud configuration rule\",\"name\":\"Test-Update_a_cloud_configuration_rule_s_details_returns_OK_response-1732283527_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\":[\"a:tag\"],\"type\":\"cloud_configuration\"}"
77
},
88
"headers": {},
99
"method": "POST",
@@ -12,7 +12,7 @@
1212
"secure": true
1313
},
1414
"httpResponse": {
15-
"body": "{\"id\":\"efv-nza-5ev\",\"version\":1,\"name\":\"Test-Update_a_cloud_configuration_rule_s_details_returns_OK_response-1715358888_cloud\",\"createdAt\":1715358889053,\"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\":\"Cloud configuration rule\",\"tags\":[\"a:tag\"],\"hasExtendedTitle\":true,\"type\":\"cloud_configuration\",\"filters\":[]}\n",
15+
"body": "{\"id\":\"uao-sdg-mt8\",\"version\":1,\"name\":\"Test-Update_a_cloud_configuration_rule_s_details_returns_OK_response-1732283527_cloud\",\"createdAt\":1732283527664,\"creationAuthorId\":1445416,\"isDefault\":false,\"isPartner\":false,\"isEnabled\":false,\"isBeta\":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\":\"Cloud configuration rule\",\"tags\":[\"a:tag\"],\"hasExtendedTitle\":true,\"type\":\"cloud_configuration\",\"filters\":[]}\n",
1616
"headers": {
1717
"Content-Type": [
1818
"application/json"
@@ -27,22 +27,22 @@
2727
"timeToLive": {
2828
"unlimited": true
2929
},
30-
"id": "beba6fc6-74ca-ac99-d9cb-e977257013b2"
30+
"id": "01237732-7c1b-08ca-6cad-d4ccf5cf3691"
3131
},
3232
{
3333
"httpRequest": {
3434
"body": {
3535
"type": "JSON",
36-
"json": "{\"cases\":[{\"notifications\":[],\"status\":\"info\"}],\"complianceSignalOptions\":{\"userActivationStatus\":false,\"userGroupByFields\":[]},\"isEnabled\":false,\"message\":\"ddd\",\"name\":\"Test-Update_a_cloud_configuration_rule_s_details_returns_OK_response-1715358888_cloud_updated\",\"options\":{\"complianceRuleOptions\":{\"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\":[]}"
36+
"json": "{\"cases\":[{\"notifications\":[],\"status\":\"info\"}],\"complianceSignalOptions\":{\"userActivationStatus\":false,\"userGroupByFields\":[]},\"isEnabled\":false,\"message\":\"ddd\",\"name\":\"Test-Update_a_cloud_configuration_rule_s_details_returns_OK_response-1732283527_cloud_updated\",\"options\":{\"complianceRuleOptions\":{\"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\":[]}"
3737
},
3838
"headers": {},
3939
"method": "PUT",
40-
"path": "/api/v2/security_monitoring/rules/efv-nza-5ev",
40+
"path": "/api/v2/security_monitoring/rules/uao-sdg-mt8",
4141
"keepAlive": false,
4242
"secure": true
4343
},
4444
"httpResponse": {
45-
"body": "{\"id\":\"efv-nza-5ev\",\"version\":2,\"name\":\"Test-Update_a_cloud_configuration_rule_s_details_returns_OK_response-1715358888_cloud_updated\",\"createdAt\":1715358889053,\"creationAuthorId\":1445416,\"updateAuthorId\":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\":false,\"userGroupByFields\":[]},\"cases\":[{\"name\":\"\",\"status\":\"info\",\"notifications\":[],\"condition\":\"a > 0\"}],\"message\":\"ddd\",\"tags\":[],\"hasExtendedTitle\":true,\"type\":\"cloud_configuration\",\"filters\":[]}\n",
45+
"body": "{\"id\":\"uao-sdg-mt8\",\"version\":2,\"name\":\"Test-Update_a_cloud_configuration_rule_s_details_returns_OK_response-1732283527_cloud_updated\",\"createdAt\":1732283527664,\"creationAuthorId\":1445416,\"updateAuthorId\":1445416,\"updatedAt\":1732283528223,\"isDefault\":false,\"isPartner\":false,\"isEnabled\":false,\"isBeta\":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\":false,\"userGroupByFields\":[]},\"cases\":[{\"name\":\"\",\"status\":\"info\",\"notifications\":[],\"condition\":\"a > 0\"}],\"message\":\"ddd\",\"tags\":[],\"hasExtendedTitle\":true,\"type\":\"cloud_configuration\",\"filters\":[]}\n",
4646
"headers": {
4747
"Content-Type": [
4848
"application/json"
@@ -57,13 +57,13 @@
5757
"timeToLive": {
5858
"unlimited": true
5959
},
60-
"id": "990fafe1-2abe-b49a-2135-2746066b2961"
60+
"id": "c95cb645-70d5-fcf9-4fa6-af51ed0e2dd8"
6161
},
6262
{
6363
"httpRequest": {
6464
"headers": {},
6565
"method": "DELETE",
66-
"path": "/api/v2/security_monitoring/rules/efv-nza-5ev",
66+
"path": "/api/v2/security_monitoring/rules/uao-sdg-mt8",
6767
"keepAlive": false,
6868
"secure": true
6969
},
@@ -78,6 +78,6 @@
7878
"timeToLive": {
7979
"unlimited": true
8080
},
81-
"id": "518817cb-345c-e832-79bb-1295c2217b4a"
81+
"id": "6516fc5b-32ef-524c-cc93-28e99a2c6273"
8282
}
8383
]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024-05-10T16:34:54.978Z
1+
2024-11-22T13:52:12.595Z

0 commit comments

Comments
 (0)