"""Config file for lambda function.""" import os from secrets_manager.lambda_ext import LambdaSecretsManager APPLICATION_NAME = 'lambda-generate-hfa-tmp-file' 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' secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=SECRET_SERVICE_NAME ) OA_USER = OA_USER = os.environ.get('OA_USER', 'oa:179') # 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') } # Ne04j connection setup NEO4J_DATABASE_NAME = os.environ.get('NEO4J_DATABASE_NAME', 'graph.db') if ENVIRONMENT == TEST_ENVIRONMENT: NEO4J_URL = 'NEO4J_URL' NEO4J_USERNAME = 'NEO4J_USERNAME' NEO4J_PASSWORD = 'NEO4J_PASSWORD' NEO4J_MAX_RETRY_TIME = 0 elif ENVIRONMENT == DEV_ENVIRONMENT: NEO4J_URL = os.environ.get('NEO4J_URL') NEO4J_USERNAME = os.environ.get('NEO4J_USERNAME') NEO4J_PASSWORD = os.environ.get('NEO4J_PASSWORD') NEO4J_MAX_RETRY_TIME = 30 else: NEO4J_URL = os.environ.get('NEO4J_URL') NEO4J_USERNAME = secrets_manager_client.get_cred('NEO4J_USERNAME') NEO4J_PASSWORD = secrets_manager_client.get_cred('NEO4J_PASSWORD') NEO4J_MAX_RETRY_TIME = 30 if ENVIRONMENT in [DEV_ENVIRONMENT, TEST_ENVIRONMENT]: GRAPHQL_ROUTER_URL = 'https://qa-graphql-router.theorchard.io/graphql' else: GRAPHQL_ROUTER_URL = os.environ.get( 'GRAPHQL_ROUTER_URL', f'https://{ENVIRONMENT}-graphql-router.theorchard.io/graphql' ) S3_BUCKET_NAME = os.getenv('S3_BUCKET_NAME', '{}-orcdbucket'.format(ENVIRONMENT)) S3_TMP_FILE_DIR = os.getenv('S3_TMP_FILE_DIR', 'hfa/tmpfile/') DATE_FILTER = os.environ.get('DATE_FILTER') BATCH_SIZE = int(os.environ.get('BATCH_SIZE', 100))