modular_sdk/models/execution_trace.py (25 lines of code) (raw):
from pynamodb.attributes import UnicodeAttribute, \
UTCDateTimeAttribute, NumberAttribute
from pynamodb.indexes import AllProjection
from modular_sdk.models.pynamodb_extension.base_role_access_model import \
BaseRoleAccessModel
from modular_sdk.models.base_meta import BaseMeta
from modular_sdk.models.pynamodb_extension.base_model import BaseGSI
class SegmentIndex(BaseGSI):
class Meta(BaseMeta):
index_name = 'segment-index'
read_capacity_units = 1
write_capacity_units = 1
projection = AllProjection()
segment = UnicodeAttribute(hash_key=True)
execution_id = UnicodeAttribute(range_key=True)
class ExecutionTrace(BaseRoleAccessModel):
class Meta(BaseMeta):
table_name = 'ExecutionTraces'
component = UnicodeAttribute(hash_key=True)
execution_id = UnicodeAttribute(range_key=True)
segment = UnicodeAttribute()
segment_index = SegmentIndex()
start_time = UTCDateTimeAttribute()
end_time = UTCDateTimeAttribute()
duration_seconds = NumberAttribute()