"""Config file for register-delivery-to-ingest lambda.""" from logging import INFO import os from ddex_ingester_common.helpers.catalog_ingestion import \ CatalogIngestionSession from lambdacommon import util from lambdacommon.graphql.graphql import GraphQLConnector from secrets_manager.lambda_ext import LambdaSecretsManager from sentry_sdk.integrations.logging import LoggingIntegration from splitio import get_factory from splitio.client.factory import TimeoutException TEST_ENVIRONMENT = 'test' DEV_ENVIRONMENT = 'dev' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) APPLICATION_NAME = 'ddex-ingester' LAMBDA_NAME = f'{APPLICATION_NAME}-register-delivery-to-ingest' LOGGING_LEVEL = os.environ.get('LOGGING_LEVEL', INFO) sentry_logging = LoggingIntegration(level=LOGGING_LEVEL, event_level=None) util.init_sentry_for_lambda(sentry_logging) app_logger = util.setup_ows_logger( environment=ENVIRONMENT, logger_name=LAMBDA_NAME, logger_level=LOGGING_LEVEL, service_name=LAMBDA_NAME, service_version='1.0.0' ) secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=APPLICATION_NAME) register_delivery_secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=LAMBDA_NAME) RDS_RW_USER = 'ddex-ingester-RW' RDS_HOST = os.environ.get('RDS_HOST') RDS_DB_NAME = os.environ.get('RDS_DB_NAME') RDS_PASSWORD = secrets_manager_client.get_cred('rds_read_write_password') catalog_ingestion_session = CatalogIngestionSession( RDS_HOST, RDS_DB_NAME, RDS_RW_USER, RDS_PASSWORD) date_formats = { 'start_date': '%Y-%m-%d', 'start_date_time': '%Y-%m-%dT%H:%M:%S' } ORCHARD_DDEX_PARTY_ID = 'PADPIDA2012041004F' SME_DDEX_PARTY_ID = 'PADPIDA2007040502I' SME_DDEXWS_HOST = 'https://ddexws.smecde.com/SupplyChainStatusCall' EMAIL_FROM_ADDRESS = os.environ.get('EMAIL_FROM_ADDRESS') REPORT_ERRORS_SME_ANALYTICS_DUMMY_EMAIL = ( os.environ.get('REPORT_ERRORS_SME_ANALYTICS_DUMMY_EMAIL')) OA_USER = os.environ.get('OA_USER') GRAPHQL_GATEWAY_URL = os.environ.get('GRAPHQL_GATEWAY_URL') graphql_gateway = GraphQLConnector(GRAPHQL_GATEWAY_URL, LAMBDA_NAME) graphql_gateway.set_headers({'Orchard-User-Id': OA_USER}) split_secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name='split') SPLITIO_API_KEY = split_secrets_manager_client.get_cred('API_KEY') SPLIT_BLOCK_UNTIL_READY_TIMEOUT = 10 split_client = None if ENVIRONMENT != TEST_ENVIRONMENT: try: factory = get_factory(SPLITIO_API_KEY) factory.block_until_ready(SPLIT_BLOCK_UNTIL_READY_TIMEOUT) split_client = factory.client() except TimeoutException as err: raise Exception(f'Failed to start split factory due to: {str(err)}')