"""Lambda trigger_ingest function module.""" import uuid from typing import Any from common.connectors import graphql from lambdacommon.common_config import logger import config def handle() -> dict[str, Any] | None: # NOTE: `trigger-ingest` does not need `GraphQLConnectorOBO`. # This lambda starts ingestions and doesn't need impersonation. graphql.init_graphql_client( environment=config.ENVIRONMENT, service_name=config.M2M_APPLICATION_NAME, graphql_service_name=config.GRAPHQL_SERVICE_NAME, identity_id=config.IDENTITY_ID, profile_id=config.PROFILE_ID, profile_type=config.PROFILE_TYPE, headers={ "Correlation-Id": str(uuid.uuid4()), "Orchard-Roles": config.ROLE, }, ) result = graphql.ingest_bulk_session() return result.model_dump() if result else None def handler(event_data: dict[str, Any], context: Any) -> dict[str, Any]: """ Lambda entry point. Args: event_data: Lambda event payload (should look like event.shadow.json) context: Lambda context. """ logger.info("Started trigger_ingest lambda") result = handle() if result: logger.info(f"Mutation result: {result}") return event_data