"""Config file for lambda.""" import logging import os from abacus_common_logic.utils.enum import enum from secrets_manager.lambda_ext import LambdaSecretsManager APPLICATION_NAME = 'lambda-abacus-sync-contract' # 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' UAT_ENVIRONMENT = 'uat' PROD_ENVIRONMENT = 'prod' ENVIRONMENT = os.environ.get('ENVIRONMENT', DEV_ENVIRONMENT) LOGGING_LEVEL = os.environ.get('LOGGING_LEVEL', logging.INFO) LOGGER_DSN = os.environ.get('LOGGER_DSN') SENTRY_DSN = None # Pull QA. UAT & Prod credentials from secrets manager if ENVIRONMENT in [QA_ENVIRONMENT, UAT_ENVIRONMENT, PROD_ENVIRONMENT]: client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=APPLICATION_NAME ) SENTRY_DSN = client.get_cred('SENTRY_DSN') # Constants ACTION_STATES = enum('AbacusStates', COMPLETE='complete', ERROR='error') CONTRACT_LEGACY_SYNC_STATE = 'legacy_sync' CONTRACT_TYPES = enum('ContractTypes', DISTRIBUTION='distribution') LAMBDA_HEADERS = {'Orchard-Identity-Id': os.environ.get('ORCHARD_IDENTITY_ID')} # country codes ABACUS_SERBIA_COUNTRY_CODE = 'SRB' ABACUS_MONTENEGRO_COUNTRY_CODE = 'MNE' LEGACY_SERBIA_AND_MONTENEGRO_COUNTRY_CODE = 'SCG' MESSAGE_CREATION_STARTED = '{} creation started.' MESSAGE_GET_ACCOUNT_PAYMENT_TERMS = 'Getting account payment terms for account id {}.' MESSAGE_GET_CONTRACTS = 'Getting contracts for account id {}.' MESSAGE_GET_CONTRACT_DETAILS = 'Getting contract details for contract id {}.' MESSAGE_GET_CONTRACT_LIFECYCLE = 'Getting contract lifecycle for contract id {}.' MESSAGE_GET_CONTRACT_EXCLUSIONS = 'Getting contract exclusions for contract id {}.' MESSAGE_GET_CONTRACT_STATES = 'Getting contract states for contract id {}.' MESSAGE_GET_CONTRACT_TERMS = 'Getting contract terms for contract id {}.' MESSAGE_GET_CONTRACT_TERMS_CONDITIONS = ( 'Getting contract terms conditions for contract term id {}.' ) MESSAGE_GET_LEGACY_CONTRACT = 'Getting legacy contract for contract id {}' MESSAGE_LEGACY_CONTRACT_CREATED = 'Legacy contract created, id {}.' MESSAGE_ABACUS_LEGACY_CONTRACT_CREATED = 'Abacus Legacy contract created, id {}.' MESSAGE_SYNC_PROCESSOR_STARTING = 'Starting sync contract processor.' MESSAGE_UPDATE_CONTRACT_STATE = 'Updating contract state for abacus_state_id {}.' MESSAGE_VENDOR_CONTRACT_DISTRIBUTION_TYPE_CREATED = ( 'Vendor Contract Distribution Type created, id {}.' ) ERROR_INVALID_EVENT_PARAMS = 'Event params are not valid.' ERROR_LEGACY_CONTRACT_ALREADY_EXISTS = ( 'Legacy contract already exists (id {}) for the given abacus contract.' ) ERROR_LEGACY_CONTRACT_ALREADY_EXISTS_FOR_ACCOUNT = ( 'Legacy contract already exists for the given abacus account id {}, skipping sync.' )