diff --git a/aws_lambda_powertools/utilities/_data_masking/__init__.py b/aws_lambda_powertools/utilities/_data_masking/__init__.py new file mode 100644 index 00000000000..806c856ba75 --- /dev/null +++ b/aws_lambda_powertools/utilities/_data_masking/__init__.py @@ -0,0 +1,11 @@ +""" + Note: This utility is currently in a Non-General Availability (Non-GA) phase and may have limitations. + Please DON'T USE THIS utility in production environments. + Keep in mind that when we transition to General Availability (GA), there might be breaking changes introduced. +""" + +from aws_lambda_powertools.utilities._data_masking.base import DataMasking + +__all__ = [ + "DataMasking", +] diff --git a/aws_lambda_powertools/utilities/data_masking/base.py b/aws_lambda_powertools/utilities/_data_masking/base.py similarity index 94% rename from aws_lambda_powertools/utilities/data_masking/base.py rename to aws_lambda_powertools/utilities/_data_masking/base.py index 06b383ce4a4..211e44c3759 100644 --- a/aws_lambda_powertools/utilities/data_masking/base.py +++ b/aws_lambda_powertools/utilities/_data_masking/base.py @@ -1,11 +1,15 @@ import json from typing import Optional, Union -from aws_lambda_powertools.utilities.data_masking.provider import BaseProvider +from aws_lambda_powertools.utilities._data_masking.provider import BaseProvider class DataMasking: """ + Note: This utility is currently in a Non-General Availability (Non-GA) phase and may have limitations. + Please DON'T USE THIS utility in production environments. + Keep in mind that when we transition to General Availability (GA), there might be breaking changes introduced. + A utility class for masking sensitive data within various data types. This class provides methods for masking sensitive information, such as personal diff --git a/aws_lambda_powertools/utilities/data_masking/constants.py b/aws_lambda_powertools/utilities/_data_masking/constants.py similarity index 100% rename from aws_lambda_powertools/utilities/data_masking/constants.py rename to aws_lambda_powertools/utilities/_data_masking/constants.py diff --git a/aws_lambda_powertools/utilities/_data_masking/provider/__init__.py b/aws_lambda_powertools/utilities/_data_masking/provider/__init__.py new file mode 100644 index 00000000000..7ee07f964b1 --- /dev/null +++ b/aws_lambda_powertools/utilities/_data_masking/provider/__init__.py @@ -0,0 +1,5 @@ +from aws_lambda_powertools.utilities._data_masking.provider.base import BaseProvider + +__all__ = [ + "BaseProvider", +] diff --git a/aws_lambda_powertools/utilities/data_masking/provider/base.py b/aws_lambda_powertools/utilities/_data_masking/provider/base.py similarity index 93% rename from aws_lambda_powertools/utilities/data_masking/provider/base.py rename to aws_lambda_powertools/utilities/_data_masking/provider/base.py index ceb222aa7f8..a293c6aff9a 100644 --- a/aws_lambda_powertools/utilities/data_masking/provider/base.py +++ b/aws_lambda_powertools/utilities/_data_masking/provider/base.py @@ -1,7 +1,7 @@ import json from typing import Any -from aws_lambda_powertools.utilities.data_masking.constants import DATA_MASKING_STRING +from aws_lambda_powertools.utilities._data_masking.constants import DATA_MASKING_STRING class BaseProvider: diff --git a/aws_lambda_powertools/utilities/_data_masking/provider/kms/__init__.py b/aws_lambda_powertools/utilities/_data_masking/provider/kms/__init__.py new file mode 100644 index 00000000000..f257339d634 --- /dev/null +++ b/aws_lambda_powertools/utilities/_data_masking/provider/kms/__init__.py @@ -0,0 +1,5 @@ +from aws_lambda_powertools.utilities._data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider + +__all__ = [ + "AwsEncryptionSdkProvider", +] diff --git a/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py b/aws_lambda_powertools/utilities/_data_masking/provider/kms/aws_encryption_sdk.py similarity index 97% rename from aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py rename to aws_lambda_powertools/utilities/_data_masking/provider/kms/aws_encryption_sdk.py index 9e4c7ef19cb..a895f8de0ac 100644 --- a/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +++ b/aws_lambda_powertools/utilities/_data_masking/provider/kms/aws_encryption_sdk.py @@ -12,12 +12,12 @@ ) from aws_lambda_powertools.shared.user_agent import register_feature_to_botocore_session -from aws_lambda_powertools.utilities.data_masking.constants import ( +from aws_lambda_powertools.utilities._data_masking.constants import ( CACHE_CAPACITY, MAX_CACHE_AGE_SECONDS, MAX_MESSAGES_ENCRYPTED, ) -from aws_lambda_powertools.utilities.data_masking.provider import BaseProvider +from aws_lambda_powertools.utilities._data_masking.provider import BaseProvider class ContextMismatchError(Exception): diff --git a/aws_lambda_powertools/utilities/data_masking/__init__.py b/aws_lambda_powertools/utilities/data_masking/__init__.py deleted file mode 100644 index 428cea6635d..00000000000 --- a/aws_lambda_powertools/utilities/data_masking/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from aws_lambda_powertools.utilities.data_masking.base import DataMasking - -__all__ = [ - "DataMasking", -] diff --git a/aws_lambda_powertools/utilities/data_masking/provider/__init__.py b/aws_lambda_powertools/utilities/data_masking/provider/__init__.py deleted file mode 100644 index 5a0180eb82b..00000000000 --- a/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from aws_lambda_powertools.utilities.data_masking.provider.base import BaseProvider - -__all__ = [ - "BaseProvider", -] diff --git a/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py b/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py deleted file mode 100644 index 8cc33b5e075..00000000000 --- a/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from aws_lambda_powertools.utilities.data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider - -__all__ = [ - "AwsEncryptionSdkProvider", -] diff --git a/tests/e2e/data_masking/handlers/basic_handler.py b/tests/e2e/data_masking/handlers/basic_handler.py index 7a5d965fa38..f31e822429a 100644 --- a/tests/e2e/data_masking/handlers/basic_handler.py +++ b/tests/e2e/data_masking/handlers/basic_handler.py @@ -1,6 +1,6 @@ from aws_lambda_powertools import Logger -from aws_lambda_powertools.utilities.data_masking import DataMasking -from aws_lambda_powertools.utilities.data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider +from aws_lambda_powertools.utilities._data_masking import DataMasking +from aws_lambda_powertools.utilities._data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider logger = Logger() diff --git a/tests/e2e/data_masking/test_e2e_data_masking.py b/tests/e2e/data_masking/test_e2e_data_masking.py index c15b4fb0d38..73e8b9c2d8d 100644 --- a/tests/e2e/data_masking/test_e2e_data_masking.py +++ b/tests/e2e/data_masking/test_e2e_data_masking.py @@ -4,8 +4,8 @@ import pytest from aws_encryption_sdk.exceptions import DecryptKeyError -from aws_lambda_powertools.utilities.data_masking import DataMasking -from aws_lambda_powertools.utilities.data_masking.provider.kms.aws_encryption_sdk import ( +from aws_lambda_powertools.utilities._data_masking import DataMasking +from aws_lambda_powertools.utilities._data_masking.provider.kms.aws_encryption_sdk import ( AwsEncryptionSdkProvider, ContextMismatchError, ) diff --git a/tests/functional/data_masking/test_aws_encryption_sdk.py b/tests/functional/data_masking/test_aws_encryption_sdk.py index 49ed775c10d..978c2e21572 100644 --- a/tests/functional/data_masking/test_aws_encryption_sdk.py +++ b/tests/functional/data_masking/test_aws_encryption_sdk.py @@ -6,10 +6,10 @@ import pytest -from aws_lambda_powertools.utilities.data_masking import DataMasking -from aws_lambda_powertools.utilities.data_masking.constants import DATA_MASKING_STRING -from aws_lambda_powertools.utilities.data_masking.provider import BaseProvider -from aws_lambda_powertools.utilities.data_masking.provider.kms import ( +from aws_lambda_powertools.utilities._data_masking import DataMasking +from aws_lambda_powertools.utilities._data_masking.constants import DATA_MASKING_STRING +from aws_lambda_powertools.utilities._data_masking.provider import BaseProvider +from aws_lambda_powertools.utilities._data_masking.provider.kms import ( AwsEncryptionSdkProvider, ) diff --git a/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_1024/app.py b/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_1024/app.py index f6988ea66ac..9a898ea10cd 100644 --- a/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_1024/app.py +++ b/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_1024/app.py @@ -3,8 +3,8 @@ from aws_lambda_powertools import Logger, Tracer from aws_lambda_powertools.event_handler import APIGatewayRestResolver from aws_lambda_powertools.logging import correlation_paths -from aws_lambda_powertools.utilities.data_masking import DataMasking -from aws_lambda_powertools.utilities.data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider +from aws_lambda_powertools.utilities._data_masking import DataMasking +from aws_lambda_powertools.utilities._data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider from aws_lambda_powertools.utilities.typing import LambdaContext KMS_KEY_ARN = os.environ["KMS_KEY_ARN"] diff --git a/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_128/app.py b/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_128/app.py index 463ed7ca1a9..6b8250579a5 100644 --- a/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_128/app.py +++ b/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_128/app.py @@ -3,8 +3,8 @@ from aws_lambda_powertools import Logger, Tracer from aws_lambda_powertools.event_handler import APIGatewayRestResolver from aws_lambda_powertools.logging import correlation_paths -from aws_lambda_powertools.utilities.data_masking import DataMasking -from aws_lambda_powertools.utilities.data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider +from aws_lambda_powertools.utilities._data_masking import DataMasking +from aws_lambda_powertools.utilities._data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider from aws_lambda_powertools.utilities.typing import LambdaContext KMS_KEY_ARN = os.environ["KMS_KEY_ARN"] diff --git a/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_1769/app.py b/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_1769/app.py index 44ddeab189b..623a1f7b232 100644 --- a/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_1769/app.py +++ b/tests/performance/data_masking/load_test_data_masking/pt-load-test-stack/function_1769/app.py @@ -3,8 +3,8 @@ from aws_lambda_powertools import Logger, Tracer from aws_lambda_powertools.event_handler import APIGatewayRestResolver from aws_lambda_powertools.logging import correlation_paths -from aws_lambda_powertools.utilities.data_masking import DataMasking -from aws_lambda_powertools.utilities.data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider +from aws_lambda_powertools.utilities._data_masking import DataMasking +from aws_lambda_powertools.utilities._data_masking.provider.kms.aws_encryption_sdk import AwsEncryptionSdkProvider from aws_lambda_powertools.utilities.typing import LambdaContext KMS_KEY_ARN = os.environ["KMS_KEY_ARN"] diff --git a/tests/performance/data_masking/test_perf_data_masking.py b/tests/performance/data_masking/test_perf_data_masking.py index 9dcf041b81f..688e36c7a64 100644 --- a/tests/performance/data_masking/test_perf_data_masking.py +++ b/tests/performance/data_masking/test_perf_data_masking.py @@ -3,9 +3,9 @@ import pytest -from aws_lambda_powertools.utilities.data_masking.base import DataMasking +from aws_lambda_powertools.utilities._data_masking.base import DataMasking -DATA_MASKING_PACKAGE = "aws_lambda_powertools.utilities.data_masking" +DATA_MASKING_PACKAGE = "aws_lambda_powertools.utilities._data_masking" DATA_MASKING_INIT_SLA: float = 0.002 DATA_MASKING_NESTED_ENCRYPT_SLA: float = 0.001 diff --git a/tests/unit/data_masking/test_unit_data_masking.py b/tests/unit/data_masking/test_unit_data_masking.py index 096eaf0bb6b..4a92a668d73 100644 --- a/tests/unit/data_masking/test_unit_data_masking.py +++ b/tests/unit/data_masking/test_unit_data_masking.py @@ -2,8 +2,8 @@ import pytest -from aws_lambda_powertools.utilities.data_masking.base import DataMasking -from aws_lambda_powertools.utilities.data_masking.constants import DATA_MASKING_STRING +from aws_lambda_powertools.utilities._data_masking.base import DataMasking +from aws_lambda_powertools.utilities._data_masking.constants import DATA_MASKING_STRING @pytest.fixture