"""Config file for lambda function.""" import os from secrets_manager.lambda_ext import LambdaSecretsManager APPLICATION_NAME = 'break-glass-audit' # AWS region configuration AWS_REGION = os.environ.get('AWS_DEFAULT_REGION', 'us-east-1') # Environment configuration DEV_ENVIRONMENT = 'dev' QA_ENVIRONMENT = 'qa' PROD_ENVIRONMENT = 'prod' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) # Athena configuration ATHENA_NAME_PREFIX = 'shared' ATHENA_CATALOG = os.environ.get( 'ATHENA_CATALOG', 'AwsDataCatalog') ATHENA_DATABASE = os.environ.get( 'ATHENA_DATABASE', '{}_break_glass'.format(ATHENA_NAME_PREFIX)) ATHENA_NAMED_QUERY = os.environ.get('ATHENA_NAMED_QUERY') ATHENA_POLLING_TIMEOUT = int(os.environ.get( 'ATHENA_POLLING_TIMEOUT', 300)) ATHENA_WORKGROUP = os.environ.get( 'ATHENA_WORKGROUP', '{}_break_glass'.format(ATHENA_NAME_PREFIX)) # General configuration BREAK_GLASS_ROLE_NAME = os.environ.get( 'BREAK_GLASS_ROLE_NAME', '{}-break-glass-access-role'.format(ENVIRONMENT)) SENTRY_DSN = os.environ.get('SENTRY_DSN') # Jira configuration JIRA_BASE_URL = 'https://theorchard.atlassian.net' JIRA_EMAIL_ADDRESS = os.environ.get('JIRA_EMAIL_ADDRESS') # Secrets Manager values FORCE_REMOTE = os.environ.get('FORCE_REMOTE', 'false').lower() == 'true' secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=APPLICATION_NAME, force_remote=FORCE_REMOTE) JIRA_API_TOKEN = secrets_manager_client.get_cred('JIRA_API_TOKEN') # SQS configuration SQS_QUEUE_NAME = os.environ.get( 'SQS_QUEUE_NAME', '{}-break-glass-communication-queue'.format(ENVIRONMENT)) SQS_WAIT_TIME_SECONDS = int(os.environ.get('SQS_WAIT_TIME_SECONDS', 10)) SQS_MESSAGE_VISIBILITY_TIMEOUT = int(os.environ.get( 'SQS_MESSAGE_VISIBILITY_TIMEOUT', 300)) SHARED_AWS_ROLE_ARN = 'arn:aws:iam::086679231553:role/shared-break-glass-audit' ROLE_SESSION_NAME = 'break-glass' IAM_ROLE_SESSION_DURATION = int(os.environ.get( 'IAM_ROLE_SESSION_DURATION', '7200')) DATETIME_STR_FORMAT = '%Y-%m-%d-%H-%M-%S'