Skip to content

Commit 171a8cd

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add bulk triage endpoints for security monitoring signals (#3650)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent ff0feb4 commit 171a8cd

19 files changed

+2622
-88
lines changed

.generator/schemas/v1/openapi.yaml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4579,7 +4579,6 @@ components:
45794579
- sca_fargate_usage
45804580
- sds_scanned_bytes_usage
45814581
- serverless_apps_usage
4582-
- serverless_apps_apm_usage
45834582
- siem_analyzed_logs_add_on_usage
45844583
- siem_ingested_bytes_usage
45854584
- snmp_usage
@@ -4667,7 +4666,6 @@ components:
46674666
- SCA_FARGATE_USAGE
46684667
- SDS_SCANNED_BYTES_USAGE
46694668
- SERVERLESS_APPS_USAGE
4670-
- SERVERLESS_APPS_APM_USAGE
46714669
- SIEM_ANALYZED_LOGS_ADD_ON_USAGE
46724670
- SIEM_INGESTED_BYTES_USAGE
46734671
- SNMP_USAGE
@@ -9158,8 +9156,6 @@ components:
91589156
- published_app_percentage
91599157
- serverless_apps_usage
91609158
- serverless_apps_percentage
9161-
- serverless_apps_apm_usage
9162-
- serverless_apps_apm_percentage
91639159
- snmp_usage
91649160
- snmp_percentage
91659161
- universal_service_monitoring_usage
@@ -9325,8 +9321,6 @@ components:
93259321
- PUBLISHED_APP_PERCENTAGE
93269322
- SERVERLESS_APPS_USAGE
93279323
- SERVERLESS_APPS_PERCENTAGE
9328-
- SERVERLESS_APPS_APM_USAGE
9329-
- SERVERLESS_APPS_APM_PERCENTAGE
93309324
- SNMP_USAGE
93319325
- SNMP_PERCENTAGE
93329326
- UNIVERSAL_SERVICE_MONITORING_USAGE
@@ -9984,14 +9978,6 @@ components:
99849978
description: The total Sensitive Data Scanner usage by tag(s).
99859979
format: double
99869980
type: number
9987-
serverless_apps_apm_percentage:
9988-
description: The percentage of Serverless Apps APM usage by tag(s).
9989-
format: double
9990-
type: number
9991-
serverless_apps_apm_usage:
9992-
description: The total Serverless Apps APM usage by tag(s).
9993-
format: double
9994-
type: number
99959981
serverless_apps_percentage:
99969982
description: The percentage of Serverless Apps usage by tag(s).
99979983
format: double

.generator/schemas/v2/openapi.yaml

Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58530,6 +58530,155 @@ components:
5853058530
description: Version of the updated signal. If server side version is higher, update will be rejected.
5853158531
format: int64
5853258532
type: integer
58533+
SecurityMonitoringSignalsBulkAssigneeUpdateAttributes:
58534+
description: Attributes describing the new assignees for a bulk signal update.
58535+
properties:
58536+
assignee:
58537+
description: UUID of the user to assign to the signal. Use an empty string to unassign.
58538+
example: 773b045d-ccf8-4808-bd3b-955ef6a8c940
58539+
type: string
58540+
version:
58541+
$ref: "#/components/schemas/SecurityMonitoringSignalVersion"
58542+
required:
58543+
- assignee
58544+
type: object
58545+
SecurityMonitoringSignalsBulkAssigneeUpdateData:
58546+
description: Data for updating the assignees for multiple security signals.
58547+
properties:
58548+
attributes:
58549+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkAssigneeUpdateAttributes"
58550+
id:
58551+
description: The unique ID of the security signal.
58552+
example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA
58553+
type: string
58554+
type:
58555+
$ref: "#/components/schemas/SecurityMonitoringSignalType"
58556+
required:
58557+
- id
58558+
- attributes
58559+
type: object
58560+
SecurityMonitoringSignalsBulkAssigneeUpdateRequest:
58561+
description: Request body for updating the assignee of multiple security signals.
58562+
properties:
58563+
data:
58564+
description: An array of signal assignee updates.
58565+
items:
58566+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkAssigneeUpdateData"
58567+
maxItems: 199
58568+
type: array
58569+
required:
58570+
- data
58571+
type: object
58572+
SecurityMonitoringSignalsBulkStateUpdateData:
58573+
description: Data for updating the state for multiple security signals.
58574+
properties:
58575+
attributes:
58576+
$ref: "#/components/schemas/SecurityMonitoringSignalStateUpdateAttributes"
58577+
id:
58578+
description: The unique ID of the security signal.
58579+
example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA
58580+
type: string
58581+
type:
58582+
$ref: "#/components/schemas/SecurityMonitoringSignalType"
58583+
required:
58584+
- id
58585+
- attributes
58586+
type: object
58587+
SecurityMonitoringSignalsBulkStateUpdateRequest:
58588+
description: Request body for updating the triage states of multiple security signals.
58589+
properties:
58590+
data:
58591+
description: An array of signal state updates.
58592+
items:
58593+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkStateUpdateData"
58594+
maxItems: 199
58595+
type: array
58596+
required:
58597+
- data
58598+
type: object
58599+
SecurityMonitoringSignalsBulkTriageEvent:
58600+
description: A single signal event entry in a bulk triage update response.
58601+
properties:
58602+
event:
58603+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkTriageEventAttributes"
58604+
id:
58605+
description: The unique ID of the security signal.
58606+
example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA
58607+
type: string
58608+
required:
58609+
- id
58610+
- event
58611+
type: object
58612+
SecurityMonitoringSignalsBulkTriageEventAttributes:
58613+
description: Triage attributes of a security signal returned in a bulk update response.
58614+
properties:
58615+
archive_comment:
58616+
$ref: "#/components/schemas/SecurityMonitoringSignalArchiveComment"
58617+
archive_comment_timestamp:
58618+
description: Timestamp of the last edit to the archive comment.
58619+
format: int64
58620+
type: integer
58621+
archive_comment_user:
58622+
$ref: "#/components/schemas/SecurityMonitoringTriageUser"
58623+
archive_reason:
58624+
$ref: "#/components/schemas/SecurityMonitoringSignalArchiveReason"
58625+
assignee:
58626+
$ref: "#/components/schemas/SecurityMonitoringTriageUser"
58627+
id:
58628+
description: The unique ID of the security signal.
58629+
example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA
58630+
type: string
58631+
incident_ids:
58632+
$ref: "#/components/schemas/SecurityMonitoringSignalIncidentIds"
58633+
state:
58634+
$ref: "#/components/schemas/SecurityMonitoringSignalState"
58635+
state_update_timestamp:
58636+
description: Timestamp of the last state update.
58637+
format: int64
58638+
type: integer
58639+
state_update_user:
58640+
$ref: "#/components/schemas/SecurityMonitoringTriageUser"
58641+
required:
58642+
- id
58643+
- state
58644+
- assignee
58645+
- incident_ids
58646+
type: object
58647+
SecurityMonitoringSignalsBulkTriageUpdateResponse:
58648+
description: Response for a bulk triage update of security signals.
58649+
properties:
58650+
result:
58651+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkTriageUpdateResult"
58652+
status:
58653+
description: The status of the bulk operation.
58654+
example: done
58655+
type: string
58656+
type:
58657+
description: The type of the response.
58658+
example: status
58659+
type: string
58660+
required:
58661+
- type
58662+
- status
58663+
- result
58664+
type: object
58665+
SecurityMonitoringSignalsBulkTriageUpdateResult:
58666+
description: The result payload of a bulk signal triage update.
58667+
properties:
58668+
count:
58669+
description: The number of signals updated.
58670+
example: 2
58671+
format: int64
58672+
type: integer
58673+
events:
58674+
description: The list of updated signals.
58675+
items:
58676+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkTriageEvent"
58677+
type: array
58678+
required:
58679+
- count
58680+
- events
58681+
type: object
5853358682
SecurityMonitoringSignalsListResponse:
5853458683
description: "The response object with all security signals matching the request\nand pagination information."
5853558684
properties:
@@ -103421,6 +103570,88 @@ paths:
103421103570
operator: OR
103422103571
permissions:
103423103572
- security_monitoring_signals_read
103573+
/api/v2/security_monitoring/signals/bulk/assignee:
103574+
patch:
103575+
description: |-
103576+
Change the triage assignees of multiple security signals at once.
103577+
The maximum number of signals that can be updated in a single request is 199.
103578+
operationId: BulkEditSecurityMonitoringSignalsAssignee
103579+
requestBody:
103580+
content:
103581+
application/json:
103582+
schema:
103583+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkAssigneeUpdateRequest"
103584+
description: Attributes describing the signal assignee updates.
103585+
required: true
103586+
responses:
103587+
"200":
103588+
content:
103589+
application/json:
103590+
schema:
103591+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkTriageUpdateResponse"
103592+
description: OK
103593+
"400":
103594+
content:
103595+
application/json:
103596+
schema:
103597+
$ref: "#/components/schemas/JSONAPIErrorResponse"
103598+
description: Bad Request
103599+
"403":
103600+
content:
103601+
application/json:
103602+
schema:
103603+
$ref: "#/components/schemas/JSONAPIErrorResponse"
103604+
description: Forbidden
103605+
"429":
103606+
$ref: "#/components/responses/TooManyRequestsResponse"
103607+
summary: Bulk update triage assignee of security signals
103608+
tags: ["Security Monitoring"]
103609+
x-codegen-request-body-name: body
103610+
"x-permission":
103611+
operator: OR
103612+
permissions:
103613+
- security_monitoring_signals_write
103614+
/api/v2/security_monitoring/signals/bulk/state:
103615+
patch:
103616+
description: |-
103617+
Change the triage states of multiple security signals at once.
103618+
The maximum number of signals that can be updated in a single request is 199.
103619+
operationId: BulkEditSecurityMonitoringSignalsState
103620+
requestBody:
103621+
content:
103622+
application/json:
103623+
schema:
103624+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkStateUpdateRequest"
103625+
description: Attributes describing the signal state updates.
103626+
required: true
103627+
responses:
103628+
"200":
103629+
content:
103630+
application/json:
103631+
schema:
103632+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkTriageUpdateResponse"
103633+
description: OK
103634+
"400":
103635+
content:
103636+
application/json:
103637+
schema:
103638+
$ref: "#/components/schemas/JSONAPIErrorResponse"
103639+
description: Bad Request
103640+
"403":
103641+
content:
103642+
application/json:
103643+
schema:
103644+
$ref: "#/components/schemas/JSONAPIErrorResponse"
103645+
description: Forbidden
103646+
"429":
103647+
$ref: "#/components/responses/TooManyRequestsResponse"
103648+
summary: Bulk update triage state of security signals
103649+
tags: ["Security Monitoring"]
103650+
x-codegen-request-body-name: body
103651+
"x-permission":
103652+
operator: OR
103653+
permissions:
103654+
- security_monitoring_signals_write
103424103655
/api/v2/security_monitoring/signals/search:
103425103656
post:
103426103657
description: |-
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Bulk update triage assignee of security signals returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalType;
7+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalsBulkAssigneeUpdateAttributes;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalsBulkAssigneeUpdateData;
9+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalsBulkAssigneeUpdateRequest;
10+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalsBulkTriageUpdateResponse;
11+
import java.util.Collections;
12+
13+
public class Example {
14+
public static void main(String[] args) {
15+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
16+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
17+
18+
SecurityMonitoringSignalsBulkAssigneeUpdateRequest body =
19+
new SecurityMonitoringSignalsBulkAssigneeUpdateRequest()
20+
.data(
21+
Collections.singletonList(
22+
new SecurityMonitoringSignalsBulkAssigneeUpdateData()
23+
.attributes(
24+
new SecurityMonitoringSignalsBulkAssigneeUpdateAttributes()
25+
.assignee("773b045d-ccf8-4808-bd3b-955ef6a8c940"))
26+
.id("AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA")
27+
.type(SecurityMonitoringSignalType.SIGNAL)));
28+
29+
try {
30+
SecurityMonitoringSignalsBulkTriageUpdateResponse result =
31+
apiInstance.bulkEditSecurityMonitoringSignalsAssignee(body);
32+
System.out.println(result);
33+
} catch (ApiException e) {
34+
System.err.println(
35+
"Exception when calling SecurityMonitoringApi#bulkEditSecurityMonitoringSignalsAssignee");
36+
System.err.println("Status code: " + e.getCode());
37+
System.err.println("Reason: " + e.getResponseBody());
38+
System.err.println("Response headers: " + e.getResponseHeaders());
39+
e.printStackTrace();
40+
}
41+
}
42+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// Bulk update triage state of security signals returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalArchiveReason;
7+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalState;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalStateUpdateAttributes;
9+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalType;
10+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalsBulkStateUpdateData;
11+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalsBulkStateUpdateRequest;
12+
import com.datadog.api.client.v2.model.SecurityMonitoringSignalsBulkTriageUpdateResponse;
13+
import java.util.Collections;
14+
15+
public class Example {
16+
public static void main(String[] args) {
17+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
18+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
19+
20+
SecurityMonitoringSignalsBulkStateUpdateRequest body =
21+
new SecurityMonitoringSignalsBulkStateUpdateRequest()
22+
.data(
23+
Collections.singletonList(
24+
new SecurityMonitoringSignalsBulkStateUpdateData()
25+
.attributes(
26+
new SecurityMonitoringSignalStateUpdateAttributes()
27+
.archiveReason(SecurityMonitoringSignalArchiveReason.NONE)
28+
.state(SecurityMonitoringSignalState.OPEN))
29+
.id("AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA")
30+
.type(SecurityMonitoringSignalType.SIGNAL)));
31+
32+
try {
33+
SecurityMonitoringSignalsBulkTriageUpdateResponse result =
34+
apiInstance.bulkEditSecurityMonitoringSignalsState(body);
35+
System.out.println(result);
36+
} catch (ApiException e) {
37+
System.err.println(
38+
"Exception when calling SecurityMonitoringApi#bulkEditSecurityMonitoringSignalsState");
39+
System.err.println("Status code: " + e.getCode());
40+
System.err.println("Reason: " + e.getResponseBody());
41+
System.err.println("Response headers: " + e.getResponseHeaders());
42+
e.printStackTrace();
43+
}
44+
}
45+
}

src/main/java/com/datadog/api/client/v1/model/HourlyUsageAttributionUsageType.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ public class HourlyUsageAttributionUsageType extends ModelEnum<String> {
111111
"sca_fargate_usage",
112112
"sds_scanned_bytes_usage",
113113
"serverless_apps_usage",
114-
"serverless_apps_apm_usage",
115114
"siem_analyzed_logs_add_on_usage",
116115
"siem_ingested_bytes_usage",
117116
"snmp_usage",
@@ -278,8 +277,6 @@ public class HourlyUsageAttributionUsageType extends ModelEnum<String> {
278277
new HourlyUsageAttributionUsageType("sds_scanned_bytes_usage");
279278
public static final HourlyUsageAttributionUsageType SERVERLESS_APPS_USAGE =
280279
new HourlyUsageAttributionUsageType("serverless_apps_usage");
281-
public static final HourlyUsageAttributionUsageType SERVERLESS_APPS_APM_USAGE =
282-
new HourlyUsageAttributionUsageType("serverless_apps_apm_usage");
283280
public static final HourlyUsageAttributionUsageType SIEM_ANALYZED_LOGS_ADD_ON_USAGE =
284281
new HourlyUsageAttributionUsageType("siem_analyzed_logs_add_on_usage");
285282
public static final HourlyUsageAttributionUsageType SIEM_INGESTED_BYTES_USAGE =

0 commit comments

Comments
 (0)