"""Authentication utilities.""" from functools import lru_cache from common.src import logger from common.src.aws import client_factories from common.src.enums import AWSPayload from . import config logger = logger.new_logger(__name__) @lru_cache(maxsize=1) def get_snowflake_private_key() -> str: """Get the private key for the Snowflake client from AWS Secrets Manager.""" logger.debug("Getting Snowflake private key from AWS Secrets Manager...") client = client_factories.new_secrets_manager_client(config.AWS_REGION) secret = client.get_secret_value( SecretId=config.AWS_SNOWFLAKE_PRIVATE_KEY_SECRET_ID ) logger.debug( "Snowflake private key retrieved successfully from AWS Secrets Manager." ) return secret[AWSPayload.SECRET_STRING]