Model/applications/ara_export/ara_export_trigger_body.py
Khalim Conn-Kowlessar 8bd9c564dc Add the scenario export route, worker handler and SQS trigger 🟩
Wires POST /v1/exports/scenario -> tasks.inputs recipe -> pinned sub_task ->
ARA_EXPORT_SQS_URL -> ara_export Lambda -> orchestrator. Route resolution and the
trigger body are covered by tests; the Lambda handler mirrors bulk_document_download.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 09:36:14 +00:00

19 lines
623 B
Python

from uuid import UUID
from pydantic import BaseModel, ConfigDict
class AraExportTriggerBody(BaseModel):
"""SQS trigger for the ara_export Lambda (ADR-0055/0065).
Attach mode: the FastAPI route created the Task + SubTask and pinned the
recipe (``portfolio_id``, ``scenario_ids``, ``property_ids``,
``recipient_email``, ``export_name``) onto the SubTask's ``inputs``. The
message therefore carries only the identifiers — the (potentially large)
property set never travels through the 256 KB SQS body.
"""
model_config = ConfigDict(extra="allow")
task_id: UUID
subtask_id: UUID