"""Config file for lambda function.""" import logging import os from secrets_manager.lambda_ext import LambdaSecretsManager APPLICATION_NAME = 'lambda-abacus-json-contract-file-import' # 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' UAT_ENVIRONMENT = 'uat' PROD_ENVIRONMENT = 'prod' ENVIRONMENT = os.environ.get('ENVIRONMENT', DEV_ENVIRONMENT) LOGGING_LEVEL = os.environ.get('LOGGING_LEVEL', logging.INFO) SENTRY_DSN = None S3_BUCKET_NAME = os.environ.get('S3_BUCKET_NAME', 'qa-abacus-json-contract-file-import') S3_ACCOUNT_ID = os.environ.get('S3_ACCOUNT_ID', '437795906767') TIMEOUT_SECONDS = int(os.environ.get('TIMEOUT_SECONDS', 850)) # Pull QA, UAT & Prod credentials from secrets manager if ENVIRONMENT in [QA_ENVIRONMENT, UAT_ENVIRONMENT, PROD_ENVIRONMENT]: SENTRY_DSN = os.environ.get('SENTRY_DSN') MYSQL_CONFIG = { 'host': os.environ.get('MYSQL_DB_HOST'), 'user': os.environ.get('MYSQL_DB_USER'), 'password': os.environ.get('MYSQL_DB_PASS'), 'database': os.environ.get('MYSQL_DB_NAME', 'royalty_accounting'), 'port': int(os.environ.get('MYSQL_DB_PORT', '3306')) } # Pull QA, UAT & Prod credentials from secrets manager if ENVIRONMENT in [QA_ENVIRONMENT, UAT_ENVIRONMENT, PROD_ENVIRONMENT]: client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=APPLICATION_NAME) MYSQL_CONFIG['password'] = client.get_cred('MYSQL_DB_PASS')