From ca0c23be5e6a18e143cbab5c4383e348c7caa89d Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 7 Oct 2024 15:41:06 +0000 Subject: [PATCH] Regenerate client from commit 8f16f04b of spec repo --- .apigentools-info | 8 ++-- .generator/schemas/v2/openapi.yaml | 26 +++++++++++ docs/datadog_api_client.v2.model.rst | 7 +++ .../v2/api/security_monitoring_api.py | 21 ++++++++- .../v2/model/finding_attributes.py | 10 +++++ .../v2/model/finding_vulnerability_type.py | 44 +++++++++++++++++++ src/datadog_api_client/v2/models/__init__.py | 2 + 7 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 src/datadog_api_client/v2/model/finding_vulnerability_type.py diff --git a/.apigentools-info b/.apigentools-info index d6dd9e6fd6..0d81944ed3 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2024-10-07 14:32:05.490650", - "spec_repo_commit": "ef7c2778" + "regenerated": "2024-10-07 15:40:35.403654", + "spec_repo_commit": "8f16f04b" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2024-10-07 14:32:05.504415", - "spec_repo_commit": "ef7c2778" + "regenerated": "2024-10-07 15:40:35.417241", + "spec_repo_commit": "8f16f04b" } } } \ No newline at end of file diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index adb07799f7..e02ab2b4ce 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -9230,6 +9230,8 @@ components: $ref: '#/components/schemas/FindingStatus' tags: $ref: '#/components/schemas/FindingTags' + vulnerability_type: + $ref: '#/components/schemas/FindingVulnerabilityType' type: object FindingEvaluation: description: The evaluation of the finding. @@ -9363,6 +9365,20 @@ components: type: string x-enum-varnames: - FINDING + FindingVulnerabilityType: + description: The vulnerability type of the finding. + enum: + - misconfiguration + - attack_path + - identity_risk + - api_security + example: misconfiguration + type: string + x-enum-varnames: + - MISCONFIGURATION + - ATTACK_PATH + - IDENTITY_RISK + - API_SECURITY FormulaLimit: description: 'Message for specifying limits to the number of values returned by a query. @@ -34371,6 +34387,16 @@ paths: required: false schema: $ref: '#/components/schemas/FindingStatus' + - description: Return findings that match the selected vulnerability types (repeatable). + example: + - misconfiguration + in: query + name: filter[vulnerability_type] + required: false + schema: + items: + $ref: '#/components/schemas/FindingVulnerabilityType' + type: array responses: '200': content: diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 96d3d57f31..99f3f0fb80 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -3770,6 +3770,13 @@ datadog\_api\_client.v2.model.finding\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.finding\_vulnerability\_type module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.finding_vulnerability_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.formula\_limit module --------------------------------------------------- diff --git a/src/datadog_api_client/v2/api/security_monitoring_api.py b/src/datadog_api_client/v2/api/security_monitoring_api.py index 2b31e18684..1b0b3b1db8 100644 --- a/src/datadog_api_client/v2/api/security_monitoring_api.py +++ b/src/datadog_api_client/v2/api/security_monitoring_api.py @@ -4,7 +4,7 @@ from __future__ import annotations import collections -from typing import Any, Dict, Union +from typing import Any, Dict, List, Union from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint from datadog_api_client.configuration import Configuration @@ -18,6 +18,7 @@ from datadog_api_client.v2.model.list_findings_response import ListFindingsResponse from datadog_api_client.v2.model.finding_evaluation import FindingEvaluation from datadog_api_client.v2.model.finding_status import FindingStatus +from datadog_api_client.v2.model.finding_vulnerability_type import FindingVulnerabilityType from datadog_api_client.v2.model.finding import Finding from datadog_api_client.v2.model.bulk_mute_findings_response import BulkMuteFindingsResponse from datadog_api_client.v2.model.bulk_mute_findings_request import BulkMuteFindingsRequest @@ -532,6 +533,12 @@ def __init__(self, api_client=None): "attribute": "filter[status]", "location": "query", }, + "filter_vulnerability_type": { + "openapi_types": ([FindingVulnerabilityType],), + "attribute": "filter[vulnerability_type]", + "location": "query", + "collection_format": "multi", + }, }, headers_map={ "accept": ["application/json"], @@ -1155,6 +1162,7 @@ def list_findings( filter_discovery_timestamp: Union[str, UnsetType] = unset, filter_evaluation: Union[FindingEvaluation, UnsetType] = unset, filter_status: Union[FindingStatus, UnsetType] = unset, + filter_vulnerability_type: Union[List[FindingVulnerabilityType], UnsetType] = unset, ) -> ListFindingsResponse: """List findings. @@ -1213,6 +1221,8 @@ def list_findings( :type filter_evaluation: FindingEvaluation, optional :param filter_status: Return only findings with the specified status. :type filter_status: FindingStatus, optional + :param filter_vulnerability_type: Return findings that match the selected vulnerability types (repeatable). + :type filter_vulnerability_type: [FindingVulnerabilityType], optional :rtype: ListFindingsResponse """ kwargs: Dict[str, Any] = {} @@ -1252,6 +1262,9 @@ def list_findings( if filter_status is not unset: kwargs["filter_status"] = filter_status + if filter_vulnerability_type is not unset: + kwargs["filter_vulnerability_type"] = filter_vulnerability_type + return self._list_findings_endpoint.call_with_http_info(**kwargs) def list_findings_with_pagination( @@ -1269,6 +1282,7 @@ def list_findings_with_pagination( filter_discovery_timestamp: Union[str, UnsetType] = unset, filter_evaluation: Union[FindingEvaluation, UnsetType] = unset, filter_status: Union[FindingStatus, UnsetType] = unset, + filter_vulnerability_type: Union[List[FindingVulnerabilityType], UnsetType] = unset, ) -> collections.abc.Iterable[Finding]: """List findings. @@ -1298,6 +1312,8 @@ def list_findings_with_pagination( :type filter_evaluation: FindingEvaluation, optional :param filter_status: Return only findings with the specified status. :type filter_status: FindingStatus, optional + :param filter_vulnerability_type: Return findings that match the selected vulnerability types (repeatable). + :type filter_vulnerability_type: [FindingVulnerabilityType], optional :return: A generator of paginated results. :rtype: collections.abc.Iterable[Finding] @@ -1339,6 +1355,9 @@ def list_findings_with_pagination( if filter_status is not unset: kwargs["filter_status"] = filter_status + if filter_vulnerability_type is not unset: + kwargs["filter_vulnerability_type"] = filter_vulnerability_type + local_page_size = get_attribute_from_path(kwargs, "page_limit", 100) endpoint = self._list_findings_endpoint set_attribute_from_path(kwargs, "page_limit", local_page_size, endpoint.params_map) diff --git a/src/datadog_api_client/v2/model/finding_attributes.py b/src/datadog_api_client/v2/model/finding_attributes.py index c85e990eaf..b336af6793 100644 --- a/src/datadog_api_client/v2/model/finding_attributes.py +++ b/src/datadog_api_client/v2/model/finding_attributes.py @@ -18,6 +18,7 @@ from datadog_api_client.v2.model.finding_mute import FindingMute from datadog_api_client.v2.model.finding_rule import FindingRule from datadog_api_client.v2.model.finding_status import FindingStatus + from datadog_api_client.v2.model.finding_vulnerability_type import FindingVulnerabilityType class FindingAttributes(ModelNormal): @@ -36,6 +37,7 @@ def openapi_types(_): from datadog_api_client.v2.model.finding_mute import FindingMute from datadog_api_client.v2.model.finding_rule import FindingRule from datadog_api_client.v2.model.finding_status import FindingStatus + from datadog_api_client.v2.model.finding_vulnerability_type import FindingVulnerabilityType return { "evaluation": (FindingEvaluation,), @@ -47,6 +49,7 @@ def openapi_types(_): "rule": (FindingRule,), "status": (FindingStatus,), "tags": ([str],), + "vulnerability_type": (FindingVulnerabilityType,), } attribute_map = { @@ -59,6 +62,7 @@ def openapi_types(_): "rule": "rule", "status": "status", "tags": "tags", + "vulnerability_type": "vulnerability_type", } def __init__( @@ -72,6 +76,7 @@ def __init__( rule: Union[FindingRule, UnsetType] = unset, status: Union[FindingStatus, UnsetType] = unset, tags: Union[List[str], UnsetType] = unset, + vulnerability_type: Union[FindingVulnerabilityType, UnsetType] = unset, **kwargs, ): """ @@ -103,6 +108,9 @@ def __init__( :param tags: The tags associated with this finding. :type tags: [str], optional + + :param vulnerability_type: The vulnerability type of the finding. + :type vulnerability_type: FindingVulnerabilityType, optional """ if evaluation is not unset: kwargs["evaluation"] = evaluation @@ -122,4 +130,6 @@ def __init__( kwargs["status"] = status if tags is not unset: kwargs["tags"] = tags + if vulnerability_type is not unset: + kwargs["vulnerability_type"] = vulnerability_type super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/finding_vulnerability_type.py b/src/datadog_api_client/v2/model/finding_vulnerability_type.py new file mode 100644 index 0000000000..27d69546c5 --- /dev/null +++ b/src/datadog_api_client/v2/model/finding_vulnerability_type.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class FindingVulnerabilityType(ModelSimple): + """ + The vulnerability type of the finding. + + :param value: Must be one of ["misconfiguration", "attack_path", "identity_risk", "api_security"]. + :type value: str + """ + + allowed_values = { + "misconfiguration", + "attack_path", + "identity_risk", + "api_security", + } + MISCONFIGURATION: ClassVar["FindingVulnerabilityType"] + ATTACK_PATH: ClassVar["FindingVulnerabilityType"] + IDENTITY_RISK: ClassVar["FindingVulnerabilityType"] + API_SECURITY: ClassVar["FindingVulnerabilityType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +FindingVulnerabilityType.MISCONFIGURATION = FindingVulnerabilityType("misconfiguration") +FindingVulnerabilityType.ATTACK_PATH = FindingVulnerabilityType("attack_path") +FindingVulnerabilityType.IDENTITY_RISK = FindingVulnerabilityType("identity_risk") +FindingVulnerabilityType.API_SECURITY = FindingVulnerabilityType("api_security") diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 740a041611..bb6b3842aa 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -669,6 +669,7 @@ from datadog_api_client.v2.model.finding_rule import FindingRule from datadog_api_client.v2.model.finding_status import FindingStatus from datadog_api_client.v2.model.finding_type import FindingType +from datadog_api_client.v2.model.finding_vulnerability_type import FindingVulnerabilityType from datadog_api_client.v2.model.formula_limit import FormulaLimit from datadog_api_client.v2.model.full_api_key import FullAPIKey from datadog_api_client.v2.model.full_api_key_attributes import FullAPIKeyAttributes @@ -2548,6 +2549,7 @@ "FindingRule", "FindingStatus", "FindingType", + "FindingVulnerabilityType", "FormulaLimit", "FullAPIKey", "FullAPIKeyAttributes",