Skip to content

Commit c42e38b

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add vulnerability type to Findings API (#1855)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 0ae3ef2 commit c42e38b

File tree

8 files changed

+92
-4
lines changed

8 files changed

+92
-4
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-10-08 14:16:04.703854",
8-
"spec_repo_commit": "eb227ded"
7+
"regenerated": "2024-10-09 13:48:28.712891",
8+
"spec_repo_commit": "a458c3a4"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2024-10-08 14:16:04.718725",
13-
"spec_repo_commit": "eb227ded"
12+
"regenerated": "2024-10-09 13:48:28.732891",
13+
"spec_repo_commit": "a458c3a4"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9230,6 +9230,8 @@ components:
92309230
$ref: '#/components/schemas/FindingStatus'
92319231
tags:
92329232
$ref: '#/components/schemas/FindingTags'
9233+
vulnerability_type:
9234+
$ref: '#/components/schemas/FindingVulnerabilityType'
92339235
type: object
92349236
FindingEvaluation:
92359237
description: The evaluation of the finding.
@@ -9363,6 +9365,20 @@ components:
93639365
type: string
93649366
x-enum-varnames:
93659367
- FINDING
9368+
FindingVulnerabilityType:
9369+
description: The vulnerability type of the finding.
9370+
enum:
9371+
- misconfiguration
9372+
- attack_path
9373+
- identity_risk
9374+
- api_security
9375+
example: misconfiguration
9376+
type: string
9377+
x-enum-varnames:
9378+
- MISCONFIGURATION
9379+
- ATTACK_PATH
9380+
- IDENTITY_RISK
9381+
- API_SECURITY
93669382
FormulaLimit:
93679383
description: 'Message for specifying limits to the number of values returned
93689384
by a query.
@@ -34377,6 +34393,17 @@ paths:
3437734393
required: false
3437834394
schema:
3437934395
$ref: '#/components/schemas/FindingStatus'
34396+
- description: Return findings that match the selected vulnerability types (repeatable).
34397+
example:
34398+
- misconfiguration
34399+
explode: true
34400+
in: query
34401+
name: filter[vulnerability_type]
34402+
required: false
34403+
schema:
34404+
items:
34405+
$ref: '#/components/schemas/FindingVulnerabilityType'
34406+
type: array
3438034407
responses:
3438134408
'200':
3438234409
content:

features/support/scenarios_model_mapping.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4758,6 +4758,10 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = {
47584758
"type": "FindingStatus",
47594759
"format": "",
47604760
},
4761+
"filterVulnerabilityType": {
4762+
"type": "Array<FindingVulnerabilityType>",
4763+
"format": "",
4764+
},
47614765
"operationResponseType": "ListFindingsResponse",
47624766
},
47634767
"v2.MuteFindings": {

packages/datadog-api-client-v2/apis/SecurityMonitoringApi.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { BulkMuteFindingsResponse } from "../models/BulkMuteFindingsResponse";
2222
import { Finding } from "../models/Finding";
2323
import { FindingEvaluation } from "../models/FindingEvaluation";
2424
import { FindingStatus } from "../models/FindingStatus";
25+
import { FindingVulnerabilityType } from "../models/FindingVulnerabilityType";
2526
import { GetFindingResponse } from "../models/GetFindingResponse";
2627
import { JSONAPIErrorResponse } from "../models/JSONAPIErrorResponse";
2728
import { ListFindingsResponse } from "../models/ListFindingsResponse";
@@ -767,6 +768,7 @@ export class SecurityMonitoringApiRequestFactory extends BaseAPIRequestFactory {
767768
filterDiscoveryTimestamp?: string,
768769
filterEvaluation?: FindingEvaluation,
769770
filterStatus?: FindingStatus,
771+
filterVulnerabilityType?: Array<FindingVulnerabilityType>,
770772
_options?: Configuration
771773
): Promise<RequestContext> {
772774
const _config = _options || this.configuration;
@@ -859,6 +861,16 @@ export class SecurityMonitoringApiRequestFactory extends BaseAPIRequestFactory {
859861
ObjectSerializer.serialize(filterStatus, "FindingStatus", "")
860862
);
861863
}
864+
if (filterVulnerabilityType !== undefined) {
865+
requestContext.setQueryParam(
866+
"filter[vulnerability_type]",
867+
ObjectSerializer.serialize(
868+
filterVulnerabilityType,
869+
"Array<FindingVulnerabilityType>",
870+
""
871+
)
872+
);
873+
}
862874

863875
// Apply auth methods
864876
applySecurityAuthentication(_config, requestContext, [
@@ -3456,6 +3468,11 @@ export interface SecurityMonitoringApiListFindingsRequest {
34563468
* @type FindingStatus
34573469
*/
34583470
filterStatus?: FindingStatus;
3471+
/**
3472+
* Return findings that match the selected vulnerability types (repeatable).
3473+
* @type Array<FindingVulnerabilityType>
3474+
*/
3475+
filterVulnerabilityType?: Array<FindingVulnerabilityType>;
34593476
}
34603477

34613478
export interface SecurityMonitoringApiListSecurityMonitoringRulesRequest {
@@ -4033,6 +4050,7 @@ export class SecurityMonitoringApi {
40334050
param.filterDiscoveryTimestamp,
40344051
param.filterEvaluation,
40354052
param.filterStatus,
4053+
param.filterVulnerabilityType,
40364054
options
40374055
);
40384056
return requestContextPromise.then((requestContext) => {
@@ -4070,6 +4088,7 @@ export class SecurityMonitoringApi {
40704088
param.filterDiscoveryTimestamp,
40714089
param.filterEvaluation,
40724090
param.filterStatus,
4091+
param.filterVulnerabilityType,
40734092
options
40744093
);
40754094
const responseContext = await this.configuration.httpApi.send(

packages/datadog-api-client-v2/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,6 +1078,7 @@ export { FindingMuteReason } from "./models/FindingMuteReason";
10781078
export { FindingRule } from "./models/FindingRule";
10791079
export { FindingStatus } from "./models/FindingStatus";
10801080
export { FindingType } from "./models/FindingType";
1081+
export { FindingVulnerabilityType } from "./models/FindingVulnerabilityType";
10811082
export { FormulaLimit } from "./models/FormulaLimit";
10821083
export { FullAPIKey } from "./models/FullAPIKey";
10831084
export { FullAPIKeyAttributes } from "./models/FullAPIKeyAttributes";

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { FindingEvaluation } from "./FindingEvaluation";
77
import { FindingMute } from "./FindingMute";
88
import { FindingRule } from "./FindingRule";
99
import { FindingStatus } from "./FindingStatus";
10+
import { FindingVulnerabilityType } from "./FindingVulnerabilityType";
1011

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

@@ -50,6 +51,10 @@ export class FindingAttributes {
5051
* The tags associated with this finding.
5152
*/
5253
"tags"?: Array<string>;
54+
/**
55+
* The vulnerability type of the finding.
56+
*/
57+
"vulnerabilityType"?: FindingVulnerabilityType;
5358

5459
/**
5560
* A container for additional, undeclared properties.
@@ -105,6 +110,10 @@ export class FindingAttributes {
105110
baseName: "tags",
106111
type: "Array<string>",
107112
},
113+
vulnerabilityType: {
114+
baseName: "vulnerability_type",
115+
type: "FindingVulnerabilityType",
116+
},
108117
additionalProperties: {
109118
baseName: "additionalProperties",
110119
type: "any",
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2020-Present Datadog, Inc.
5+
*/
6+
7+
import { UnparsedObject } from "../../datadog-api-client-common/util";
8+
9+
/**
10+
* The vulnerability type of the finding.
11+
*/
12+
13+
export type FindingVulnerabilityType =
14+
| typeof MISCONFIGURATION
15+
| typeof ATTACK_PATH
16+
| typeof IDENTITY_RISK
17+
| typeof API_SECURITY
18+
| UnparsedObject;
19+
export const MISCONFIGURATION = "misconfiguration";
20+
export const ATTACK_PATH = "attack_path";
21+
export const IDENTITY_RISK = "identity_risk";
22+
export const API_SECURITY = "api_security";

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1474,6 +1474,12 @@ const enumsMap: { [key: string]: any[] } = {
14741474
],
14751475
FindingStatus: ["critical", "high", "medium", "low", "info"],
14761476
FindingType: ["finding"],
1477+
FindingVulnerabilityType: [
1478+
"misconfiguration",
1479+
"attack_path",
1480+
"identity_risk",
1481+
"api_security",
1482+
],
14771483
GCPSTSDelegateAccountType: ["gcp_sts_delegate"],
14781484
GCPServiceAccountType: ["gcp_service_account"],
14791485
GetTeamMembershipsSort: [

0 commit comments

Comments
 (0)