type: "io.kestra.plugin.core.flow.Subflow"
Create a subflow execution. Subflows offer a modular way to reuse workflow logic by calling other flows just like calling a function in a programming language.
Restarting a parent flow will restart any subflows that has previously been executed.
Examples
Run a subflow with custom inputs.
id: parent_flow
namespace: company.team
tasks:
- id: call_subflow
type: io.kestra.plugin.core.flow.Subflow
namespace: company.team
flowId: subflow
inputs:
user: Rick Astley
favorite_song: Never Gonna Give You Up
wait: true
transmitFailed: true
Properties
flowId
- Type: string
- Dynamic: ✔️
- Required: ✔️
The identifier of the subflow to be executed.
namespace
- Type: string
- Dynamic: ✔️
- Required: ✔️
- Min length:
1
The namespace of the subflow to be executed.
restartBehavior
- Type: string
- Dynamic: ❌
- Required: ✔️
- Default:
RETRY_FAILED
- Possible Values:
NEW_EXECUTION
RETRY_FAILED
What to do when a failed execution is restarting.
- RETRY_FAILED (default): will restart the subflow execution if it's failed.
- NEW_EXECUTION: will create a new subflow execution.""
inheritLabels
- Type: boolean
- Dynamic: ❌
- Required: ❌
- Default:
false
Whether the subflow should inherit labels from this execution that triggered it.
By default, labels are not passed to the subflow execution. If you set this option to
true
, the child flow execution will inherit all labels from the parent execution.
inputs
- Type: object
- Dynamic: ✔️
- Required: ❌
The inputs to pass to the subflow to be executed.
labels
- Type:
- array
- object
- Dynamic: ✔️
- Required: ❌
The labels to pass to the subflow to be executed.
outputs
- Type: object
- Dynamic: ✔️
- Required: ❌
Outputs from the subflow executions.
Allows to specify outputs as key-value pairs to extract any outputs from the subflow execution into output of this task execution.This property is deprecated since v0.15.0, please use the
outputs
property on the Subflow definition for defining the output values available and exposed to this task execution.
revision
- Type: integer
- Dynamic: ✔️
- Required: ❌
- Minimum:
›= 1
The revision of the subflow to be executed.
By default, the last, i.e. the most recent, revision of the subflow is executed.
scheduleDate
- Type:
- string
- string
- Dynamic: ✔️
- Required: ❌
transmitFailed
- Type: boolean
- Dynamic: ❌
- Required: ❌
- Default:
true
Whether to fail the current execution if the subflow execution fails or is killed.
Note that this option works only if
wait
is set totrue
.
wait
- Type: boolean
- Dynamic: ❌
- Required: ❌
- Default:
true
Whether to wait for the subflow execution to finish before continuing the current execution.
Outputs
executionId
- Type: string
- Required: ❌
outputs
- Type: object
- Required: ❌
state
- Type: string
- Required: ❌
- Possible Values:
CREATED
RUNNING
PAUSED
RESTARTED
KILLING
SUCCESS
WARNING
FAILED
KILLED
CANCELLED
QUEUED
RETRYING
RETRIED
SKIPPED