From 212a644f1c3cd1cdd100bdba385f85a17bb9fb98 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 18 Jun 2025 09:44:15 +0000 Subject: [PATCH] Regenerate client from commit b6151f30 of spec repo --- .apigentools-info | 8 ++-- .generator/schemas/v2/openapi.yaml | 6 +++ .../CreateCSMThreatsAgentRule_1295653933.java | 9 +++-- .../CloudWorkloadSecurityAgentRuleAction.java | 37 ++++++++++++++++++- ...with_set_action_returns_OK_response.freeze | 2 +- ...e_with_set_action_returns_OK_response.json | 20 +++++----- ...tion_agent_rule_returns_OK_response.freeze | 2 +- ...ection_agent_rule_returns_OK_response.json | 26 ++++++------- ...tion_agent_rule_returns_OK_response.freeze | 2 +- ...ection_agent_rule_returns_OK_response.json | 28 +++++++------- ...t_rule_returns_Bad_Request_response.freeze | 2 +- ...ent_rule_returns_Bad_Request_response.json | 26 ++++++------- .../api/client/v2/api/csm_threats.feature | 2 +- .../com/datadog/api/client/v2/api/given.json | 2 +- 14 files changed, 108 insertions(+), 64 deletions(-) diff --git a/.apigentools-info b/.apigentools-info index 612257231a2..d0a0c79ca69 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2025-06-17 18:21:58.620175", - "spec_repo_commit": "b1a1c000" + "regenerated": "2025-06-18 09:42:19.367411", + "spec_repo_commit": "b6151f30" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2025-06-17 18:21:58.636299", - "spec_repo_commit": "b1a1c000" + "regenerated": "2025-06-18 09:42:19.383303", + "spec_repo_commit": "b6151f30" } } } \ No newline at end of file diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index d45c5dd9643..1d57e83d32f 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -7540,6 +7540,8 @@ components: description: SECL expression used to target the container to apply the action on type: string + hash: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActionHash' kill: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleKill' metadata: @@ -7547,6 +7549,10 @@ components: set: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActionSet' type: object + CloudWorkloadSecurityAgentRuleActionHash: + additionalProperties: {} + description: An empty object indicating the hash action + type: object CloudWorkloadSecurityAgentRuleActionMetadata: description: The metadata action applied on the scope matching the rule properties: diff --git a/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1295653933.java b/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1295653933.java index 7cf34f1f74b..18ce25ac2ed 100644 --- a/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1295653933.java +++ b/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1295653933.java @@ -10,7 +10,8 @@ import com.datadog.api.client.v2.model.CloudWorkloadSecurityAgentRuleCreateRequest; import com.datadog.api.client.v2.model.CloudWorkloadSecurityAgentRuleResponse; import com.datadog.api.client.v2.model.CloudWorkloadSecurityAgentRuleType; -import java.util.Collections; +import java.util.Arrays; +import java.util.Map; public class Example { public static void main(String[] args) { @@ -34,13 +35,15 @@ public static void main(String[] args) { .name("examplecsmthreat") .policyId(POLICY_DATA_ID) .actions( - Collections.singletonList( + Arrays.asList( new CloudWorkloadSecurityAgentRuleAction() .set( new CloudWorkloadSecurityAgentRuleActionSet() .name("test_set") .value("test_value") - .scope("process"))))) + .scope("process")), + new CloudWorkloadSecurityAgentRuleAction() + .hash(Map.ofEntries())))) .type(CloudWorkloadSecurityAgentRuleType.AGENT_RULE)); try { diff --git a/src/main/java/com/datadog/api/client/v2/model/CloudWorkloadSecurityAgentRuleAction.java b/src/main/java/com/datadog/api/client/v2/model/CloudWorkloadSecurityAgentRuleAction.java index 244ffaabba2..8c6721ca746 100644 --- a/src/main/java/com/datadog/api/client/v2/model/CloudWorkloadSecurityAgentRuleAction.java +++ b/src/main/java/com/datadog/api/client/v2/model/CloudWorkloadSecurityAgentRuleAction.java @@ -19,6 +19,7 @@ /** The action the rule can perform if triggered */ @JsonPropertyOrder({ CloudWorkloadSecurityAgentRuleAction.JSON_PROPERTY_FILTER, + CloudWorkloadSecurityAgentRuleAction.JSON_PROPERTY_HASH, CloudWorkloadSecurityAgentRuleAction.JSON_PROPERTY_KILL, CloudWorkloadSecurityAgentRuleAction.JSON_PROPERTY_METADATA, CloudWorkloadSecurityAgentRuleAction.JSON_PROPERTY_SET @@ -30,6 +31,9 @@ public class CloudWorkloadSecurityAgentRuleAction { public static final String JSON_PROPERTY_FILTER = "filter"; private String filter; + public static final String JSON_PROPERTY_HASH = "hash"; + private Map hash = null; + public static final String JSON_PROPERTY_KILL = "kill"; private CloudWorkloadSecurityAgentRuleKill kill; @@ -60,6 +64,35 @@ public void setFilter(String filter) { this.filter = filter; } + public CloudWorkloadSecurityAgentRuleAction hash(Map hash) { + this.hash = hash; + return this; + } + + public CloudWorkloadSecurityAgentRuleAction putHashItem(String key, Object hashItem) { + if (this.hash == null) { + this.hash = new HashMap<>(); + } + this.hash.put(key, hashItem); + return this; + } + + /** + * An empty object indicating the hash action + * + * @return hash + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HASH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getHash() { + return hash; + } + + public void setHash(Map hash) { + this.hash = hash; + } + public CloudWorkloadSecurityAgentRuleAction kill(CloudWorkloadSecurityAgentRuleKill kill) { this.kill = kill; this.unparsed |= kill.unparsed; @@ -185,6 +218,7 @@ public boolean equals(Object o) { CloudWorkloadSecurityAgentRuleAction cloudWorkloadSecurityAgentRuleAction = (CloudWorkloadSecurityAgentRuleAction) o; return Objects.equals(this.filter, cloudWorkloadSecurityAgentRuleAction.filter) + && Objects.equals(this.hash, cloudWorkloadSecurityAgentRuleAction.hash) && Objects.equals(this.kill, cloudWorkloadSecurityAgentRuleAction.kill) && Objects.equals(this.metadata, cloudWorkloadSecurityAgentRuleAction.metadata) && Objects.equals(this.set, cloudWorkloadSecurityAgentRuleAction.set) @@ -194,7 +228,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(filter, kill, metadata, set, additionalProperties); + return Objects.hash(filter, hash, kill, metadata, set, additionalProperties); } @Override @@ -202,6 +236,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class CloudWorkloadSecurityAgentRuleAction {\n"); sb.append(" filter: ").append(toIndentedString(filter)).append("\n"); + sb.append(" hash: ").append(toIndentedString(hash)).append("\n"); sb.append(" kill: ").append(toIndentedString(kill)).append("\n"); sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); sb.append(" set: ").append(toIndentedString(set)).append("\n"); diff --git a/src/test/resources/cassettes/features/v2/Create_a_Workload_Protection_agent_rule_with_set_action_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Create_a_Workload_Protection_agent_rule_with_set_action_returns_OK_response.freeze index 210e74a64ea..07075ecafcf 100644 --- a/src/test/resources/cassettes/features/v2/Create_a_Workload_Protection_agent_rule_with_set_action_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Create_a_Workload_Protection_agent_rule_with_set_action_returns_OK_response.freeze @@ -1 +1 @@ -2025-05-27T10:24:57.049Z \ No newline at end of file +2025-06-13T15:16:58.034Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_a_Workload_Protection_agent_rule_with_set_action_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Create_a_Workload_Protection_agent_rule_with_set_action_returns_OK_response.json index fe4027bb156..422f75e9789 100644 --- a/src/test/resources/cassettes/features/v2/Create_a_Workload_Protection_agent_rule_with_set_action_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Create_a_Workload_Protection_agent_rule_with_set_action_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"description\":\"My agent policy\",\"enabled\":true,\"hostTags\":[\"env:staging\"],\"name\":\"testcreateaworkloadprotectionagentrulewithsetactionreturnsokresponse1748341497\"},\"type\":\"policy\"}}" + "json": "{\"data\":{\"attributes\":{\"description\":\"My agent policy\",\"enabled\":true,\"hostTags\":[\"env:staging\"],\"name\":\"testcreateaworkloadprotectionagentrulewithsetactionreturnsokresponse1749827818\"},\"type\":\"policy\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"qyj-iza-vbu\",\"type\":\"policy\",\"attributes\":{\"blockingRulesCount\":0,\"datadogManaged\":false,\"description\":\"My agent policy\",\"disabledRulesCount\":1,\"enabled\":true,\"hostTags\":[\"env:staging\"],\"monitoringRulesCount\":225,\"name\":\"testcreateaworkloadprotectionagentrulewithsetactionreturnsokresponse1748341497\",\"policyVersion\":\"1\",\"priority\":1000000011,\"ruleCount\":226,\"updateDate\":1748341497346,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"alt-4q4-baa\",\"type\":\"policy\",\"attributes\":{\"blockingRulesCount\":0,\"datadogManaged\":false,\"description\":\"My agent policy\",\"disabledRulesCount\":1,\"enabled\":true,\"hostTags\":[\"env:staging\"],\"monitoringRulesCount\":225,\"name\":\"testcreateaworkloadprotectionagentrulewithsetactionreturnsokresponse1749827818\",\"policyVersion\":\"1\",\"priority\":1000000013,\"ruleCount\":226,\"updateDate\":1749827818428,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "573b0a46-29e1-7d6b-1e24-65f1ebbabc50" + "id": "258766a3-d0c8-5c2b-27cf-0f2ddc6a4c23" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"scope\":\"process\",\"value\":\"test_value\"}}],\"description\":\"My Agent rule with set action\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[],\"name\":\"testcreateaworkloadprotectionagentrulewithsetactionreturnsokresponse1748341497\",\"policy_id\":\"qyj-iza-vbu\",\"product_tags\":[]},\"type\":\"agent_rule\"}}" + "json": "{\"data\":{\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"scope\":\"process\",\"value\":\"test_value\"}},{\"hash\":{}}],\"description\":\"My Agent rule with set action\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[],\"name\":\"testcreateaworkloadprotectionagentrulewithsetactionreturnsokresponse1749827818\",\"policy_id\":\"alt-4q4-baa\",\"product_tags\":[]},\"type\":\"agent_rule\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"zux-bp8-zov\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1748341498175,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule with set action\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"qyj-iza-vbu\"],\"name\":\"testcreateaworkloadprotectionagentrulewithsetactionreturnsokresponse1748341497\",\"product_tags\":[],\"updateDate\":1748341498175,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"ps3-64e-shx\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false},{\"hash\":{},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1749827819065,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule with set action\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"alt-4q4-baa\"],\"name\":\"testcreateaworkloadprotectionagentrulewithsetactionreturnsokresponse1749827818\",\"product_tags\":[],\"updateDate\":1749827819065,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "c5a84c2d-4c46-8dbb-0a32-cdd061c7370a" + "id": "b8d1628e-7339-06f6-38f5-374d03cf338b" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/agent_rules/zux-bp8-zov", + "path": "/api/v2/remote_config/products/cws/agent_rules/ps3-64e-shx", "keepAlive": false, "secure": true }, @@ -82,13 +82,13 @@ "timeToLive": { "unlimited": true }, - "id": "de4853db-6fb4-726f-2321-f1eb00c650fc" + "id": "2e30739b-44e5-f2cd-6998-ce6f2d27a7b6" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/policy/qyj-iza-vbu", + "path": "/api/v2/remote_config/products/cws/policy/alt-4q4-baa", "keepAlive": false, "secure": true }, @@ -107,6 +107,6 @@ "timeToLive": { "unlimited": true }, - "id": "aae849c3-ab82-d6f0-8976-5674ade5c71d" + "id": "8c258b51-4925-24fa-c829-d30a4be958c3" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_a_Workload_Protection_agent_rule_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Delete_a_Workload_Protection_agent_rule_returns_OK_response.freeze index ded4aa11a63..965ca7d5407 100644 --- a/src/test/resources/cassettes/features/v2/Delete_a_Workload_Protection_agent_rule_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Delete_a_Workload_Protection_agent_rule_returns_OK_response.freeze @@ -1 +1 @@ -2025-05-27T10:25:02.351Z \ No newline at end of file +2025-06-13T15:16:43.100Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_a_Workload_Protection_agent_rule_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Delete_a_Workload_Protection_agent_rule_returns_OK_response.json index 1e982e98d20..d3215d5e2ac 100644 --- a/src/test/resources/cassettes/features/v2/Delete_a_Workload_Protection_agent_rule_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Delete_a_Workload_Protection_agent_rule_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"description\":\"My agent policy\",\"enabled\":true,\"hostTags\":[\"env:staging\"],\"name\":\"testdeleteaworkloadprotectionagentrulereturnsokresponse1748341502\"},\"type\":\"policy\"}}" + "json": "{\"data\":{\"attributes\":{\"description\":\"My agent policy\",\"enabled\":true,\"hostTags\":[\"env:staging\"],\"name\":\"testdeleteaworkloadprotectionagentrulereturnsokresponse1749827803\"},\"type\":\"policy\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"ney-zeu-tex\",\"type\":\"policy\",\"attributes\":{\"blockingRulesCount\":0,\"datadogManaged\":false,\"description\":\"My agent policy\",\"disabledRulesCount\":1,\"enabled\":true,\"hostTags\":[\"env:staging\"],\"monitoringRulesCount\":225,\"name\":\"testdeleteaworkloadprotectionagentrulereturnsokresponse1748341502\",\"policyVersion\":\"1\",\"priority\":1000000011,\"ruleCount\":226,\"updateDate\":1748341502642,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"tn0-tjy-vwh\",\"type\":\"policy\",\"attributes\":{\"blockingRulesCount\":0,\"datadogManaged\":false,\"description\":\"My agent policy\",\"disabledRulesCount\":1,\"enabled\":true,\"hostTags\":[\"env:staging\"],\"monitoringRulesCount\":225,\"name\":\"testdeleteaworkloadprotectionagentrulereturnsokresponse1749827803\",\"policyVersion\":\"1\",\"priority\":1000000013,\"ruleCount\":226,\"updateDate\":1749827803539,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "35bbae56-8f61-568e-de69-47c665ea0e01" + "id": "f5263bd7-a7e1-425a-b112-3cab47f353c2" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"scope\":\"process\",\"value\":\"test_value\"}}],\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"name\":\"testdeleteaworkloadprotectionagentrulereturnsokresponse1748341502\",\"policy_id\":\"ney-zeu-tex\",\"product_tags\":[\"security:attack\",\"technique:T1059\"]},\"type\":\"agent_rule\"}}" + "json": "{\"data\":{\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"scope\":\"process\",\"value\":\"test_value\"}},{\"hash\":{}}],\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"name\":\"testdeleteaworkloadprotectionagentrulereturnsokresponse1749827803\",\"policy_id\":\"tn0-tjy-vwh\",\"product_tags\":[\"security:attack\",\"technique:T1059\"]},\"type\":\"agent_rule\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"gys-bzk-zs4\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1748341503254,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"ney-zeu-tex\"],\"name\":\"testdeleteaworkloadprotectionagentrulereturnsokresponse1748341502\",\"product_tags\":[\"security:attack\",\"technique:T1059\"],\"updateDate\":1748341503254,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"hm0-n7p-hq7\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false},{\"hash\":{},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1749827804150,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"tn0-tjy-vwh\"],\"name\":\"testdeleteaworkloadprotectionagentrulereturnsokresponse1749827803\",\"product_tags\":[\"security:attack\",\"technique:T1059\"],\"updateDate\":1749827804150,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -57,16 +57,16 @@ "timeToLive": { "unlimited": true }, - "id": "47e2316e-b74b-8f0c-c1d3-3fd0692e4107" + "id": "77fdc0ba-cd06-5c8b-d115-0767402fb565" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/agent_rules/gys-bzk-zs4", + "path": "/api/v2/remote_config/products/cws/agent_rules/hm0-n7p-hq7", "queryStringParameters": { "policy_id": [ - "ney-zeu-tex" + "tn0-tjy-vwh" ] }, "keepAlive": false, @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "b7ea5ab7-5071-abc5-f069-2aed3ff8500f" + "id": "102a27ad-c486-6948-f39a-3ac93ef7120f" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/agent_rules/gys-bzk-zs4", + "path": "/api/v2/remote_config/products/cws/agent_rules/hm0-n7p-hq7", "keepAlive": false, "secure": true }, @@ -113,13 +113,13 @@ "timeToLive": { "unlimited": true }, - "id": "a8735ec0-33f5-01cc-f0ad-79bb449d8764" + "id": "071c70f0-e64c-9b29-92b1-d30b8ae116a8" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/policy/ney-zeu-tex", + "path": "/api/v2/remote_config/products/cws/policy/tn0-tjy-vwh", "keepAlive": false, "secure": true }, @@ -138,6 +138,6 @@ "timeToLive": { "unlimited": true }, - "id": "5c3879bc-7035-b3e1-518b-a3df1638b00a" + "id": "df9f53da-3e41-888c-18aa-2a10201ae88e" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_a_Workload_Protection_agent_rule_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_a_Workload_Protection_agent_rule_returns_OK_response.freeze index bfab02cf0dd..e6dcf8a16af 100644 --- a/src/test/resources/cassettes/features/v2/Get_a_Workload_Protection_agent_rule_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_a_Workload_Protection_agent_rule_returns_OK_response.freeze @@ -1 +1 @@ -2025-05-27T10:25:11.236Z \ No newline at end of file +2025-06-13T15:16:09.321Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_a_Workload_Protection_agent_rule_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_a_Workload_Protection_agent_rule_returns_OK_response.json index 8b0ff244748..b9339273f54 100644 --- a/src/test/resources/cassettes/features/v2/Get_a_Workload_Protection_agent_rule_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_a_Workload_Protection_agent_rule_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"description\":\"My agent policy\",\"enabled\":true,\"hostTags\":[\"env:staging\"],\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1748341511\"},\"type\":\"policy\"}}" + "json": "{\"data\":{\"attributes\":{\"description\":\"My agent policy\",\"enabled\":true,\"hostTags\":[\"env:staging\"],\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1749827769\"},\"type\":\"policy\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"rb7-4db-zo7\",\"type\":\"policy\",\"attributes\":{\"blockingRulesCount\":0,\"datadogManaged\":false,\"description\":\"My agent policy\",\"disabledRulesCount\":1,\"enabled\":true,\"hostTags\":[\"env:staging\"],\"monitoringRulesCount\":225,\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1748341511\",\"policyVersion\":\"1\",\"priority\":1000000011,\"ruleCount\":226,\"updateDate\":1748341511524,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"8ps-fwp-o64\",\"type\":\"policy\",\"attributes\":{\"blockingRulesCount\":0,\"datadogManaged\":false,\"description\":\"My agent policy\",\"disabledRulesCount\":1,\"enabled\":true,\"hostTags\":[\"env:staging\"],\"monitoringRulesCount\":225,\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1749827769\",\"policyVersion\":\"1\",\"priority\":1000000013,\"ruleCount\":226,\"updateDate\":1749827769724,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "a577a8b2-5038-f409-c0b3-bef4480801ec" + "id": "7f4903c9-8432-1315-da73-bf09308694d6" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"scope\":\"process\",\"value\":\"test_value\"}}],\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1748341511\",\"policy_id\":\"rb7-4db-zo7\",\"product_tags\":[\"security:attack\",\"technique:T1059\"]},\"type\":\"agent_rule\"}}" + "json": "{\"data\":{\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"scope\":\"process\",\"value\":\"test_value\"}},{\"hash\":{}}],\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1749827769\",\"policy_id\":\"8ps-fwp-o64\",\"product_tags\":[\"security:attack\",\"technique:T1059\"]},\"type\":\"agent_rule\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"xll-jfj-cti\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1748341512094,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"rb7-4db-zo7\"],\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1748341511\",\"product_tags\":[\"security:attack\",\"technique:T1059\"],\"updateDate\":1748341512094,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"onw-c2u-mha\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false},{\"hash\":{},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1749827770435,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"8ps-fwp-o64\"],\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1749827769\",\"product_tags\":[\"security:attack\",\"technique:T1059\"],\"updateDate\":1749827770435,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -57,23 +57,23 @@ "timeToLive": { "unlimited": true }, - "id": "d28f2ec8-9956-ff94-b7eb-978bde1dddd6" + "id": "ad8afea9-afe5-2fb0-8abc-94eaed4fee31" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/remote_config/products/cws/agent_rules/xll-jfj-cti", + "path": "/api/v2/remote_config/products/cws/agent_rules/onw-c2u-mha", "queryStringParameters": { "policy_id": [ - "rb7-4db-zo7" + "8ps-fwp-o64" ] }, "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"xll-jfj-cti\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1748341512094,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"rb7-4db-zo7\"],\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1748341511\",\"product_tags\":[\"security:attack\",\"technique:T1059\"],\"updateDate\":1748341512094,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"onw-c2u-mha\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false},{\"hash\":{},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1749827770435,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"8ps-fwp-o64\"],\"name\":\"testgetaworkloadprotectionagentrulereturnsokresponse1749827769\",\"product_tags\":[\"security:attack\",\"technique:T1059\"],\"updateDate\":1749827770435,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -88,13 +88,13 @@ "timeToLive": { "unlimited": true }, - "id": "0f2503a4-82a7-5ca1-825d-778cd94f09ce" + "id": "03e03ae5-e5fa-0b60-34dc-edc539b6994d" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/agent_rules/xll-jfj-cti", + "path": "/api/v2/remote_config/products/cws/agent_rules/onw-c2u-mha", "keepAlive": false, "secure": true }, @@ -113,13 +113,13 @@ "timeToLive": { "unlimited": true }, - "id": "bdf89145-7890-e2b3-67f4-0b16f4447223" + "id": "22c8428e-2938-37ba-6fc1-c4fdb0cab0ed" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/policy/rb7-4db-zo7", + "path": "/api/v2/remote_config/products/cws/policy/8ps-fwp-o64", "keepAlive": false, "secure": true }, @@ -138,6 +138,6 @@ "timeToLive": { "unlimited": true }, - "id": "3b2de2d5-1f54-cb41-29cd-b8ea2c4d276f" + "id": "77e02aac-57a2-df9f-875d-602d84a50c97" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_a_Workload_Protection_agent_rule_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Update_a_Workload_Protection_agent_rule_returns_Bad_Request_response.freeze index 724bb514cc4..682f302b0fe 100644 --- a/src/test/resources/cassettes/features/v2/Update_a_Workload_Protection_agent_rule_returns_Bad_Request_response.freeze +++ b/src/test/resources/cassettes/features/v2/Update_a_Workload_Protection_agent_rule_returns_Bad_Request_response.freeze @@ -1 +1 @@ -2025-05-27T10:25:17.186Z \ No newline at end of file +2025-06-13T15:16:28.583Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_a_Workload_Protection_agent_rule_returns_Bad_Request_response.json b/src/test/resources/cassettes/features/v2/Update_a_Workload_Protection_agent_rule_returns_Bad_Request_response.json index ca791b0249c..4b41bd23b60 100644 --- a/src/test/resources/cassettes/features/v2/Update_a_Workload_Protection_agent_rule_returns_Bad_Request_response.json +++ b/src/test/resources/cassettes/features/v2/Update_a_Workload_Protection_agent_rule_returns_Bad_Request_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"description\":\"My agent policy\",\"enabled\":true,\"hostTags\":[\"env:staging\"],\"name\":\"testupdateaworkloadprotectionagentrulereturnsbadrequestresponse1748341517\"},\"type\":\"policy\"}}" + "json": "{\"data\":{\"attributes\":{\"description\":\"My agent policy\",\"enabled\":true,\"hostTags\":[\"env:staging\"],\"name\":\"testupdateaworkloadprotectionagentrulereturnsbadrequestresponse1749827788\"},\"type\":\"policy\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"3f2-3l2-9wi\",\"type\":\"policy\",\"attributes\":{\"blockingRulesCount\":0,\"datadogManaged\":false,\"description\":\"My agent policy\",\"disabledRulesCount\":1,\"enabled\":true,\"hostTags\":[\"env:staging\"],\"monitoringRulesCount\":225,\"name\":\"testupdateaworkloadprotectionagentrulereturnsbadrequestresponse1748341517\",\"policyVersion\":\"1\",\"priority\":1000000011,\"ruleCount\":226,\"updateDate\":1748341517477,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"fuv-zyk-wli\",\"type\":\"policy\",\"attributes\":{\"blockingRulesCount\":0,\"datadogManaged\":false,\"description\":\"My agent policy\",\"disabledRulesCount\":1,\"enabled\":true,\"hostTags\":[\"env:staging\"],\"monitoringRulesCount\":225,\"name\":\"testupdateaworkloadprotectionagentrulereturnsbadrequestresponse1749827788\",\"policyVersion\":\"1\",\"priority\":1000000013,\"ruleCount\":226,\"updateDate\":1749827789001,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "104e3ec5-2ce7-cc4f-51eb-1a3abb64c1d1" + "id": "810ba0e7-b656-31fc-ca87-ce1a0cd5f608" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"scope\":\"process\",\"value\":\"test_value\"}}],\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"name\":\"testupdateaworkloadprotectionagentrulereturnsbadrequestresponse1748341517\",\"policy_id\":\"3f2-3l2-9wi\",\"product_tags\":[\"security:attack\",\"technique:T1059\"]},\"type\":\"agent_rule\"}}" + "json": "{\"data\":{\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"scope\":\"process\",\"value\":\"test_value\"}},{\"hash\":{}}],\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"name\":\"testupdateaworkloadprotectionagentrulereturnsbadrequestresponse1749827788\",\"policy_id\":\"fuv-zyk-wli\",\"product_tags\":[\"security:attack\",\"technique:T1059\"]},\"type\":\"agent_rule\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"rhm-wzc-6qu\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1748341518091,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"3f2-3l2-9wi\"],\"name\":\"testupdateaworkloadprotectionagentrulereturnsbadrequestresponse1748341517\",\"product_tags\":[\"security:attack\",\"technique:T1059\"],\"updateDate\":1748341518091,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", + "body": "{\"data\":{\"id\":\"f8u-th8-0er\",\"type\":\"agent_rule\",\"attributes\":{\"actions\":[{\"set\":{\"name\":\"test_set\",\"value\":\"test_value\",\"scope\":\"process\"},\"disabled\":false},{\"hash\":{},\"disabled\":false}],\"category\":\"Process Activity\",\"creationDate\":1749827789457,\"creator\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"},\"defaultRule\":false,\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"filters\":[\"os == \\\"linux\\\"\"],\"monitoring\":[\"fuv-zyk-wli\"],\"name\":\"testupdateaworkloadprotectionagentrulereturnsbadrequestresponse1749827788\",\"product_tags\":[\"security:attack\",\"technique:T1059\"],\"updateDate\":1749827789457,\"updater\":{\"name\":\"frog\",\"handle\":\"frog@datadoghq.com\"}}}}", "headers": { "Content-Type": [ "application/json" @@ -57,17 +57,17 @@ "timeToLive": { "unlimited": true }, - "id": "46ec6a2c-0bb7-ed05-c468-cadcecc418ad" + "id": "99dc0fcd-a47c-ea53-4559-aa7cd04cd884" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"policy_id\":\"3f2-3l2-9wi\",\"product_tags\":[]},\"id\":\"invalid-agent-rule-id\",\"type\":\"agent_rule\"}}" + "json": "{\"data\":{\"attributes\":{\"description\":\"My Agent rule\",\"enabled\":true,\"expression\":\"exec.file.name == \\\"sh\\\"\",\"policy_id\":\"fuv-zyk-wli\",\"product_tags\":[]},\"id\":\"invalid-agent-rule-id\",\"type\":\"agent_rule\"}}" }, "headers": {}, "method": "PATCH", - "path": "/api/v2/remote_config/products/cws/agent_rules/rhm-wzc-6qu", + "path": "/api/v2/remote_config/products/cws/agent_rules/f8u-th8-0er", "keepAlive": false, "secure": true }, @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "743a632a-bf4e-8375-343b-27de04ea0c81" + "id": "c8ce068a-4f5f-e11d-b641-8812fbd0663a" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/agent_rules/rhm-wzc-6qu", + "path": "/api/v2/remote_config/products/cws/agent_rules/f8u-th8-0er", "keepAlive": false, "secure": true }, @@ -112,13 +112,13 @@ "timeToLive": { "unlimited": true }, - "id": "68133c35-0f21-edb9-11a3-ad015ccfab86" + "id": "c4679cc9-c92b-495c-632c-46f19e9c6df4" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/remote_config/products/cws/policy/3f2-3l2-9wi", + "path": "/api/v2/remote_config/products/cws/policy/fuv-zyk-wli", "keepAlive": false, "secure": true }, @@ -137,6 +137,6 @@ "timeToLive": { "unlimited": true }, - "id": "3e06de04-096e-0a2e-65d6-18f85dac1608" + "id": "f69fbc99-c22d-ac20-3d12-7fde976c8a5b" } ] \ No newline at end of file diff --git a/src/test/resources/com/datadog/api/client/v2/api/csm_threats.feature b/src/test/resources/com/datadog/api/client/v2/api/csm_threats.feature index a7ac8cc4c51..4783aea35e1 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/csm_threats.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/csm_threats.feature @@ -65,7 +65,7 @@ Feature: CSM Threats Scenario: Create a Workload Protection agent rule with set action returns "OK" response Given there is a valid "policy_rc" in the system And new "CreateCSMThreatsAgentRule" request - And body with value {"data": {"attributes": {"description": "My Agent rule with set action", "enabled": true, "expression": "exec.file.name == \"sh\"", "filters": [], "name": "{{ unique_lower_alnum }}", "policy_id": "{{ policy.data.id }}", "product_tags": [], "actions": [{"set": {"name": "test_set", "value": "test_value", "scope": "process"}}]}, "type": "agent_rule"}} + And body with value {"data": {"attributes": {"description": "My Agent rule with set action", "enabled": true, "expression": "exec.file.name == \"sh\"", "filters": [], "name": "{{ unique_lower_alnum }}", "policy_id": "{{ policy.data.id }}", "product_tags": [], "actions": [{"set": {"name": "test_set", "value": "test_value", "scope": "process"}}, {"hash": {}}]}, "type": "agent_rule"}} When the request is sent Then the response status is 200 OK diff --git a/src/test/resources/com/datadog/api/client/v2/api/given.json b/src/test/resources/com/datadog/api/client/v2/api/given.json index 191f633e261..85541755d9e 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/given.json +++ b/src/test/resources/com/datadog/api/client/v2/api/given.json @@ -571,7 +571,7 @@ "parameters": [ { "name": "body", - "value": "{\n \"data\": {\n \"type\": \"agent_rule\",\n \"attributes\": {\n \"name\": \"{{ unique_lower_alnum }}\",\n \"description\": \"My Agent rule\",\n \"expression\": \"exec.file.name == \\\"sh\\\"\",\n \"enabled\": true,\n \"product_tags\": [\"security:attack\", \"technique:T1059\"],\n \"actions\": [{\"set\": {\"name\": \"test_set\", \"value\": \"test_value\", \"scope\": \"process\"}}],\n \"policy_id\": \"{{ policy.data.id }}\"\n }\n }\n}" + "value": "{\n \"data\": {\n \"type\": \"agent_rule\",\n \"attributes\": {\n \"name\": \"{{ unique_lower_alnum }}\",\n \"description\": \"My Agent rule\",\n \"expression\": \"exec.file.name == \\\"sh\\\"\",\n \"enabled\": true,\n \"product_tags\": [\"security:attack\", \"technique:T1059\"],\n \"actions\": [{\"set\": {\"name\": \"test_set\", \"value\": \"test_value\", \"scope\": \"process\"}}, {\"hash\": {}}],\n \"policy_id\": \"{{ policy.data.id }}\"\n }\n }\n}" } ], "step": "there is a valid \"agent_rule_rc\" in the system",