Skip to content

Commit c2ba37b

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Added optional field filters when creating a cloud configuration rule (#1250)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 98f7c16 commit c2ba37b

File tree

7 files changed

+47
-22
lines changed

7 files changed

+47
-22
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.5",
7-
"regenerated": "2023-07-19 18:05:03.090949",
8-
"spec_repo_commit": "e9066fe1"
7+
"regenerated": "2023-07-20 14:24:53.880350",
8+
"spec_repo_commit": "878f93fe"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.5",
12-
"regenerated": "2023-07-19 18:05:03.104671",
13-
"spec_repo_commit": "e9066fe1"
12+
"regenerated": "2023-07-20 14:24:53.902379",
13+
"spec_repo_commit": "878f93fe"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2696,6 +2696,12 @@ components:
26962696
type: array
26972697
complianceSignalOptions:
26982698
$ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions'
2699+
filters:
2700+
description: Additional queries to filter matched events before they are
2701+
processed.
2702+
items:
2703+
$ref: '#/components/schemas/SecurityMonitoringFilter'
2704+
type: array
26992705
isEnabled:
27002706
description: Whether the rule is enabled.
27012707
example: true
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"2022-12-16T18:53:53.418Z"
1+
"2023-07-20T12:27:33.661Z"

cassettes/v2/Security-Monitoring_1187227211/Create-a-cloud_configuration-rule-returns-OK-response_3743307914/recording.har

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
},
99
"entries": [
1010
{
11-
"_id": "d06540cae8aacb411cd062b8c1919a24",
11+
"_id": "242acd1f1aa8dce404b800b78709e4a4",
1212
"_order": 0,
1313
"cache": {},
1414
"request": {
15-
"bodySize": 486,
15+
"bodySize": 593,
1616
"cookies": [],
1717
"headers": [
1818
{
@@ -26,23 +26,23 @@
2626
"value": "application/json"
2727
}
2828
],
29-
"headersSize": 588,
29+
"headersSize": 587,
3030
"httpVersion": "HTTP/1.1",
3131
"method": "POST",
3232
"postData": {
3333
"mimeType": "application/json",
3434
"params": [],
35-
"text": "{\"cases\":[{\"notifications\":[\"channel\"],\"status\":\"info\"}],\"complianceSignalOptions\":{\"userActivationStatus\":true,\"userGroupByFields\":[\"@account_id\"]},\"isEnabled\":false,\"message\":\"ddd\",\"name\":\"Test-Create_a_cloud_configuration_rule_returns_OK_response-1671216833_cloud\",\"options\":{\"complianceRuleOptions\":{\"complexRule\":false,\"regoRule\":{\"policy\":\"package datadog\\n\",\"resourceTypes\":[\"gcp_compute_disk\"]},\"resourceType\":\"gcp_compute_disk\"}},\"tags\":[\"my:tag\"],\"type\":\"cloud_configuration\"}"
35+
"text": "{\"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-1689856053_cloud\",\"options\":{\"complianceRuleOptions\":{\"complexRule\":false,\"regoRule\":{\"policy\":\"package datadog\\n\",\"resourceTypes\":[\"gcp_compute_disk\"]},\"resourceType\":\"gcp_compute_disk\"}},\"tags\":[\"my:tag\"],\"type\":\"cloud_configuration\"}"
3636
},
3737
"queryString": [],
3838
"url": "https://api.datadoghq.com/api/v2/security_monitoring/rules"
3939
},
4040
"response": {
41-
"bodySize": 987,
41+
"bodySize": 1102,
4242
"content": {
4343
"mimeType": "application/json",
44-
"size": 987,
45-
"text": "{\"creationAuthorId\":1445416,\"tags\":[\"my:tag\"],\"type\":\"cloud_configuration\",\"isEnabled\":false,\"hasExtendedTitle\":true,\"message\":\"ddd\",\"options\":{\"detectionMethod\":\"threshold\",\"evaluationWindow\":7200,\"maxSignalDuration\":86400,\"complianceRuleOptions\":{\"resourceType\":\"gcp_compute_disk\",\"regoRule\":{\"policy\":\"package datadog\\n\",\"resourceTypes\":[\"gcp_compute_disk\"]},\"complexRule\":false},\"keepAlive\":21600},\"version\":1,\"createdAt\":1671216834196,\"filters\":[],\"queries\":[{\"query\":\"resource_type:gcp_compute_disk\",\"groupByFields\":[\"resource_type\",\"resource_id\"],\"aggregation\":\"count\",\"name\":\"a\",\"distinctFields\":[]}],\"isDeleted\":false,\"complianceSignalOptions\":{\"defaultActivationStatus\":null,\"userActivationStatus\":true,\"defaultGroupByFields\":null,\"userGroupByFields\":[\"@account_id\"]},\"cases\":[{\"status\":\"info\",\"notifications\":[\"channel\"],\"name\":\"\",\"condition\":\"a > 0\"}],\"id\":\"fat-bma-9yo\",\"isDefault\":false,\"name\":\"Test-Create_a_cloud_configuration_rule_returns_OK_response-1671216833_cloud\"}\n"
44+
"size": 1102,
45+
"text": "{\"id\":\"rmr-xkf-scr\",\"version\":1,\"name\":\"Test-Create_a_cloud_configuration_rule_returns_OK_response-1689856053_cloud\",\"createdAt\":1689856054469,\"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\",\"resourceTypes\":[\"gcp_compute_disk\"]},\"complexRule\":false}},\"complianceSignalOptions\":{\"defaultActivationStatus\":null,\"defaultGroupByFields\":null,\"userActivationStatus\":true,\"userGroupByFields\":[\"@account_id\"]},\"cases\":[{\"condition\":\"a > 0\",\"name\":\"\",\"status\":\"info\",\"notifications\":[\"channel\"]}],\"message\":\"ddd\",\"tags\":[\"my:tag\"],\"hasExtendedTitle\":true,\"type\":\"cloud_configuration\",\"filters\":[{\"action\":\"require\",\"query\":\"resource_id:helo*\"},{\"action\":\"suppress\",\"query\":\"control:helo*\"}]}\n"
4646
},
4747
"cookies": [],
4848
"headers": [
@@ -51,17 +51,17 @@
5151
"value": "application/json"
5252
}
5353
],
54-
"headersSize": 627,
54+
"headersSize": 655,
5555
"httpVersion": "HTTP/1.1",
5656
"redirectURL": "",
5757
"status": 200,
5858
"statusText": "OK"
5959
},
60-
"startedDateTime": "2022-12-16T18:53:53.438Z",
61-
"time": 798
60+
"startedDateTime": "2023-07-20T12:27:34.378Z",
61+
"time": 121
6262
},
6363
{
64-
"_id": "578b95286605978cf0b83aad6a998b79",
64+
"_id": "fcc1c54c47a8bc3f4da54d41c1afd208",
6565
"_order": 0,
6666
"cache": {},
6767
"request": {
@@ -74,11 +74,11 @@
7474
"value": "*/*"
7575
}
7676
],
77-
"headersSize": 536,
77+
"headersSize": 535,
7878
"httpVersion": "HTTP/1.1",
7979
"method": "DELETE",
8080
"queryString": [],
81-
"url": "https://api.datadoghq.com/api/v2/security_monitoring/rules/fat-bma-9yo"
81+
"url": "https://api.datadoghq.com/api/v2/security_monitoring/rules/rmr-xkf-scr"
8282
},
8383
"response": {
8484
"bodySize": 0,
@@ -88,14 +88,14 @@
8888
},
8989
"cookies": [],
9090
"headers": [],
91-
"headersSize": 574,
91+
"headersSize": 601,
9292
"httpVersion": "HTTP/1.1",
9393
"redirectURL": "",
9494
"status": 204,
9595
"statusText": "No Content"
9696
},
97-
"startedDateTime": "2022-12-16T18:53:54.268Z",
98-
"time": 298
97+
"startedDateTime": "2023-07-20T12:27:34.509Z",
98+
"time": 129
9999
}
100100
],
101101
"pages": [],

