"""Config file for lambda function.""" import os from lambdacommon.common_config import logger from secrets_manager.python_ext import PythonSecretsManager from splitio import get_factory APPLICATION_NAME = 'lambda-fan-triggered-sends' # 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' ENVIRONMENT = os.environ.get('ENVIRONMENT', DEV_ENVIRONMENT) logger.info(f'Environment: {ENVIRONMENT}') # Marketing Cloud API Token Cache REDIS_HOST = os.environ.get('REDIS_HOST') REDIS_PORT = os.environ.get('REDIS_PORT', 6379) # Marketing Cloud API credentials if ENVIRONMENT in (QA_ENVIRONMENT, PROD_ENVIRONMENT): split_secrets_manager = PythonSecretsManager( environment=ENVIRONMENT, service_name=APPLICATION_NAME) credentials = split_secrets_manager.get_cred('MARKETING_CLOUD_API_CREDENTIALS') MARKETING_CLOUD_CLIENT_ID = credentials['CLIENT_ID'] MARKETING_CLOUD_CLIENT_SECRET = credentials['CLIENT_SECRET'] split_secrets_manager = PythonSecretsManager( environment=ENVIRONMENT, service_name='split') SPLITIO_API_KEY = split_secrets_manager.get_cred('API_KEY') splitio_client = get_factory(SPLITIO_API_KEY).client() else: MARKETING_CLOUD_CLIENT_ID = os.environ.get('MARKETING_CLOUD_CLIENT_ID') MARKETING_CLOUD_CLIENT_SECRET = os.environ.get('MARKETING_CLOUD_CLIENT_SECRET') SPLITIO_API_KEY = '' splitio_client = None if ENVIRONMENT == PROD_ENVIRONMENT: AWS_ACCOUNT_ID = '737325105821' else: AWS_ACCOUNT_ID = '285943604611' MARKETING_CLOUD_TOKEN_API_URL = os.environ.get( 'MARKETING_CLOUD_TOKEN_API_URL', 'https://mcggy093514wwm68wdpmqhdkjxy4.auth.marketingcloudapis.com/v2/token') MARKETING_CLOUD_TRIGGERED_SEND_API_URL_TEMPLATE = os.environ.get( 'MARKETING_CLOUD_SERVICE_API_URL', 'https://mcggy093514wwm68wdpmqhdkjxy4.rest.marketingcloudapis.com' '/messaging/v1/messageDefinitionSends/key:{triggeredSendDefinitionId}/sendBatch') # Kafka config KAFKA_BOOTSTRAP_SERVERS = os.environ.get('KAFKA_BOOTSTRAP_SERVERS') KAFKA_SECURITY_PROTOCOL = os.environ.get('KAFKA_SECURITY_PROTOCOL', 'SSL') SUCCESSFUL_TRIGGERED_SENDS_TOPIC = os.environ.get('SUCCESSFUL_TRIGGERED_SENDS_TOPIC', 'event.triggeredSendBatch') FAILED_TRIGGERED_SENDS_TOPIC = os.environ.get('FAILED_TRIGGERED_SENDS_TOPIC', 'event.triggeredSendBatch.failed') # Business Unit Allowlist Feature Flag TRIGGERED_SENDS_BUSINESS_UNIT_ALLOWLIST = 'triggered_sends_business_unit_allowlist'