"""Config file for lambda function.""" import os from secrets_manager.lambda_ext import LambdaSecretsManager APPLICATION_NAME = 'lambda-publishing-hfa-populate-hfa-pending-request' SENTRY_DSN = os.environ.get('SENTRY_DSN') or None # AWS region configuration DEFAULT_AWS_REGION = 'us-east-1' AWS_REGION = os.environ.get('AWS_REGION', DEFAULT_AWS_REGION) # Environment setup DEV_ENVIRONMENT = 'dev' QA_ENVIRONMENT = 'qa' PROD_ENVIRONMENT = 'prod' TEST_ENVIRONMENT = 'test' ENVIRONMENT = os.environ.get('Environment', QA_ENVIRONMENT) SECRET_SERVICE_NAME = 'lambda-publishing-hfa' M2M_SECRET_SERVICE_NAME = 'lambda-populate-hfa-pending-request' secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=SECRET_SERVICE_NAME ) # PUBLISHING database connection setup. if ENVIRONMENT == TEST_ENVIRONMENT: PB_DB_CREDENTIALS = {'sqlite://': 'test'} elif ENVIRONMENT == DEV_ENVIRONMENT: PB_DB_CREDENTIALS = { 'database': os.environ.get('PUBLISHING_MYSQL_DATABASE'), 'host': os.environ.get('PUBLISHING_MYSQL_HOST'), 'password': os.environ.get('PUBLISHING_MYSQL_PASSWORD'), # noqa 'port': int(os.environ.get('PUBLISHING_MYSQL_PORT')), 'user': os.environ.get('PUBLISHING_MYSQL_USER') } else: PB_DB_CREDENTIALS = { 'database': os.environ.get('PUBLISHING_MYSQL_DATABASE'), 'host': os.environ.get('PUBLISHING_MYSQL_HOST'), 'password': secrets_manager_client.get_cred('PUBLISHING_MYSQL_PASSWORD'), # noqa 'port': int(os.environ.get('PUBLISHING_MYSQL_PORT')), 'user': secrets_manager_client.get_cred('PUBLISHING_MYSQL_USER') } # E-mail configuration DEFAULT_EMAIL_SENDER = 'donotreply@theorchard.com' EMAIL_SENDER = os.environ.get('EMAIL_SENDER', DEFAULT_EMAIL_SENDER) EMAIL_RECIPIENTS = os.environ.get('EMAIL_RECIPIENTS', '').split(',') DAYS_LOOKBACK = int(os.getenv('DAYS_LOOKBACK', '7')) MAX_CONCURRENT_REQUESTS = int(os.getenv('MAX_CONCURRENT_REQUESTS', '50'))