33from __future__ import annotations
44
55from dataclasses import dataclass
6- from typing import Any
6+ from typing import TYPE_CHECKING , Any
7+
8+
9+ if TYPE_CHECKING :
10+ import datetime
711
812# Import existing types from the main SDK - REUSE EVERYTHING POSSIBLE
913from aws_durable_execution_sdk_python .lambda_service import (
@@ -156,11 +160,11 @@ class GetDurableExecutionResponse:
156160 durable_execution_name : str
157161 function_arn : str
158162 status : str
159- start_timestamp : float
163+ start_timestamp : datetime . datetime
160164 input_payload : str | None = None
161165 result : str | None = None
162166 error : ErrorObject | None = None
163- end_timestamp : float | None = None
167+ end_timestamp : datetime . datetime | None = None
164168 version : str | None = None
165169
166170 @classmethod
@@ -213,8 +217,8 @@ class Execution:
213217 durable_execution_name : str
214218 function_arn : str
215219 status : str
216- start_timestamp : float
217- end_timestamp : float | None = None
220+ start_timestamp : datetime . datetime
221+ end_timestamp : datetime . datetime | None = None
218222
219223 @classmethod
220224 def from_dict (cls , data : dict ) -> Execution :
@@ -350,14 +354,14 @@ def to_dict(self) -> dict[str, Any]:
350354class StopDurableExecutionResponse :
351355 """Response from stopping a durable execution."""
352356
353- end_timestamp : float
357+ stop_timestamp : datetime . datetime
354358
355359 @classmethod
356360 def from_dict (cls , data : dict ) -> StopDurableExecutionResponse :
357- return cls (end_timestamp = data ["EndTimestamp " ])
361+ return cls (stop_timestamp = data ["StopTimestamp " ])
358362
359363 def to_dict (self ) -> dict [str , Any ]:
360- return {"EndTimestamp " : self .end_timestamp }
364+ return {"StopTimestamp " : self .stop_timestamp }
361365
362366
363367@dataclass (frozen = True )
@@ -676,7 +680,7 @@ class WaitStartedDetails:
676680 """Wait started event details."""
677681
678682 duration : int | None = None
679- scheduled_end_timestamp : str | None = None
683+ scheduled_end_timestamp : datetime . datetime | None = None # Already correct!
680684
681685 @classmethod
682686 def from_dict (cls , data : dict ) -> WaitStartedDetails :
@@ -1010,7 +1014,7 @@ class Event:
10101014 """Event structure from Smithy model."""
10111015
10121016 event_type : str
1013- event_timestamp : str
1017+ event_timestamp : datetime . datetime
10141018 sub_type : str | None = None
10151019 event_id : int = 1
10161020 operation_id : str | None = None
@@ -1328,8 +1332,8 @@ class ListDurableExecutionsByFunctionRequest:
13281332 qualifier : str | None = None
13291333 durable_execution_name : str | None = None
13301334 status_filter : list [str ] | None = None
1331- time_after : str | None = None
1332- time_before : str | None = None
1335+ started_after : str | None = None
1336+ started_before : str | None = None
13331337 marker : str | None = None
13341338 max_items : int = 0
13351339 reverse_order : bool | None = None
@@ -1341,8 +1345,8 @@ def from_dict(cls, data: dict) -> ListDurableExecutionsByFunctionRequest:
13411345 qualifier = data .get ("Qualifier" ),
13421346 durable_execution_name = data .get ("DurableExecutionName" ),
13431347 status_filter = data .get ("StatusFilter" ),
1344- time_after = data .get ("TimeAfter " ),
1345- time_before = data .get ("TimeBefore " ),
1348+ started_after = data .get ("StartedAfter " ),
1349+ started_before = data .get ("StartedBefore " ),
13461350 marker = data .get ("Marker" ),
13471351 max_items = data .get ("MaxItems" , 0 ),
13481352 reverse_order = data .get ("ReverseOrder" ),
@@ -1356,10 +1360,10 @@ def to_dict(self) -> dict[str, Any]:
13561360 result ["DurableExecutionName" ] = self .durable_execution_name
13571361 if self .status_filter is not None :
13581362 result ["StatusFilter" ] = self .status_filter
1359- if self .time_after is not None :
1360- result ["TimeAfter " ] = self .time_after
1361- if self .time_before is not None :
1362- result ["TimeBefore " ] = self .time_before
1363+ if self .started_after is not None :
1364+ result ["StartedAfter " ] = self .started_after
1365+ if self .started_before is not None :
1366+ result ["StartedBefore " ] = self .started_before
13631367 if self .marker is not None :
13641368 result ["Marker" ] = self .marker
13651369 if self .max_items is not None :
0 commit comments