pub struct OperationUpdate {Show 13 fields
pub operation_id: String,
pub action: OperationAction,
pub operation_type: OperationType,
pub result: Option<String>,
pub error: Option<ErrorObject>,
pub parent_id: Option<String>,
pub name: Option<String>,
pub sub_type: Option<String>,
pub wait_options: Option<WaitOptions>,
pub step_options: Option<StepOptions>,
pub callback_options: Option<CallbackOptions>,
pub chained_invoke_options: Option<ChainedInvokeOptions>,
pub context_options: Option<ContextOptions>,
}Expand description
Represents an update to be checkpointed for an operation.
This struct is used to send checkpoint requests to the Lambda service. Field names match the CheckpointDurableExecution API format.
Fields§
§operation_id: StringUnique identifier for this operation
action: OperationActionThe action to perform (Start, Succeed, Fail)
operation_type: OperationTypeThe type of operation
result: Option<String>Serialized result if succeeding (called “Payload” in the API)
error: Option<ErrorObject>Error details if failing
parent_id: Option<String>Parent operation ID for nested operations
name: Option<String>Optional human-readable name for the operation
sub_type: Option<String>SDK-level categorization of the operation (e.g., “map”, “parallel”, “wait_for_condition”) Requirements: 23.3, 23.4
wait_options: Option<WaitOptions>Options for WAIT operations
step_options: Option<StepOptions>Options for STEP operations
callback_options: Option<CallbackOptions>Options for CALLBACK operations
chained_invoke_options: Option<ChainedInvokeOptions>Options for CHAINED_INVOKE operations
context_options: Option<ContextOptions>Options for CONTEXT operations
Implementations§
Source§impl OperationUpdate
impl OperationUpdate
Sourcepub fn start(
operation_id: impl Into<String>,
operation_type: OperationType,
) -> OperationUpdate
pub fn start( operation_id: impl Into<String>, operation_type: OperationType, ) -> OperationUpdate
Creates a new OperationUpdate to start an operation.
Sourcepub fn start_wait(
operation_id: impl Into<String>,
wait_seconds: u64,
) -> OperationUpdate
pub fn start_wait( operation_id: impl Into<String>, wait_seconds: u64, ) -> OperationUpdate
Creates a new OperationUpdate to start a WAIT operation with the required WaitOptions.
Sourcepub fn succeed(
operation_id: impl Into<String>,
operation_type: OperationType,
result: Option<String>,
) -> OperationUpdate
pub fn succeed( operation_id: impl Into<String>, operation_type: OperationType, result: Option<String>, ) -> OperationUpdate
Creates a new OperationUpdate to mark an operation as succeeded.
Sourcepub fn fail(
operation_id: impl Into<String>,
operation_type: OperationType,
error: ErrorObject,
) -> OperationUpdate
pub fn fail( operation_id: impl Into<String>, operation_type: OperationType, error: ErrorObject, ) -> OperationUpdate
Creates a new OperationUpdate to mark an operation as failed.
Sourcepub fn cancel(
operation_id: impl Into<String>,
operation_type: OperationType,
) -> OperationUpdate
pub fn cancel( operation_id: impl Into<String>, operation_type: OperationType, ) -> OperationUpdate
Creates a new OperationUpdate to cancel an operation.
This is primarily used for cancelling WAIT operations.
§Arguments
operation_id- The ID of the operation to canceloperation_type- The type of operation being cancelled
Sourcepub fn retry(
operation_id: impl Into<String>,
operation_type: OperationType,
payload: Option<String>,
next_attempt_delay_seconds: Option<u64>,
) -> OperationUpdate
pub fn retry( operation_id: impl Into<String>, operation_type: OperationType, payload: Option<String>, next_attempt_delay_seconds: Option<u64>, ) -> OperationUpdate
Creates a new OperationUpdate to retry an operation with optional payload.
This is used for the wait-for-condition pattern where state needs to be passed between retry attempts. The payload contains the state to preserve across retries, not an error.
§Arguments
operation_id- The ID of the operation to retryoperation_type- The type of operation being retriedpayload- Optional state payload to preserve across retriesnext_attempt_delay_seconds- Optional delay before the next retry attempt
Sourcepub fn retry_with_error(
operation_id: impl Into<String>,
operation_type: OperationType,
error: ErrorObject,
next_attempt_delay_seconds: Option<u64>,
) -> OperationUpdate
pub fn retry_with_error( operation_id: impl Into<String>, operation_type: OperationType, error: ErrorObject, next_attempt_delay_seconds: Option<u64>, ) -> OperationUpdate
Creates a new OperationUpdate to retry an operation with an error.
This is used for traditional retry scenarios where the operation failed and needs to be retried after a delay.
§Arguments
operation_id- The ID of the operation to retryoperation_type- The type of operation being retriederror- The error that caused the retrynext_attempt_delay_seconds- Optional delay before the next retry attempt
Sourcepub fn with_parent_id(self, parent_id: impl Into<String>) -> OperationUpdate
pub fn with_parent_id(self, parent_id: impl Into<String>) -> OperationUpdate
Sets the parent ID for this operation update.
Sourcepub fn with_name(self, name: impl Into<String>) -> OperationUpdate
pub fn with_name(self, name: impl Into<String>) -> OperationUpdate
Sets the name for this operation update.
Sourcepub fn with_sub_type(self, sub_type: impl Into<String>) -> OperationUpdate
pub fn with_sub_type(self, sub_type: impl Into<String>) -> OperationUpdate
Sets the sub-type for this operation update. Requirements: 23.3, 23.4
Sourcepub fn with_wait_options(self, wait_seconds: u64) -> OperationUpdate
pub fn with_wait_options(self, wait_seconds: u64) -> OperationUpdate
Sets the wait options for this operation update.
Sourcepub fn with_step_options(
self,
next_attempt_delay_seconds: Option<u64>,
) -> OperationUpdate
pub fn with_step_options( self, next_attempt_delay_seconds: Option<u64>, ) -> OperationUpdate
Sets the step options for this operation update.
Sourcepub fn with_callback_options(
self,
timeout_seconds: Option<u64>,
heartbeat_timeout_seconds: Option<u64>,
) -> OperationUpdate
pub fn with_callback_options( self, timeout_seconds: Option<u64>, heartbeat_timeout_seconds: Option<u64>, ) -> OperationUpdate
Sets the callback options for this operation update.
Sourcepub fn with_chained_invoke_options(
self,
function_name: impl Into<String>,
tenant_id: Option<String>,
) -> OperationUpdate
pub fn with_chained_invoke_options( self, function_name: impl Into<String>, tenant_id: Option<String>, ) -> OperationUpdate
Sets the chained invoke options for this operation update.
Sourcepub fn with_context_options(
self,
replay_children: Option<bool>,
) -> OperationUpdate
pub fn with_context_options( self, replay_children: Option<bool>, ) -> OperationUpdate
Sets the context options for this operation update.
Trait Implementations§
Source§impl Clone for OperationUpdate
impl Clone for OperationUpdate
Source§fn clone(&self) -> OperationUpdate
fn clone(&self) -> OperationUpdate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OperationUpdate
impl Debug for OperationUpdate
Source§impl<'de> Deserialize<'de> for OperationUpdate
impl<'de> Deserialize<'de> for OperationUpdate
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<OperationUpdate, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<OperationUpdate, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for OperationUpdate
impl Serialize for OperationUpdate
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for OperationUpdate
impl RefUnwindSafe for OperationUpdate
impl Send for OperationUpdate
impl Sync for OperationUpdate
impl Unpin for OperationUpdate
impl UnsafeUnpin for OperationUpdate
impl UnwindSafe for OperationUpdate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more