diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 77abb46069..d022bcef46 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -52069,6 +52069,8 @@ components: maximum: 5 minimum: 1 type: integer + suppressions: + $ref: '#/components/schemas/SensitiveDataScannerSuppressions' tags: description: List of tags. items: @@ -52290,6 +52292,41 @@ components: type: $ref: '#/components/schemas/SensitiveDataScannerStandardPatternType' type: object + SensitiveDataScannerSuppressions: + description: 'Object describing the suppressions for a rule. There are three + types of suppressions, `starts_with`, `ends_with`, and `exact_match`. + + Suppressed matches are not obfuscated, counted in metrics, or displayed in + the Findings page.' + properties: + ends_with: + description: List of strings to use for suppression of matches ending with + these strings. + example: + - '@example.com' + - example.com + items: + type: string + type: array + exact_match: + description: List of strings to use for suppression of matches exactly matching + these strings. + example: + - admin@example.com + - user@example.com + items: + type: string + type: array + starts_with: + description: List of strings to use for suppression of matches starting + with these strings. + example: + - admin + - user + items: + type: string + type: array + type: object SensitiveDataScannerTextReplacement: description: Object describing how the scanned event will be replaced. properties: diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 690a0397e6..54f8570ab9 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -22845,6 +22845,13 @@ datadog\_api\_client.v2.model.sensitive\_data\_scanner\_standard\_patterns\_resp :members: :show-inheritance: +datadog\_api\_client.v2.model.sensitive\_data\_scanner\_suppressions module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.sensitive_data_scanner_suppressions + :members: + :show-inheritance: + datadog\_api\_client.v2.model.sensitive\_data\_scanner\_text\_replacement module -------------------------------------------------------------------------------- diff --git a/src/datadog_api_client/v2/model/sensitive_data_scanner_rule_attributes.py b/src/datadog_api_client/v2/model/sensitive_data_scanner_rule_attributes.py index bd57f8e9aa..66ed4e4d3c 100644 --- a/src/datadog_api_client/v2/model/sensitive_data_scanner_rule_attributes.py +++ b/src/datadog_api_client/v2/model/sensitive_data_scanner_rule_attributes.py @@ -17,6 +17,7 @@ from datadog_api_client.v2.model.sensitive_data_scanner_included_keyword_configuration import ( SensitiveDataScannerIncludedKeywordConfiguration, ) + from datadog_api_client.v2.model.sensitive_data_scanner_suppressions import SensitiveDataScannerSuppressions from datadog_api_client.v2.model.sensitive_data_scanner_text_replacement import SensitiveDataScannerTextReplacement @@ -33,6 +34,7 @@ def openapi_types(_): from datadog_api_client.v2.model.sensitive_data_scanner_included_keyword_configuration import ( SensitiveDataScannerIncludedKeywordConfiguration, ) + from datadog_api_client.v2.model.sensitive_data_scanner_suppressions import SensitiveDataScannerSuppressions from datadog_api_client.v2.model.sensitive_data_scanner_text_replacement import ( SensitiveDataScannerTextReplacement, ) @@ -46,6 +48,7 @@ def openapi_types(_): "namespaces": ([str],), "pattern": (str,), "priority": (int,), + "suppressions": (SensitiveDataScannerSuppressions,), "tags": ([str],), "text_replacement": (SensitiveDataScannerTextReplacement,), } @@ -59,6 +62,7 @@ def openapi_types(_): "namespaces": "namespaces", "pattern": "pattern", "priority": "priority", + "suppressions": "suppressions", "tags": "tags", "text_replacement": "text_replacement", } @@ -73,6 +77,7 @@ def __init__( namespaces: Union[List[str], UnsetType] = unset, pattern: Union[str, UnsetType] = unset, priority: Union[int, UnsetType] = unset, + suppressions: Union[SensitiveDataScannerSuppressions, UnsetType] = unset, tags: Union[List[str], UnsetType] = unset, text_replacement: Union[SensitiveDataScannerTextReplacement, UnsetType] = unset, **kwargs, @@ -108,6 +113,10 @@ def __init__( :param priority: Integer from 1 (high) to 5 (low) indicating rule issue severity. :type priority: int, optional + :param suppressions: Object describing the suppressions for a rule. There are three types of suppressions, ``starts_with`` , ``ends_with`` , and ``exact_match``. + Suppressed matches are not obfuscated, counted in metrics, or displayed in the Findings page. + :type suppressions: SensitiveDataScannerSuppressions, optional + :param tags: List of tags. :type tags: [str], optional @@ -130,6 +139,8 @@ def __init__( kwargs["pattern"] = pattern if priority is not unset: kwargs["priority"] = priority + if suppressions is not unset: + kwargs["suppressions"] = suppressions if tags is not unset: kwargs["tags"] = tags if text_replacement is not unset: diff --git a/src/datadog_api_client/v2/model/sensitive_data_scanner_suppressions.py b/src/datadog_api_client/v2/model/sensitive_data_scanner_suppressions.py new file mode 100644 index 0000000000..b1de088653 --- /dev/null +++ b/src/datadog_api_client/v2/model/sensitive_data_scanner_suppressions.py @@ -0,0 +1,57 @@ +# 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 typing import List, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class SensitiveDataScannerSuppressions(ModelNormal): + @cached_property + def openapi_types(_): + return { + "ends_with": ([str],), + "exact_match": ([str],), + "starts_with": ([str],), + } + + attribute_map = { + "ends_with": "ends_with", + "exact_match": "exact_match", + "starts_with": "starts_with", + } + + def __init__( + self_, + ends_with: Union[List[str], UnsetType] = unset, + exact_match: Union[List[str], UnsetType] = unset, + starts_with: Union[List[str], UnsetType] = unset, + **kwargs, + ): + """ + Object describing the suppressions for a rule. There are three types of suppressions, ``starts_with`` , ``ends_with`` , and ``exact_match``. + Suppressed matches are not obfuscated, counted in metrics, or displayed in the Findings page. + + :param ends_with: List of strings to use for suppression of matches ending with these strings. + :type ends_with: [str], optional + + :param exact_match: List of strings to use for suppression of matches exactly matching these strings. + :type exact_match: [str], optional + + :param starts_with: List of strings to use for suppression of matches starting with these strings. + :type starts_with: [str], optional + """ + if ends_with is not unset: + kwargs["ends_with"] = ends_with + if exact_match is not unset: + kwargs["exact_match"] = exact_match + if starts_with is not unset: + kwargs["starts_with"] = starts_with + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index a699871b0d..94e5aff89e 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -4682,6 +4682,7 @@ from datadog_api_client.v2.model.sensitive_data_scanner_standard_patterns_response_item import ( SensitiveDataScannerStandardPatternsResponseItem, ) +from datadog_api_client.v2.model.sensitive_data_scanner_suppressions import SensitiveDataScannerSuppressions from datadog_api_client.v2.model.sensitive_data_scanner_text_replacement import SensitiveDataScannerTextReplacement from datadog_api_client.v2.model.sensitive_data_scanner_text_replacement_type import ( SensitiveDataScannerTextReplacementType, @@ -8633,6 +8634,7 @@ "SensitiveDataScannerStandardPatternsResponse", "SensitiveDataScannerStandardPatternsResponseData", "SensitiveDataScannerStandardPatternsResponseItem", + "SensitiveDataScannerSuppressions", "SensitiveDataScannerTextReplacement", "SensitiveDataScannerTextReplacementType", "ServiceAccountCreateAttributes", diff --git a/tests/v2/cassettes/test_scenarios/test_create_scanning_group_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_scanning_group_returns_ok_response.frozen index 53d5a36390..f5f3998c3e 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_scanning_group_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_create_scanning_group_returns_ok_response.frozen @@ -1 +1 @@ -2022-12-09T09:52:45.850Z \ No newline at end of file +2026-01-15T19:26:36.689Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_scanning_group_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_scanning_group_returns_ok_response.yaml index c9afcf6797..4cb8b7f4e1 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_scanning_group_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_create_scanning_group_returns_ok_response.yaml @@ -5,38 +5,34 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"meta":{"count_limit":100,"version":1189,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true},"data":{"relationships":{"groups":{"data":[]}},"attributes":{},"type":"sensitive_data_scanner_configuration","id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87"}} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275775}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK - request: - body: '{"data":{"attributes":{"filter":{"query":"*"},"is_enabled":false,"name":"Test-Create_Scanning_Group_returns_OK_response-1670579565","product_list":["logs"]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},"meta":{}}' + body: '{"data":{"attributes":{"filter":{"query":"*"},"is_enabled":false,"name":"Test-Create_Scanning_Group_returns_OK_response-1768505196","product_list":["logs"]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"meta":{"version":1190},"data":{"relationships":{"rules":{"data":[]},"configuration":{"data":{"type":"sensitive_data_scanner_configuration","id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87"}}},"attributes":{"is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"name":"Test-Create_Scanning_Group_returns_OK_response-1670579565"},"type":"sensitive_data_scanner_group","id":"RJDd4r3FQ2CpbYFQIL1KIA"}} - - ' + string: '{"data":{"id":"e6722da9-8d8d-4646-adff-f6a6795e5091","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Create_Scanning_Group_returns_OK_response-1768505196","product_list":["logs"],"samplings":[]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275776}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: body: '{"meta":{}}' headers: @@ -45,15 +41,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/RJDd4r3FQ2CpbYFQIL1KIA + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/e6722da9-8d8d-4646-adff-f6a6795e5091 response: body: - string: '{"meta":{"version":1191}} - - ' + string: '{"meta":{"version":275777}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_bad_request_response.frozen index 9337592174..287eb5f8b8 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:05.785Z \ No newline at end of file +2026-01-15T19:26:38.008Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_bad_request_response.yaml index 624d9db939..67848e75e0 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_bad_request_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274556,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275777}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,36 +23,32 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"ebd98a70-4d09-45aa-99d7-5123d3a829ef","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274557}} - - ' + string: '{"data":{"id":"7c1e8787-2312-47fc-ac08-36587025d778","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275778}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"data":{"attributes":{"is_enabled":true,"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"ebd98a70-4d09-45aa-99d7-5123d3a829ef","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' + body: '{"data":{"attributes":{"is_enabled":true,"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"7c1e8787-2312-47fc-ac08-36587025d778","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: body: - string: '{"errors":["input_validation_error(Field ''data.attributes.name'' is - invalid: field ''data.attributes.name'' is required)"]} - - ' + string: '{"errors":[{"title":"Generic Error","detail":"rule name should not + be blank"}]}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 400 message: Bad Request @@ -155,15 +60,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/ebd98a70-4d09-45aa-99d7-5123d3a829ef + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/7c1e8787-2312-47fc-ac08-36587025d778 response: body: - string: '{"meta":{"version":274558}} - - ' + string: '{"meta":{"version":275779}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_ok_response.frozen index e3a1411fc4..2ad9b2b441 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_ok_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:07.743Z \ No newline at end of file +2026-01-15T19:26:39.695Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_ok_response.yaml index 935cf9149b..f9af0e781d 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_returns_ok_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274558,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275779}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,40 +23,36 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"b494211c-c9a4-4eae-9411-c27299fd4dcf","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274559}} - - ' + string: '{"data":{"id":"c73e4099-436a-4e22-915b-41ef39a9b67c","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275780}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: body: '{"data":{"attributes":{"excluded_namespaces":["admin.name"],"included_keyword_configuration":{"character_count":35,"keywords":["credit - card"]},"is_enabled":true,"name":"Test-Create_Scanning_Rule_returns_OK_response-1748625427","namespaces":["admin"],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"b494211c-c9a4-4eae-9411-c27299fd4dcf","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' + card"]},"is_enabled":true,"name":"Test-Create_Scanning_Rule_returns_OK_response-1768505199","namespaces":["admin"],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"c73e4099-436a-4e22-915b-41ef39a9b67c","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: body: - string: '{"data":{"id":"4fddb9c6-bca6-410f-a83b-57102588788b","attributes":{"name":"Test-Create_Scanning_Rule_returns_OK_response-1748625427","namespaces":["admin"],"excluded_namespaces":["admin.name"],"pattern":"pattern","text_replacement":{"type":"none"},"tags":["sensitive_data:true"],"labels":[],"is_enabled":true,"priority":1,"included_keyword_configuration":{"keywords":["credit - card"],"character_count":35}},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"b494211c-c9a4-4eae-9411-c27299fd4dcf","type":"sensitive_data_scanner_group"}}}},"meta":{"version":274560}} - - ' + string: '{"data":{"id":"51338c31-deac-414b-a3c7-2c68f47926dd","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":["admin.name"],"included_keyword_configuration":{"keywords":["credit + card"],"character_count":35},"is_enabled":true,"labels":[],"name":"Test-Create_Scanning_Rule_returns_OK_response-1768505199","namespaces":["admin"],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"c73e4099-436a-4e22-915b-41ef39a9b67c","type":"sensitive_data_scanner_group"}}}},"meta":{"version":275781}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: body: '{"meta":{}}' headers: @@ -156,15 +61,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/4fddb9c6-bca6-410f-a83b-57102588788b + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/51338c31-deac-414b-a3c7-2c68f47926dd response: body: - string: '{"meta":{"version":274561}} - - ' + string: '{"meta":{"version":275782}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -176,15 +79,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/b494211c-c9a4-4eae-9411-c27299fd4dcf + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/c73e4099-436a-4e22-915b-41ef39a9b67c response: body: - string: '{"meta":{"version":274562}} - - ' + string: '{"meta":{"version":275783}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_with_should_save_match_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_with_should_save_match_returns_ok_response.frozen index 5834759fc6..8cdbbc2dad 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_with_should_save_match_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_with_should_save_match_returns_ok_response.frozen @@ -1 +1 @@ -2025-08-26T20:31:44.042Z \ No newline at end of file +2026-01-15T19:26:41.821Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_with_should_save_match_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_with_should_save_match_returns_ok_response.yaml index e72eac6978..80ed70a0c7 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_with_should_save_match_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_create_scanning_rule_with_should_save_match_returns_ok_response.yaml @@ -5,15 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[]}}},"meta":{"version":275277,"count_limit":250,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0}} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275783}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -25,38 +23,34 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"18cc2267-f3cc-4c15-917d-d3efb15deb03","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275278}} - - ' + string: '{"data":{"id":"a0bac692-960a-49d0-acc2-50c6b96a3653","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275784}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Create_Scanning_Rule_with_should_save_match_returns_OK_response-1756240304","pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"replacement_string":"REDACTED","should_save_match":true,"type":"replacement_string"}},"relationships":{"group":{"data":{"id":"18cc2267-f3cc-4c15-917d-d3efb15deb03","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' + body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Create_Scanning_Rule_with_should_save_match_returns_OK_response-1768505201","pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"replacement_string":"REDACTED","should_save_match":true,"type":"replacement_string"}},"relationships":{"group":{"data":{"id":"a0bac692-960a-49d0-acc2-50c6b96a3653","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: body: - string: '{"data":{"id":"0e517b8a-04c1-4ae0-b57b-22b8e081190c","attributes":{"name":"Test-Create_Scanning_Rule_with_should_save_match_returns_OK_response-1756240304","namespaces":[],"excluded_namespaces":[],"pattern":"pattern","text_replacement":{"replacement_string":"REDACTED","should_save_match":true,"type":"replacement_string"},"tags":["sensitive_data:true"],"labels":[],"is_enabled":true,"priority":1},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"18cc2267-f3cc-4c15-917d-d3efb15deb03","type":"sensitive_data_scanner_group"}}}},"meta":{"version":275279}} - - ' + string: '{"data":{"id":"86439182-8e46-4d14-801d-861f0326796a","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Create_Scanning_Rule_with_should_save_match_returns_OK_response-1768505201","namespaces":[],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"replacement_string","replacement_string":"REDACTED","should_save_match":true}},"relationships":{"group":{"data":{"id":"a0bac692-960a-49d0-acc2-50c6b96a3653","type":"sensitive_data_scanner_group"}}}},"meta":{"version":275785}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: body: '{"meta":{}}' headers: @@ -65,15 +59,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/0e517b8a-04c1-4ae0-b57b-22b8e081190c + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/86439182-8e46-4d14-801d-861f0326796a response: body: - string: '{"meta":{"version":275280}} - - ' + string: '{"meta":{"version":275786}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -85,15 +77,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/18cc2267-f3cc-4c15-917d-d3efb15deb03 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/a0bac692-960a-49d0-acc2-50c6b96a3653 response: body: - string: '{"meta":{"version":275281}} - - ' + string: '{"meta":{"version":275787}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_delete_scanning_group_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_scanning_group_returns_ok_response.frozen index 505f0d6399..8b3f91ee1f 100644 --- a/tests/v2/cassettes/test_scenarios/test_delete_scanning_group_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_delete_scanning_group_returns_ok_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:09.412Z \ No newline at end of file +2026-01-15T19:26:43.896Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_scanning_group_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_scanning_group_returns_ok_response.yaml index 6448d09217..7d20521617 100644 --- a/tests/v2/cassettes/test_scenarios/test_delete_scanning_group_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_delete_scanning_group_returns_ok_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274562,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275787}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,18 +23,16 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"e560ae10-dbbe-48cd-9e89-358707cb287c","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274563}} - - ' + string: '{"data":{"id":"a7d3cf21-c56d-4d4d-b62c-0359e9d6737f","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275788}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: body: '{"meta":{}}' headers: @@ -134,15 +41,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/e560ae10-dbbe-48cd-9e89-358707cb287c + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/a7d3cf21-c56d-4d4d-b62c-0359e9d6737f response: body: - string: '{"meta":{"version":274564}} - - ' + string: '{"meta":{"version":275789}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -154,15 +59,14 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/e560ae10-dbbe-48cd-9e89-358707cb287c + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/a7d3cf21-c56d-4d4d-b62c-0359e9d6737f response: body: - string: '{"errors":["The requested scanning group was not found"]} - - ' + string: '{"errors":[{"status":"404","code":"Not Found","title":"Not Found","detail":"scanning + group could not be found"}]}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 404 message: Not Found diff --git a/tests/v2/cassettes/test_scenarios/test_delete_scanning_rule_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_scanning_rule_returns_ok_response.frozen index cc12976afe..571c28551d 100644 --- a/tests/v2/cassettes/test_scenarios/test_delete_scanning_rule_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_delete_scanning_rule_returns_ok_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:10.839Z \ No newline at end of file +2026-01-15T19:26:45.562Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_scanning_rule_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_scanning_rule_returns_ok_response.yaml index 2e701dcd7e..171ba30475 100644 --- a/tests/v2/cassettes/test_scenarios/test_delete_scanning_rule_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_delete_scanning_rule_returns_ok_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274564,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275789}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,38 +23,34 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"6543c741-cc7b-44ff-860c-dace29aa5013","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274565}} - - ' + string: '{"data":{"id":"927ca391-1913-4f52-ab2e-70a41e41ed63","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275790}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Delete_Scanning_Rule_returns_OK_response-1748625430","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"6543c741-cc7b-44ff-860c-dace29aa5013","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' + body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Delete_Scanning_Rule_returns_OK_response-1768505205","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"927ca391-1913-4f52-ab2e-70a41e41ed63","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: body: - string: '{"data":{"id":"219cea0c-9825-4b1f-b0d1-e838ea904b7d","attributes":{"name":"Test-Delete_Scanning_Rule_returns_OK_response-1748625430","namespaces":["admin.email"],"excluded_namespaces":[],"pattern":"pattern","text_replacement":{"type":"none"},"tags":["sensitive_data:true"],"labels":[],"is_enabled":true},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"6543c741-cc7b-44ff-860c-dace29aa5013","type":"sensitive_data_scanner_group"}}}},"meta":{"version":274566}} - - ' + string: '{"data":{"id":"fb13a01b-6093-4847-97a7-20a5947d8cce","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Delete_Scanning_Rule_returns_OK_response-1768505205","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"927ca391-1913-4f52-ab2e-70a41e41ed63","type":"sensitive_data_scanner_group"}}}},"meta":{"version":275791}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: body: '{"meta":{}}' headers: @@ -154,15 +59,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/219cea0c-9825-4b1f-b0d1-e838ea904b7d + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/fb13a01b-6093-4847-97a7-20a5947d8cce response: body: - string: '{"meta":{"version":274567}} - - ' + string: '{"meta":{"version":275792}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -174,15 +77,14 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/219cea0c-9825-4b1f-b0d1-e838ea904b7d + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/fb13a01b-6093-4847-97a7-20a5947d8cce response: body: - string: '{"errors":["The requested scanning rule was not found"]} - - ' + string: '{"errors":[{"status":"404","code":"Not Found","title":"Not Found","detail":"scanning + rule could not be found"}]}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 404 message: Not Found @@ -194,15 +96,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/6543c741-cc7b-44ff-860c-dace29aa5013 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/927ca391-1913-4f52-ab2e-70a41e41ed63 response: body: - string: '{"meta":{"version":274568}} - - ' + string: '{"meta":{"version":275793}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_list_scanning_groups_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_list_scanning_groups_returns_ok_response.frozen index 579206d5ad..463ade2a64 100644 --- a/tests/v2/cassettes/test_scenarios/test_list_scanning_groups_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_list_scanning_groups_returns_ok_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:12.782Z \ No newline at end of file +2026-01-15T19:26:48.039Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_list_scanning_groups_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_list_scanning_groups_returns_ok_response.yaml index fe23ad251d..2c8330f478 100644 --- a/tests/v2/cassettes/test_scenarios/test_list_scanning_groups_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_list_scanning_groups_returns_ok_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274568,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275793}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,122 +23,29 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"28119817-f6fe-428d-b308-74518e8b9de2","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274569}} - - ' + string: '{"data":{"id":"1ac7cff5-7afe-4228-9a9c-ed60eac958e4","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275794}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"},{"id":"28119817-f6fe-428d-b308-74518e8b9de2","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274569,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},{"id":"28119817-f6fe-428d-b308-74518e8b9de2","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"},{"id":"1ac7cff5-7afe-4228-9a9c-ed60eac958e4","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"1ac7cff5-7afe-4228-9a9c-ed60eac958e4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275794}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -241,15 +57,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/28119817-f6fe-428d-b308-74518e8b9de2 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/1ac7cff5-7afe-4228-9a9c-ed60eac958e4 response: body: - string: '{"meta":{"version":274570}} - - ' + string: '{"meta":{"version":275795}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_reorder_groups_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_reorder_groups_returns_bad_request_response.frozen index 6969cf9e68..0b1878839d 100644 --- a/tests/v2/cassettes/test_scenarios/test_reorder_groups_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_reorder_groups_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:14.127Z \ No newline at end of file +2026-01-15T19:26:49.691Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_reorder_groups_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_reorder_groups_returns_bad_request_response.yaml index e5c546477e..4420096dac 100644 --- a/tests/v2/cassettes/test_scenarios/test_reorder_groups_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_reorder_groups_returns_bad_request_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274570,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275795}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,36 +23,32 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"4eeaf9f0-4e3c-4850-9a5b-5a596ee634f7","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274571}} - - ' + string: '{"data":{"id":"9814f8c3-846f-405d-b9ae-eb2b7f185547","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275796}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"Test-Reorder_Groups_returns_Bad_Request_response-1748625434","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"meta":{}}' + body: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"Test-Reorder_Groups_returns_Bad_Request_response-1768505209","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"errors":["invalid_argument(Pipelines to reorder do not match current - pipelines)"]} - - ' + string: '{"errors":[{"status":"400","title":"Bad Request","detail":"invalid_argument(Scanning + group IDs to reorder do not match current group IDs)"}]}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 400 message: Bad Request @@ -155,15 +60,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/4eeaf9f0-4e3c-4850-9a5b-5a596ee634f7 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/9814f8c3-846f-405d-b9ae-eb2b7f185547 response: body: - string: '{"meta":{"version":274572}} - - ' + string: '{"meta":{"version":275797}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_update_scanning_group_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_scanning_group_returns_ok_response.frozen index ae3e7c4c63..b7eb92623d 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_scanning_group_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_scanning_group_returns_ok_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:15.446Z \ No newline at end of file +2026-01-15T19:26:51.579Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_scanning_group_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_scanning_group_returns_ok_response.yaml index 21cfdb3497..b5e0cc2e59 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_scanning_group_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_scanning_group_returns_ok_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274572,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275797}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,35 +23,31 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"6274c155-446e-4cae-aae3-dd700ee02952","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274573}} - - ' + string: '{"data":{"id":"fe15b410-d3fd-455d-85c5-7cb15004cbda","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275798}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"data":{"attributes":{"filter":{"query":"*"},"is_enabled":false,"name":"Test-Update_Scanning_Group_returns_OK_response-1748625435","product_list":["logs"]},"id":"6274c155-446e-4cae-aae3-dd700ee02952","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},"meta":{}}' + body: '{"data":{"attributes":{"filter":{"query":"*"},"is_enabled":false,"name":"Test-Update_Scanning_Group_returns_OK_response-1768505211","product_list":["logs"]},"id":"fe15b410-d3fd-455d-85c5-7cb15004cbda","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/6274c155-446e-4cae-aae3-dd700ee02952 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/fe15b410-d3fd-455d-85c5-7cb15004cbda response: body: - string: '{"meta":{"version":274574}} - - ' + string: '{"meta":{"version":275799}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -154,15 +59,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/6274c155-446e-4cae-aae3-dd700ee02952 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/fe15b410-d3fd-455d-85c5-7cb15004cbda response: body: - string: '{"meta":{"version":274575}} - - ' + string: '{"meta":{"version":275800}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_bad_request_response.frozen index 0a240b3a21..eb24007929 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:16.805Z \ No newline at end of file +2026-01-15T19:26:53.347Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_bad_request_response.yaml index c489d5dbb4..f6557055a0 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_bad_request_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274575,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275800}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,59 +23,52 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"b2dd122b-89cf-489d-af76-f896a34ba958","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274576}} - - ' + string: '{"data":{"id":"14329456-3303-426e-b512-2892363ffe45","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275801}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1748625436","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"b2dd122b-89cf-489d-af76-f896a34ba958","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' + body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1768505213","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"14329456-3303-426e-b512-2892363ffe45","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: body: - string: '{"data":{"id":"a2e1ebb2-65a9-4c80-83dd-729e0112de33","attributes":{"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1748625436","namespaces":["admin.email"],"excluded_namespaces":[],"pattern":"pattern","text_replacement":{"type":"none"},"tags":["sensitive_data:true"],"labels":[],"is_enabled":true},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"b2dd122b-89cf-489d-af76-f896a34ba958","type":"sensitive_data_scanner_group"}}}},"meta":{"version":274577}} - - ' + string: '{"data":{"id":"c410b4e1-1d5b-40e1-8b98-33b68ab86bc0","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1768505213","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"14329456-3303-426e-b512-2892363ffe45","type":"sensitive_data_scanner_group"}}}},"meta":{"version":275802}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1748625436","pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"b2dd122b-89cf-489d-af76-f896a34ba958","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' + body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1768505213","pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"14329456-3303-426e-b512-2892363ffe45","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/a2e1ebb2-65a9-4c80-83dd-729e0112de33 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/c410b4e1-1d5b-40e1-8b98-33b68ab86bc0 response: body: - string: '{"errors":["input_validation_error(Field ''data.id'' is invalid: field - ''data.id'' is required)"]} - - ' + string: '{"meta":{"version":275803}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 400 - message: Bad Request + code: 200 + message: OK - request: body: '{"meta":{}}' headers: @@ -175,15 +77,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/a2e1ebb2-65a9-4c80-83dd-729e0112de33 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/c410b4e1-1d5b-40e1-8b98-33b68ab86bc0 response: body: - string: '{"meta":{"version":274578}} - - ' + string: '{"meta":{"version":275804}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -195,15 +95,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/b2dd122b-89cf-489d-af76-f896a34ba958 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/14329456-3303-426e-b512-2892363ffe45 response: body: - string: '{"meta":{"version":274579}} - - ' + string: '{"meta":{"version":275805}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_ok_response.frozen index 330ab22eeb..abcccd7b76 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_ok_response.frozen @@ -1 +1 @@ -2025-05-30T17:17:18.819Z \ No newline at end of file +2026-01-15T19:26:55.870Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_ok_response.yaml index 3cf50b1e84..0801ca2565 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_scanning_rule_returns_ok_response.yaml @@ -5,104 +5,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config response: body: - string: '{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","attributes":{},"type":"sensitive_data_scanner_configuration","relationships":{"groups":{"data":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"},{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","type":"sensitive_data_scanner_group"}]}}},"meta":{"version":274579,"count_limit":100,"group_count_limit":20,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10.0},"included":[{"id":"xdfyyx1FSzqEaNwOpqhsFw","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"5991e227-d611-4b56-afef-4992b5104755","type":"sensitive_data_scanner_rule"},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","type":"sensitive_data_scanner_rule"},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","type":"sensitive_data_scanner_rule"},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","type":"sensitive_data_scanner_rule"},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","type":"sensitive_data_scanner_rule"},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","type":"sensitive_data_scanner_rule"},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","type":"sensitive_data_scanner_rule"},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","type":"sensitive_data_scanner_rule"},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","type":"sensitive_data_scanner_rule"},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","type":"sensitive_data_scanner_rule"},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","type":"sensitive_data_scanner_rule"},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","type":"sensitive_data_scanner_rule"},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","type":"sensitive_data_scanner_rule"},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","type":"sensitive_data_scanner_rule"},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","type":"sensitive_data_scanner_rule"},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","type":"sensitive_data_scanner_rule"},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","type":"sensitive_data_scanner_rule"}]}}},{"id":"5991e227-d611-4b56-afef-4992b5104755","attributes":{"name":"HTTP - Basic Authentication Header Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:basic_auth"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Authorization header of an HTTP request that uses the Basic authentication - scheme. It specifically looks for the Authorization keyword, followed by the - Basic keyword and a base64-encoded string.\n\nExamples of matching formats:\n- - `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n- `Authorization: Basic - Yml0c0FJOmhlbHAgbWU=`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"9d7756e343cefa22a5c098e1092590f806eb5446","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"e28f1169-ba43-46ea-aa9e-a0f97a2fc830","attributes":{"name":"HTTP - Cookie Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:network_and_device_info","sensitive_data:cookie"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - the Set-Cookie header of an HTTP response. It captures the cookie name-value - pairs and any optional attributes that are separated by semicolons.\n\nExamples - of matching formats:\n- `Set-Cookie: sessionid=123456; HttpOnly; Secure`\n- - `Set-Cookie: username=JohnDoe`\n","priority":4,"included_keyword_configuration":{"keywords":["cookie"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"34574e54c3e67a8a26d7070f331d83ae933d2730","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"55318894-77ad-4b18-bc2d-562e388effe8","attributes":{"name":"HTTP(S) - URL Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:url","sensitive_data:http_url"],"labels":["domain:network","compliance:pci","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a HTTP(S) URL.\n\nExamples of matching - formats:\n- `https://www.example.com/questions/3456/my-document?key1=value1&key2=value2`\n- - `http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html`\n- `http://xn--fsqu00a.xn--3lr804guic/`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aLQt_DX_T8S1MaWS82eoNQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"7511ac78-b433-42e0-b291-eac394e1ae06","attributes":{"name":"Canadian - Social Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:canadian_sin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a Canadian Social Insurance Number (SIN), - which is composed of three digits separated by hyphens.\n\nExamples of matching - formats:\n- `123-456-789`\n- `456-789-123`\n","priority":4,"included_keyword_configuration":{"keywords":["canadian","canadian - insurance number","canadian social insurance","insurance number","number","sin","social","social - insurance"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"450239afc250a19799b6c03dc0e16fd6a4b2a1af","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"47edb1c1-c841-48b0-bb84-9909485e1737","attributes":{"name":"Chinese - Identity Card Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_id"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese Identity Card Number format, - which consists of a single non-zero digit, followed by exactly 5 additional - digits, followed by a sequence of 7 to 18 digits. Matches are validated via - a checksum.\n\nExamples of matching formats:\n- `Chinese identity card number: - 320321197408094019`\n- `national id: 320321197408094019`\n","priority":4,"included_keyword_configuration":{"keywords":["national - id","resident identity","identity number","identification number","identity - card number","national identification number"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"4kEyzAP6fUEF83rWsEIZEx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"1b4415eb-6e91-441a-b1bf-2a3cb7b9724b","attributes":{"name":"Chinese - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_passport"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese passport number in a 9-character - format with 1 or 2 letters that can be D,DE,S,SE,G or E, and 7 or 8 digits.\n\nExamples - of matching formats:\n- `E01234567`\n- `G01234567`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","travel - document"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"8Wld3kT1UyCfVGmO3Ok69R","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"442c7cc0-2843-46f3-aedf-a027bcf8a22b","attributes":{"name":"Chinese - Phone Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:chinese_phone_number"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a Chinese phone number in a 11-character - format with the first digit being 1, the second digit being 3, 5, or 8, and - then exactly 9 additional digits.\n\nExamples of matching formats:\n- `18652313817`\n- - `+86 18552313817`\n","priority":4,"included_keyword_configuration":{"keywords":["mobile","phone","cell"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"V7sb5Px24c0n9yPwV72glH","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"dd7b34e8-c1d6-4ab0-bf4f-bb38809a1f43","attributes":{"name":"France - Social Security Number Scanner (INSEE/NIR)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:france_nir"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a France social security number (INSEE/NIR) - in a 9-digit format with optional delimiters after the 3rd and 5th digit. - Matches are validated via a checksum.\n\nExamples of matching formats:\n- - `1-51-02-46102-043-25`\n- `151024610204325`\n","priority":4,"included_keyword_configuration":{"keywords":["social - security","insee","nir"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"QiVm1XhY7GjzrSNrJ5IICB","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"145bbddb-c4ca-49d0-92dd-a7774ceb1eb4","attributes":{"name":"IPv4 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv4_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv4 Address.\n\nExamples of matching - formats:\n- `127.0.0.1`\n- `172.16.254.1`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"aDA3jUjSSLOezHV2y-Rn_w","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"2b2a4801-4f97-49c0-b6a3-e06d2f808c13","attributes":{"name":"IPv6 - Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:ip_address","sensitive_data:ipv6_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing an IPv6 Address.\n\nExamples of matching - formats:\n- `2001:0db8:0000:0000:0000:ff00:0042:8329`\n- `0000:0000:0000:0000:0000:0000:0000:0001`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"s3sEZP5fSTGSPLPS853VeQ","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"175b62d2-fc94-4919-aa35-3d501849885c","attributes":{"name":"Standard - Email Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:email_address","sensitive_data_category:email_address"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing standard email address using an official - top-level domain.\n\nExamples of matching formats:\n- `simple@example.com`\n- - `simple%40example.com`\n- `very.common@example.com`\n- `x@example.com`\n- - `long.email-address-with-hyphens@and.subdomains.example.com`\n- `user.name+tag+sorting@example.com`\n- - `name/surname@example.com`\n- `mailhost!username@example.org`\n- `user%example.com@example.org`\n- - `user-@example.org`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PuXiVTCkTHOtj0Yad1ppsw","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"d75637b3-ef47-46a7-8f8f-1ce99134d827","attributes":{"name":"Standard - MAC Address Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data:mac_address","sensitive_data_category:mac_address"],"labels":["domain:network","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - a sequence of characters representing a MAC address.\n\nExamples of matching - formats:\n- `FF:FF:FF:FF:FF:FF`\n- `FF-FF-FF-FF-FF-FF`\n","priority":4,"included_keyword_configuration":{"keywords":[],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"uRLVpXXTRxmCg4M93hfLiA","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6678e2b9-7b6d-4020-a6a1-e392d5d4e838","attributes":{"name":"UK - National Health Service Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nhs"],"labels":["compliance:gdpr","domain:pii"],"is_enabled":true,"description":"Matches - a sequence of characters representing a UK national health service number - (NHS) in a 10-digit format with optional space delimiters. Matches are validated - via a checksum.\n\nExamples of matching formats:\n- `National Health Number: - 907 784 4449`\n- `NHS: 1234567881`\n","priority":4,"included_keyword_configuration":{"keywords":["national - health number","nhs"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"rJ9DeXT0G7oESwbGWGMW82","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"6837bea8-0c0e-4ee7-bd6c-6371cbca52bb","attributes":{"name":"UK - National Insurance Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:uk_nin"],"labels":["domain:pii","compliance:gdpr"],"is_enabled":true,"description":"Matches - sequence of characters representing a UK National Insurance Number (NIN), - which is composed of two uppercase letters, six digits, and an optional uppercase - letter.\n\nExamples of matching formats:\n- `AB123456C`\n- `XY654321A`\n- - `GH987654`\n","priority":4,"included_keyword_configuration":{"keywords":["insurance","national","ni","nin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"de0899e0cbaaa812bb624cf04c912071012f616d","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"f4fec54d-63c3-4151-8cc0-d925743124ff","attributes":{"name":"US - Individual Taxpayer Identification Number Scanner (ITIN)","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_itin"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US ITIN number in a 9-digit format - with optional delimiters after the 3rd and 5th digit.\n\nExamples of matching - formats:\n- `927 70 5828`\n- `993-77 0690`\n","priority":4,"included_keyword_configuration":{"keywords":["i.t.i.n.","individual - taxpayer","itin"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"eC0YxRYEz27UOrfQ7sM3Bx","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"4724117a-668a-4a97-84e8-9f7d7cac0ab2","attributes":{"name":"US - Passport Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:passport_number"],"labels":["domain:pii","compliance:gdpr","compliance:hipaa"],"is_enabled":true,"description":"Matches - sequence of characters representing a US passport number, which is composed - 9 alphanumeric characters.\n\nExamples of matching formats:\n- `E00007734`\n- - `C03004786`\n","priority":4,"included_keyword_configuration":{"keywords":["passport","passport_"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"d962f7ddb3f55041e39195a60ff79d4814a7c331","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"70fbcc56-415b-42a2-96b0-53958f6024ba","attributes":{"name":"US - Social Security Number Scanner","namespaces":[],"excluded_namespaces":[],"text_replacement":{"type":"none"},"tags":["sensitive_data_category:pii","sensitive_data:us_ssn"],"labels":["domain:pii","compliance:hipaa","compliance:gdpr"],"is_enabled":true,"description":"Matches - a sequence of characters representing a US Social Security number in a 9-digit - format.\n\nExamples of matching formats:\n- `555-12-3456`\n- `456789012`\n","priority":4,"included_keyword_configuration":{"keywords":["ssn","social - security"],"use_recommended_keywords":true,"character_count":30}},"type":"sensitive_data_scanner_rule","relationships":{"standard_pattern":{"data":{"id":"PIIXqwUljp4BaqIHDBBLNn","type":"sensitive_data_scanner_standard_pattern"}},"group":{"data":{"id":"xdfyyx1FSzqEaNwOpqhsFw","type":"sensitive_data_scanner_group"}}}},{"id":"0QvFjxASTxK2VgAIXOgGnQ","attributes":{"name":"my - group","is_enabled":true,"filter":{"query":"*"},"product_list":["logs"],"description":"","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[{"id":"M4PLjvGWR7CMz6XlCjAadA","type":"sensitive_data_scanner_rule"}]}}},{"id":"M4PLjvGWR7CMz6XlCjAadA","attributes":{"name":"tf-TestAccDatadogSensitiveDataScannerRule_DefaultTags-local-1721743568","namespaces":[],"excluded_namespaces":["username"],"pattern":"regex","text_replacement":{"type":"none"},"tags":["sensitive_data:true","default_key:default_value"],"labels":[],"is_enabled":true,"description":"a - description"},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"0QvFjxASTxK2VgAIXOgGnQ","type":"sensitive_data_scanner_group"}}}},{"id":"5a142739-d4a5-4d9e-bc20-a4fd77bb8db0","attributes":{"name":"Thibault - Terraform test","is_enabled":false,"filter":{"query":"service:my-service"},"product_list":["apm"],"description":"A - relevant description","samplings":[]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}}]} - - ' + string: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","type":"sensitive_data_scanner_group"},{"id":"ec9a039b-523c-4b48-af30-62bb2838610f","type":"sensitive_data_scanner_group"},{"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","type":"sensitive_data_scanner_group"},{"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","type":"sensitive_data_scanner_group"},{"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Typescript-Create_Scanning_Group_returns_OK_response-1766488603","product_list":["logs"],"samplings":[]},"id":"d2665de8-b577-4d71-b1b8-4355b1aaf2c6","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"ec9a039b-523c-4b48-af30-62bb2838610f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"83b2d015-c3e1-47bb-aef0-15763bc7ae1f","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"d9ff2a5f-698a-4743-a80a-e669fd23a3a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"b6088534-c2a8-4ae1-8bdb-b3923199caf3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"version":275805}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -114,56 +23,50 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: body: - string: '{"data":{"id":"db67c3ee-db9b-417c-8d62-f2c6fc0f1c4b","attributes":{"name":"my-test-group","is_enabled":false,"filter":{"query":"*"},"product_list":["logs"],"samplings":[{"product":"logs","rate":100.0}]},"type":"sensitive_data_scanner_group","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":274580}} - - ' + string: '{"data":{"id":"48d953d8-e9c0-4a6f-abca-f1fad9be9f36","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":275806}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_OK_response-1748625438","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"db67c3ee-db9b-417c-8d62-f2c6fc0f1c4b","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' + body: '{"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_OK_response-1768505215","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"48d953d8-e9c0-4a6f-abca-f1fad9be9f36","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: body: - string: '{"data":{"id":"16dbce89-9c13-4924-a4ff-b5d6e1b3ce20","attributes":{"name":"Test-Update_Scanning_Rule_returns_OK_response-1748625438","namespaces":["admin.email"],"excluded_namespaces":[],"pattern":"pattern","text_replacement":{"type":"none"},"tags":["sensitive_data:true"],"labels":[],"is_enabled":true},"type":"sensitive_data_scanner_rule","relationships":{"group":{"data":{"id":"db67c3ee-db9b-417c-8d62-f2c6fc0f1c4b","type":"sensitive_data_scanner_group"}}}},"meta":{"version":274581}} - - ' + string: '{"data":{"id":"b58ae72e-da4e-4b5b-9d8a-d6f9ed24d45b","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Update_Scanning_Rule_returns_OK_response-1768505215","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"48d953d8-e9c0-4a6f-abca-f1fad9be9f36","type":"sensitive_data_scanner_group"}}}},"meta":{"version":275807}}' headers: content-type: - - application/json + - application/vnd.api+json status: - code: 200 - message: OK + code: 201 + message: Created - request: body: '{"data":{"attributes":{"included_keyword_configuration":{"character_count":35,"keywords":["credit - card","cc"]},"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_OK_response-1748625438","pattern":"pattern","priority":5,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"id":"16dbce89-9c13-4924-a4ff-b5d6e1b3ce20","type":"sensitive_data_scanner_rule"},"meta":{}}' + card","cc"]},"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_OK_response-1768505215","pattern":"pattern","priority":5,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"id":"b58ae72e-da4e-4b5b-9d8a-d6f9ed24d45b","type":"sensitive_data_scanner_rule"},"meta":{}}' headers: accept: - application/json content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/16dbce89-9c13-4924-a4ff-b5d6e1b3ce20 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/b58ae72e-da4e-4b5b-9d8a-d6f9ed24d45b response: body: - string: '{"meta":{"version":274582}} - - ' + string: '{"meta":{"version":275808}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -175,15 +78,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/16dbce89-9c13-4924-a4ff-b5d6e1b3ce20 + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/b58ae72e-da4e-4b5b-9d8a-d6f9ed24d45b response: body: - string: '{"meta":{"version":274583}} - - ' + string: '{"meta":{"version":275809}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK @@ -195,15 +96,13 @@ interactions: content-type: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/db67c3ee-db9b-417c-8d62-f2c6fc0f1c4b + uri: https://frog.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/48d953d8-e9c0-4a6f-abca-f1fad9be9f36 response: body: - string: '{"meta":{"version":274584}} - - ' + string: '{"meta":{"version":275810}}' headers: content-type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/tests/v2/features/sensitive_data_scanner.feature b/tests/v2/features/sensitive_data_scanner.feature index 4516e16103..80e944d013 100644 --- a/tests/v2/features/sensitive_data_scanner.feature +++ b/tests/v2/features/sensitive_data_scanner.feature @@ -200,7 +200,7 @@ Feature: Sensitive Data Scanner Scenario: Update Scanning Rule returns "Not Found" response Given new "UpdateScanningRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"excluded_namespaces": ["admin.name"], "included_keyword_configuration": {"character_count": 30, "keywords": ["credit card", "cc"]}, "namespaces": ["admin"], "tags": [], "text_replacement": {"type": "none"}}, "relationships": {"group": {"data": {"type": "sensitive_data_scanner_group"}}, "standard_pattern": {"data": {"type": "sensitive_data_scanner_standard_pattern"}}}, "type": "sensitive_data_scanner_rule"}, "meta": {"version": 0}} + And body with value {"data": {"attributes": {"excluded_namespaces": ["admin.name"], "included_keyword_configuration": {"character_count": 30, "keywords": ["credit card", "cc"]}, "namespaces": ["admin"], "suppressions": {"ends_with": ["@example.com", "example.com"], "exact_match": ["admin@example.com", "user@example.com"], "starts_with": ["admin", "user"]}, "tags": [], "text_replacement": {"type": "none"}}, "relationships": {"group": {"data": {"type": "sensitive_data_scanner_group"}}, "standard_pattern": {"data": {"type": "sensitive_data_scanner_standard_pattern"}}}, "type": "sensitive_data_scanner_rule"}, "meta": {"version": 0}} When the request is sent Then the response status is 404 Not Found