Skip to main content

OperationUpdate

Struct OperationUpdate 

Source
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: String

Unique identifier for this operation

§action: OperationAction

The action to perform (Start, Succeed, Fail)

§operation_type: OperationType

The 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

Source

pub fn start( operation_id: impl Into<String>, operation_type: OperationType, ) -> OperationUpdate

Creates a new OperationUpdate to start an operation.

Source

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.

Source

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.

Source

pub fn fail( operation_id: impl Into<String>, operation_type: OperationType, error: ErrorObject, ) -> OperationUpdate

Creates a new OperationUpdate to mark an operation as failed.

Source

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 cancel
  • operation_type - The type of operation being cancelled
Source

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 retry
  • operation_type - The type of operation being retried
  • payload - Optional state payload to preserve across retries
  • next_attempt_delay_seconds - Optional delay before the next retry attempt
Source

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 retry
  • operation_type - The type of operation being retried
  • error - The error that caused the retry
  • next_attempt_delay_seconds - Optional delay before the next retry attempt
Source

pub fn with_parent_id(self, parent_id: impl Into<String>) -> OperationUpdate

Sets the parent ID for this operation update.

Source

pub fn with_name(self, name: impl Into<String>) -> OperationUpdate

Sets the name for this operation update.

Source

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

Source

pub fn with_wait_options(self, wait_seconds: u64) -> OperationUpdate

Sets the wait options for this operation update.

Source

pub fn with_step_options( self, next_attempt_delay_seconds: Option<u64>, ) -> OperationUpdate

Sets the step options for this operation update.

Source

pub fn with_callback_options( self, timeout_seconds: Option<u64>, heartbeat_timeout_seconds: Option<u64>, ) -> OperationUpdate

Sets the callback options for this operation update.

Source

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.

Source

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

Source§

fn clone(&self) -> OperationUpdate

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OperationUpdate

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for OperationUpdate

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<OperationUpdate, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for OperationUpdate

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<B> IntoFunctionResponse<B, Body> for B
where B: Serialize,

Source§

fn into_response(self) -> FunctionResponse<B, Body>

Convert the type into a FunctionResponse.
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> DurableValue for T