|
56 | 56 | from datadog_api_client.v2.model.sbom_format import SBOMFormat |
57 | 57 | from datadog_api_client.v2.model.scanned_assets_metadata import ScannedAssetsMetadata |
58 | 58 | from datadog_api_client.v2.model.cloud_asset_type import CloudAssetType |
| 59 | +from datadog_api_client.v2.model.io_c_explorer_list_response import IoCExplorerListResponse |
| 60 | +from datadog_api_client.v2.model.get_io_c_indicator_response import GetIoCIndicatorResponse |
59 | 61 | from datadog_api_client.v2.model.notification_rule_response import NotificationRuleResponse |
60 | 62 | from datadog_api_client.v2.model.create_notification_rule_parameters import CreateNotificationRuleParameters |
61 | 63 | from datadog_api_client.v2.model.patch_notification_rule_parameters import PatchNotificationRuleParameters |
@@ -976,6 +978,29 @@ def __init__(self, api_client=None): |
976 | 978 | api_client=api_client, |
977 | 979 | ) |
978 | 980 |
|
| 981 | + self._get_indicator_of_compromise_endpoint = _Endpoint( |
| 982 | + settings={ |
| 983 | + "response_type": (GetIoCIndicatorResponse,), |
| 984 | + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], |
| 985 | + "endpoint_path": "/api/v2/security/siem/ioc-explorer/indicator", |
| 986 | + "operation_id": "get_indicator_of_compromise", |
| 987 | + "http_method": "GET", |
| 988 | + "version": "v2", |
| 989 | + }, |
| 990 | + params_map={ |
| 991 | + "indicator": { |
| 992 | + "required": True, |
| 993 | + "openapi_types": (str,), |
| 994 | + "attribute": "indicator", |
| 995 | + "location": "query", |
| 996 | + }, |
| 997 | + }, |
| 998 | + headers_map={ |
| 999 | + "accept": ["application/json"], |
| 1000 | + }, |
| 1001 | + api_client=api_client, |
| 1002 | + ) |
| 1003 | + |
979 | 1004 | self._get_investigation_log_queries_matching_signal_endpoint = _Endpoint( |
980 | 1005 | settings={ |
981 | 1006 | "response_type": (SecurityMonitoringSignalSuggestedActionsResponse,), |
@@ -1673,6 +1698,54 @@ def __init__(self, api_client=None): |
1673 | 1698 | api_client=api_client, |
1674 | 1699 | ) |
1675 | 1700 |
|
| 1701 | + self._list_indicators_of_compromise_endpoint = _Endpoint( |
| 1702 | + settings={ |
| 1703 | + "response_type": (IoCExplorerListResponse,), |
| 1704 | + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], |
| 1705 | + "endpoint_path": "/api/v2/security/siem/ioc-explorer", |
| 1706 | + "operation_id": "list_indicators_of_compromise", |
| 1707 | + "http_method": "GET", |
| 1708 | + "version": "v2", |
| 1709 | + }, |
| 1710 | + params_map={ |
| 1711 | + "limit": { |
| 1712 | + "validation": { |
| 1713 | + "inclusive_maximum": 2147483647, |
| 1714 | + }, |
| 1715 | + "openapi_types": (int,), |
| 1716 | + "attribute": "limit", |
| 1717 | + "location": "query", |
| 1718 | + }, |
| 1719 | + "offset": { |
| 1720 | + "validation": { |
| 1721 | + "inclusive_maximum": 2147483647, |
| 1722 | + }, |
| 1723 | + "openapi_types": (int,), |
| 1724 | + "attribute": "offset", |
| 1725 | + "location": "query", |
| 1726 | + }, |
| 1727 | + "query": { |
| 1728 | + "openapi_types": (str,), |
| 1729 | + "attribute": "query", |
| 1730 | + "location": "query", |
| 1731 | + }, |
| 1732 | + "sort_column": { |
| 1733 | + "openapi_types": (str,), |
| 1734 | + "attribute": "sort[column]", |
| 1735 | + "location": "query", |
| 1736 | + }, |
| 1737 | + "sort_order": { |
| 1738 | + "openapi_types": (str,), |
| 1739 | + "attribute": "sort[order]", |
| 1740 | + "location": "query", |
| 1741 | + }, |
| 1742 | + }, |
| 1743 | + headers_map={ |
| 1744 | + "accept": ["application/json"], |
| 1745 | + }, |
| 1746 | + api_client=api_client, |
| 1747 | + ) |
| 1748 | + |
1676 | 1749 | self._list_multiple_rulesets_endpoint = _Endpoint( |
1677 | 1750 | settings={ |
1678 | 1751 | "response_type": (GetMultipleRulesetsResponse,), |
@@ -3447,6 +3520,23 @@ def get_finding( |
3447 | 3520 |
|
3448 | 3521 | return self._get_finding_endpoint.call_with_http_info(**kwargs) |
3449 | 3522 |
|
| 3523 | + def get_indicator_of_compromise( |
| 3524 | + self, |
| 3525 | + indicator: str, |
| 3526 | + ) -> GetIoCIndicatorResponse: |
| 3527 | + """Get an indicator of compromise. |
| 3528 | +
|
| 3529 | + Get detailed information about a specific indicator of compromise (IoC). |
| 3530 | +
|
| 3531 | + :param indicator: The indicator value to look up (for example, an IP address or domain). |
| 3532 | + :type indicator: str |
| 3533 | + :rtype: GetIoCIndicatorResponse |
| 3534 | + """ |
| 3535 | + kwargs: Dict[str, Any] = {} |
| 3536 | + kwargs["indicator"] = indicator |
| 3537 | + |
| 3538 | + return self._get_indicator_of_compromise_endpoint.call_with_http_info(**kwargs) |
| 3539 | + |
3450 | 3540 | def get_investigation_log_queries_matching_signal( |
3451 | 3541 | self, |
3452 | 3542 | signal_id: str, |
@@ -4227,6 +4317,49 @@ def list_findings_with_pagination( |
4227 | 4317 | } |
4228 | 4318 | return endpoint.call_with_http_info_paginated(pagination) |
4229 | 4319 |
|
| 4320 | + def list_indicators_of_compromise( |
| 4321 | + self, |
| 4322 | + *, |
| 4323 | + limit: Union[int, UnsetType] = unset, |
| 4324 | + offset: Union[int, UnsetType] = unset, |
| 4325 | + query: Union[str, UnsetType] = unset, |
| 4326 | + sort_column: Union[str, UnsetType] = unset, |
| 4327 | + sort_order: Union[str, UnsetType] = unset, |
| 4328 | + ) -> IoCExplorerListResponse: |
| 4329 | + """List indicators of compromise. |
| 4330 | +
|
| 4331 | + Get a list of indicators of compromise (IoCs) matching the specified filters. |
| 4332 | +
|
| 4333 | + :param limit: Number of results per page. |
| 4334 | + :type limit: int, optional |
| 4335 | + :param offset: Pagination offset. |
| 4336 | + :type offset: int, optional |
| 4337 | + :param query: Search/filter query (supports field:value syntax). |
| 4338 | + :type query: str, optional |
| 4339 | + :param sort_column: Sort column: score, first_seen_ts_epoch, last_seen_ts_epoch, indicator, indicator_type, signal_count, log_count, category, as_type. |
| 4340 | + :type sort_column: str, optional |
| 4341 | + :param sort_order: Sort order: asc or desc. |
| 4342 | + :type sort_order: str, optional |
| 4343 | + :rtype: IoCExplorerListResponse |
| 4344 | + """ |
| 4345 | + kwargs: Dict[str, Any] = {} |
| 4346 | + if limit is not unset: |
| 4347 | + kwargs["limit"] = limit |
| 4348 | + |
| 4349 | + if offset is not unset: |
| 4350 | + kwargs["offset"] = offset |
| 4351 | + |
| 4352 | + if query is not unset: |
| 4353 | + kwargs["query"] = query |
| 4354 | + |
| 4355 | + if sort_column is not unset: |
| 4356 | + kwargs["sort_column"] = sort_column |
| 4357 | + |
| 4358 | + if sort_order is not unset: |
| 4359 | + kwargs["sort_order"] = sort_order |
| 4360 | + |
| 4361 | + return self._list_indicators_of_compromise_endpoint.call_with_http_info(**kwargs) |
| 4362 | + |
4230 | 4363 | def list_multiple_rulesets( |
4231 | 4364 | self, |
4232 | 4365 | body: GetMultipleRulesetsRequest, |
|
0 commit comments