Imp.Training.FastSlow.OperationIntent (Imp v0.5.0)

Copy Markdown View Source

Durable intent and reconciliation state for one provider effect.

Summary

Types

reconciliation()

@type reconciliation() :: :unreconciled | :confirmed | :retryable | :failed

t()

@type t() :: %Imp.Training.FastSlow.OperationIntent{
  attempts: non_neg_integer(),
  cycle: non_neg_integer(),
  id: String.t(),
  kind: String.t(),
  payload: Imp.Training.FastSlow.Config.json_value(),
  payload_digest: String.t(),
  reconciliation: reconciliation(),
  result: Imp.Training.FastSlow.Config.json_value() | nil
}

Functions

new!(kind, cycle, payload)

@spec new!(String.t(), non_neg_integer(), term()) :: t()

reconcile(intent, state, result \\ nil)

@spec reconcile(t(), reconciliation(), term()) :: t()

validate!(intent)

@spec validate!(t()) :: t()