"""Config values.""" import logging import os DEV = 'dev' PROD = 'prod' Environment = os.environ.get('Environment', DEV) LOGGING_LEVEL = os.environ.get('LOGGING_LEVEL', logging.INFO) logger = logging.getLogger() logger.setLevel(LOGGING_LEVEL) logger.addHandler(logging.StreamHandler()) SWF_NAME = 'mr_snowflake' SWF_DOMAIN = '{}_{}'.format(Environment, SWF_NAME) SWF_VERSION = '1.0' SENTRY_DSN = os.environ.get('SENTRY_DSN') SF_CONFIG = { 'user': os.getenv('SNOWFLAKE_USER'), 'password': os.getenv('SNOWFLAKE_PASSWORD'), 'account': os.getenv('SNOWFLAKE_ACCOUNT'), 'warehouse': os.getenv('SNOWFLAKE_WAREHOUSE'), 'schema': os.getenv('SNOWFLAKE_SCHEMA'), 'db': os.getenv('SNOWFLAKE_DB'), 'role': os.getenv('SNOWFLAKE_ROLE') } SF_TEMP_TABLE_NAME = os.getenv('SNOWFLAKE_TEMP_TABLE_NAME', 'mr_import_temp') SF_IMPORT_STAGE_NAME = os.getenv( 'SNOWFLAKE_IMPORT_STAGE_NAME', 'mr_import_from_s3_stage') SF_GROUPED_VIEW_NAME = os.getenv( 'SF_GROUPED_VIEW_NAME', 'mr_import_temp_grouped') SF_MR_TABLE_NAME = os.getenv('SF_MR_TABLE_NAME', 'mr_active') SF_MR_FLATTENED_TABLE_NAME = os.getenv( 'SF_MR_FLATTENED_TABLE_NAME', 'registry') SF_MR_LOCKED_FLATTENED_TABLE_NAME = os.getenv( 'SF_MR_LOCKED_FLATTENED_TABLE_NAME', 'registry_locked') SF_AUDIT_TEMP_TABLE_NAME = os.getenv( 'SNOWFLAKE_TEMP_TABLE_NAME', 'mr_import_audit_temp') SF_AUDIT_IMPORT_STAGE_NAME = os.getenv( 'SF_AUDIT_IMPORT_STAGE_NAME', 'mr_audit_import_from_s3_stage' ) SF_MR_AUDIT_TABLE_NAME = os.getenv('SF_MR_AUDIT_TABLE_NAME', 'mr_audit') SF_MR_AUDIT_FLATTENED_TABLE_NAME = os.getenv( 'SF_MR_AUDIT_FLATTENED_TABLE_NAME', 'registry_audit') S3_BUCKET_PATH = os.getenv('S3_BUCKET_NAME') S3_AUDIT_BUCKET_PATH = os.getenv('S3_AUDIT_BUCKET_PATH') AWS_ACCESS_KEY_ID = os.getenv('AWS_ACCESS_KEY_ID') AWS_SECRET_ACCESS_KEY = os.getenv('AWS_SECRET_ACCESS_KEY') if Environment == DEV: SENTRY_DSN = None DEV_DOMAIN = os.environ.get('DEV_DOMAIN', DEV) SWF_DOMAIN = '{}_{}'.format(DEV_DOMAIN, SWF_NAME) # Verify all required env variables for Production environment. if Environment == PROD: assert SENTRY_DSN, 'SENTRY_DSN env var is required' assert SF_CONFIG['user'], 'SNOWFLAKE_USER env var is required' assert SF_CONFIG['password'], 'SNOWFLAKE_PASSWORD env var is required' assert SF_CONFIG['account'], 'SNOWFLAKE_ACCOUNT env var is required' assert SF_CONFIG['warehouse'], 'SNOWFLAKE_WAREHOUSE env var is required' assert SF_CONFIG['schema'], 'SNOWFLAKE_SCHEMA env var is required' assert SF_CONFIG['db'], 'SNOWFLAKE_DB env var is required' assert SF_CONFIG['role'], 'SNOWFLAKE_ROLE env var is required' assert S3_BUCKET_PATH, 'S3_BUCKET_NAME env var is required' assert AWS_ACCESS_KEY_ID, 'AWS_ACCESS_KEY_ID env var is required' assert AWS_SECRET_ACCESS_KEY, 'AWS_SECRET_ACCESS_KEY env var is required'