"""Config file for lambda function.""" import os from unittest.mock import MagicMock from secrets_manager.lambda_ext import LambdaSecretsManager APPLICATION_NAME = os.environ.get('APPLICATION_NAME', 'lambda-kinesis-to-neo4j') # AWS region configuration DEFAULT_AWS_REGION = 'us-east-1' AWS_REGION = os.environ.get('AWS_REGION', DEFAULT_AWS_REGION) # Environment setup TEST_ENVIRONMENT = 'test' QA_ENVIRONMENT = 'qa' PROD_ENVIRONMENT = 'prod' ENVIRONMENT = os.environ.get('ENVIRONMENT', os.environ.get('ENV', QA_ENVIRONMENT)) if ENVIRONMENT == TEST_ENVIRONMENT: LambdaSecretsManager.return_value = MagicMock() SPLIT_BLOCK_UNTIL_READY_TIMEOUT = 10 if ENVIRONMENT == TEST_ENVIRONMENT: NEO4J_URL = 'NEO4J_URL' NEO4J_USERNAME = 'NEO4J_USERNAME' NEO4J_PASSWORD = 'NEO4J_PASSWORD' # Neo4j Aura NEO4J_AURA_URL = 'aura_url' NEO4J_AURA_USERNAME = 'aura_username' NEO4J_AURA_PASSWORD = 'aura_password' NEO4J_MAX_RETRY_TIME = 0 NEO4J_DATABASE_NAME = 'graph.db' SENTRY_DSN = '' AR_DB_CREDENTIALS = {} SPLITIO_API_KEY = '' else: secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=APPLICATION_NAME, region_name=AWS_REGION, ) NEO4J_URL = secrets_manager_client.get_cred('NEO4J_URL') NEO4J_USERNAME = secrets_manager_client.get_cred('NEO4J_USERNAME') NEO4J_PASSWORD = secrets_manager_client.get_cred('NEO4J_PASSWORD') # Neo4j Aura NEO4J_AURA_URL = secrets_manager_client.get_cred('NEO4J_AURA_URL') NEO4J_AURA_USERNAME = secrets_manager_client.get_cred('NEO4J_AURA_USERNAME') NEO4J_AURA_PASSWORD = secrets_manager_client.get_cred('NEO4J_AURA_PASSWORD') NEO4J_MAX_RETRY_TIME = int(os.environ.get('NEO4J_MAX_RETRY_TIME') or 30) # 30s NEO4J_DATABASE_NAME = os.environ.get('NEO4J_DATABASE_NAME', 'graph.db') SENTRY_DSN = secrets_manager_client.get_cred('SENTRY_DSN') SPLITIO_API_KEY = secrets_manager_client.get_cred('SPLITIO_API_KEY') AR_DB_CREDENTIALS = { 'user': os.environ.get('AR_MYSQL_USER'), 'password': secrets_manager_client.get_cred('AR_MYSQL_PASSWORD'), 'host': os.environ.get('AR_MYSQL_HOST'), 'port': int(os.environ.get('AR_MYSQL_PORT') or 3306), 'database': os.environ.get('AR_MYSQL_DATABASE'), }