examples/v2/security-monitoring/CreateSecurityMonitoringRule_1092490364.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ const params: v2.SecurityMonitoringApiCreateSecurityMonitoringRuleRequest = {
3535
userActivationStatus: true,
3636
userGroupByFields: ["@account_id"],
3737
},
38+
filters: [
39+
{
40+
action: "require",
41+
query: "resource_id:helo*",
42+
},
43+
{
44+
action: "suppress",
45+
query: "control:helo*",
46+
},
47+
],
3848
},
3949
};
4050

features/v2/security_monitoring.feature

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Feature: Security Monitoring
5858
@team:DataDog/k9-cloud-security-platform
5959
Scenario: Create a cloud_configuration rule returns "OK" response
6060
Given new "CreateSecurityMonitoringRule" request
61-
And body with value {"type":"cloud_configuration","name":"{{ unique }}_cloud","isEnabled":false,"cases":[{"status":"info","notifications":["channel"]}],"options":{"complianceRuleOptions":{"resourceType":"gcp_compute_disk","complexRule": false,"regoRule":{"policy":"package datadog\n","resourceTypes":["gcp_compute_disk"]}}},"message":"ddd","tags":["my:tag"],"complianceSignalOptions":{"userActivationStatus":true,"userGroupByFields":["@account_id"]}}
61+
And body with value {"type":"cloud_configuration","name":"{{ unique }}_cloud","isEnabled":false,"cases":[{"status":"info","notifications":["channel"]}],"options":{"complianceRuleOptions":{"resourceType":"gcp_compute_disk","complexRule": false,"regoRule":{"policy":"package datadog\n","resourceTypes":["gcp_compute_disk"]}}},"message":"ddd","tags":["my:tag"],"complianceSignalOptions":{"userActivationStatus":true,"userGroupByFields":["@account_id"]},"filters":[{"action":"require","query":"resource_id:helo*"},{"action":"suppress","query":"control:helo*"}]}
6262
When the request is sent
6363
Then the response status is 200 OK
6464
And the response "name" is equal to "{{ unique }}_cloud"

