"""Configuration for lambda.""" import os from logging import INFO import sentry_sdk from sentry_sdk.integrations.aws_lambda import AwsLambdaIntegration from sentry_sdk.integrations.logging import LoggingIntegration from secrets_manager.lambda_ext import LambdaSecretsManager # Logging LOGGER_LEVEL = os.environ.get('LOGGER_LEVEL', INFO) ENVIRONMENT = os.environ.get('Environment', 'dev') # Name of script APPLICATION_NAME = 'lambda-vector' LAMBDA_NAME = f'{APPLICATION_NAME}-ready-deliveries' # Sentry Config SENTRY_DSN = os.environ.get('SENTRY_DSN') or None if SENTRY_DSN: sentry_sdk.init( dsn=SENTRY_DSN, environment=ENVIRONMENT, integrations=[ LoggingIntegration( level=LOGGER_LEVEL, event_level=None # Don't send error log as sentry event. ), AwsLambdaIntegration() ]) secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=LAMBDA_NAME) DD_MYSQL_PASSWORD = secrets_manager_client.get_cred('DD_MYSQL_PASSWORD') DD_MYSQL_USER = os.environ.get('DD_MYSQL_USER') DD_MYSQL_HOST = os.environ.get('DD_MYSQL_HOST') DD_MYSQL_PORT = os.environ.get('DD_MYSQL_PORT', 3306) DD_MYSQL_DATABASE = os.environ.get('DD_MYSQL_DATABASE') DD_MYSQL_CONN_INFO = { 'user': DD_MYSQL_USER, 'password': DD_MYSQL_PASSWORD, 'host': DD_MYSQL_HOST, 'port': int(DD_MYSQL_PORT), 'database': DD_MYSQL_DATABASE, 'connect_timeout': 15 } vector_secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name='direct_delivery') STORES_WITH_DISABLED_ALGORITHMS = os.environ.get( 'STORES_WITH_DISABLED_ALGORITHMS', '569,453,575,838,698,752').split(',') DISABLE_PUBLISHING_METRICS = os.environ.get('DISABLE_PUBLISHING_METRICS', 'false').lower() == 'true'