"""Application configuration.""" import logging import os from secrets_manager.flask_ext import FlaskSecretsManager # Service information SERVICE_NAME = 'ows-cloudwatch-logs' SERVICE_VERSION = '1.0.0' # Production environment PROD_ENVIRONMENT = 'prod' DEV_ENVIRONMENT = 'dev' QA_ENVIRONMENT = 'qa' ENVIRONMENT = os.environ.get('Environment') or DEV_ENVIRONMENT # Init secrets manager secrets_manager_client = FlaskSecretsManager( application_context=False, environment=ENVIRONMENT, service_name=SERVICE_NAME) # Errors and loggers SENTRY = secrets_manager_client.get_cred('SENTRY_DSN') or None LOGGER_LEVEL = logging.INFO LOGGER_NAME = 'ows1' # Generic handlers HEALTH_CHECK = '/hello/' # Swagger documentation path SWAGGER_FILE_PATH = 'spec/ows_cloudwatch_logs-1.0.0.yaml' TWILIO_LOG_GROUP = os.environ.get('TWILIO_LOG_GROUP', '/twilio/copilot-logs') TWILIO_LOG_STREAM = os.environ.get( 'TWILIO_LOG_STREAM', 'MG2a7e7f56d63651186af3b1b90564f15c') TWILIO_LOG_TIMEOUT = 300 TWILIO_CACHE_LOCATION = os.environ.get('TWILIO_CACHE_LOCATION', '/tmp') DATADOG_API_KEY = secrets_manager_client.get_cred('DATADOG_API_KEY') DATADOG_APP_KEY = secrets_manager_client.get_cred('DATADOG_APP_KEY') TWILIO_DATADOG_METRIC = '{}.twilio.callback'.format(ENVIRONMENT) TWILIO_DATADOG_HOST = '{}-{}'.format(ENVIRONMENT, SERVICE_NAME) TWILIO_DATADOG_METRIC_TAGS = ['source:API'] TWILIO_SUCCESS_STATUS = ['sent', 'queued', 'received', 'delivered'] TWILIO_EVENT_TITLE = 'Twilio SMS To: {to} From: {sender} got status: {status}'