pub trait WorkflowProvider:
Send
+ Sync
+ 'static {
Show 21 methods
// Provided methods
fn configure<'life0, 'life1, 'async_trait>(
&'life0 self,
_name: &'life1 str,
_config: Map<String, Value>,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn metadata(&self) -> Option<RuntimeMetadata> { ... }
fn warnings(&self) -> Vec<String> { ... }
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn start<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn close<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn apply_definition<'life0, 'async_trait>(
&'life0 self,
_request: ApplyWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn get_definition<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn list_definitions<'life0, 'async_trait>(
&'life0 self,
_request: ListWorkflowProviderDefinitionsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<ListWorkflowProviderDefinitionsResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn set_definition_paused<'life0, 'async_trait>(
&'life0 self,
_request: SetWorkflowProviderDefinitionPausedRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn set_activation_paused<'life0, 'async_trait>(
&'life0 self,
_request: SetWorkflowProviderActivationPausedRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn delete_definition<'life0, 'async_trait>(
&'life0 self,
_request: DeleteWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn start_run<'life0, 'async_trait>(
&'life0 self,
_request: StartWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn list_runs<'life0, 'async_trait>(
&'life0 self,
_request: ListWorkflowProviderRunsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<ListWorkflowProviderRunsResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn get_run<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn get_run_events<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunEventsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<GetWorkflowProviderRunEventsResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn get_run_output<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunOutputRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<GetWorkflowProviderRunOutputResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn cancel_run<'life0, 'async_trait>(
&'life0 self,
_request: CancelWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn signal_run<'life0, 'async_trait>(
&'life0 self,
_request: SignalWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<SignalWorkflowRunResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn signal_or_start_run<'life0, 'async_trait>(
&'life0 self,
_request: SignalOrStartWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<SignalWorkflowRunResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn deliver_event<'life0, 'async_trait>(
&'life0 self,
_request: DeliverWorkflowProviderEventRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowEvent>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
}Expand description
Provider trait for serving the Gestalt workflow-provider protocol.
Provided Methods§
Sourcefn configure<'life0, 'life1, 'async_trait>(
&'life0 self,
_name: &'life1 str,
_config: Map<String, Value>,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn configure<'life0, 'life1, 'async_trait>(
&'life0 self,
_name: &'life1 str,
_config: Map<String, Value>,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Configures the provider before it starts serving requests.
Sourcefn metadata(&self) -> Option<RuntimeMetadata>
fn metadata(&self) -> Option<RuntimeMetadata>
Returns runtime metadata that should augment the static manifest.
Sourcefn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Performs an optional health check.
Sourcefn start<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Starts provider-owned background work after configuration.
Sourcefn close<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Shuts the provider down before the runtime exits.
Sourcefn apply_definition<'life0, 'async_trait>(
&'life0 self,
_request: ApplyWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_definition<'life0, 'async_trait>(
&'life0 self,
_request: ApplyWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Applies a workflow definition, creating or updating it.
Sourcefn get_definition<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_definition<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetches one workflow definition.
Sourcefn list_definitions<'life0, 'async_trait>(
&'life0 self,
_request: ListWorkflowProviderDefinitionsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<ListWorkflowProviderDefinitionsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_definitions<'life0, 'async_trait>(
&'life0 self,
_request: ListWorkflowProviderDefinitionsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<ListWorkflowProviderDefinitionsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists workflow definitions.
Sourcefn set_definition_paused<'life0, 'async_trait>(
&'life0 self,
_request: SetWorkflowProviderDefinitionPausedRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_definition_paused<'life0, 'async_trait>(
&'life0 self,
_request: SetWorkflowProviderDefinitionPausedRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Pauses or resumes a workflow definition.
Sourcefn set_activation_paused<'life0, 'async_trait>(
&'life0 self,
_request: SetWorkflowProviderActivationPausedRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_activation_paused<'life0, 'async_trait>(
&'life0 self,
_request: SetWorkflowProviderActivationPausedRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowDefinition>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Pauses or resumes one activation.
Sourcefn delete_definition<'life0, 'async_trait>(
&'life0 self,
_request: DeleteWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_definition<'life0, 'async_trait>(
&'life0 self,
_request: DeleteWorkflowProviderDefinitionRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Deletes a workflow definition.
Sourcefn start_run<'life0, 'async_trait>(
&'life0 self,
_request: StartWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start_run<'life0, 'async_trait>(
&'life0 self,
_request: StartWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Starts a workflow run.
Sourcefn list_runs<'life0, 'async_trait>(
&'life0 self,
_request: ListWorkflowProviderRunsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<ListWorkflowProviderRunsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_runs<'life0, 'async_trait>(
&'life0 self,
_request: ListWorkflowProviderRunsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<ListWorkflowProviderRunsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists workflow runs.
Sourcefn get_run<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_run<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetches one workflow run.
Sourcefn get_run_events<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunEventsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<GetWorkflowProviderRunEventsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_run_events<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunEventsRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<GetWorkflowProviderRunEventsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetches the events of a workflow run.
Sourcefn get_run_output<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunOutputRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<GetWorkflowProviderRunOutputResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_run_output<'life0, 'async_trait>(
&'life0 self,
_request: GetWorkflowProviderRunOutputRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<GetWorkflowProviderRunOutputResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetches the output value of a workflow run.
Sourcefn cancel_run<'life0, 'async_trait>(
&'life0 self,
_request: CancelWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel_run<'life0, 'async_trait>(
&'life0 self,
_request: CancelWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowRun>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Cancels a workflow run.
Sourcefn signal_run<'life0, 'async_trait>(
&'life0 self,
_request: SignalWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<SignalWorkflowRunResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn signal_run<'life0, 'async_trait>(
&'life0 self,
_request: SignalWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<SignalWorkflowRunResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Signals an existing workflow run.
Sourcefn signal_or_start_run<'life0, 'async_trait>(
&'life0 self,
_request: SignalOrStartWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<SignalWorkflowRunResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn signal_or_start_run<'life0, 'async_trait>(
&'life0 self,
_request: SignalOrStartWorkflowProviderRunRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<SignalWorkflowRunResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Signals a run, starting it first when absent.
Sourcefn deliver_event<'life0, 'async_trait>(
&'life0 self,
_request: DeliverWorkflowProviderEventRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowEvent>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn deliver_event<'life0, 'async_trait>(
&'life0 self,
_request: DeliverWorkflowProviderEventRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<WorkflowEvent>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delivers an external event to the workflow engine.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".