packages/datadog-api-client-v2/models/CloudConfigurationRuleCreatePayload.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { CloudConfigurationRuleCaseCreate } from "./CloudConfigurationRuleCaseCr
77
import { CloudConfigurationRuleComplianceSignalOptions } from "./CloudConfigurationRuleComplianceSignalOptions";
88
import { CloudConfigurationRuleOptions } from "./CloudConfigurationRuleOptions";
99
import { CloudConfigurationRuleType } from "./CloudConfigurationRuleType";
10+
import { SecurityMonitoringFilter } from "./SecurityMonitoringFilter";
1011

1112
import { AttributeTypeMap } from "../../datadog-api-client-common/util";
1213

@@ -22,6 +23,10 @@ export class CloudConfigurationRuleCreatePayload {
2223
* How to generate compliance signals. Useful for cloud_configuration rules only.
2324
*/
2425
"complianceSignalOptions": CloudConfigurationRuleComplianceSignalOptions;
26+
/**
27+
* Additional queries to filter matched events before they are processed.
28+
*/
29+
"filters"?: Array<SecurityMonitoringFilter>;
2530
/**
2631
* Whether the rule is enabled.
2732
*/
@@ -66,6 +71,10 @@ export class CloudConfigurationRuleCreatePayload {
6671
type: "CloudConfigurationRuleComplianceSignalOptions",
6772
required: true,
6873
},
74+
filters: {
75+
baseName: "filters",
76+
type: "Array<SecurityMonitoringFilter>",
77+
},
6978
isEnabled: {
7079
baseName: "isEnabled",
7180
type: "boolean",

0 commit comments

Comments
 (0)