# description
Serverless Workflow DSL - Workflow Schema.

# properties.do.description
Defines the task(s) the workflow must perform.

# properties.document.properties.dsl.description
The version of the DSL used by the workflow.

# properties.document.properties.metadata.description
Holds additional information about the workflow.

# properties.document.properties.tags.description
A key/value mapping of the workflow's tags, if any.

# properties.schedule.properties.after.description
Specifies a delay duration that the workflow must wait before starting again after it completes.

# properties.schedule.properties.cron.description
Specifies the schedule using a cron expression, e.g., '0 0 * * *' for daily at midnight.

# properties.schedule.properties.every.description
Specifies the duration of the interval at which the workflow should be executed.

# properties.schedule.properties.on.description
Specifies the events that trigger the workflow execution.

# properties.timeout.oneOf[].description
The workflow's timeout configuration, if any.

# properties.timeout.oneOf[].description
The name of the workflow's timeout, if any.

# properties.use.description
Defines the workflow's reusable components.

# properties.use.properties.authentications.description
The workflow's reusable authentication policies.

# $defs.asyncApiInboundMessage.description
Represents a message counsumed by an AsyncAPI subscription.

# $defs.asyncApiMessageConsumptionPolicy.description
An object used to configure a subscription's message consumption policy.

# $defs.asyncApiMessageConsumptionPolicy.oneOf[].properties.amount.description
The amount of (filtered) messages to consume before disposing of the subscription.

# $defs.asyncApiMessageConsumptionPolicy.oneOf[].properties.while.description
A runtime expression evaluated after each consumed (filtered) message to decide if message consumption should continue.

# $defs.asyncApiMessageConsumptionPolicy.oneOf[].properties.until.description
A runtime expression evaluated before each consumed (filtered) message to decide if message consumption should continue.

# $defs.asyncApiMessageConsumptionPolicy.properties.for.description
Specifies the time period over which messages will be consumed.

# $defs.asyncApiOutboundMessage.description
An object used to configure the message to publish using the target operation.

# $defs.asyncApiServer.description
Configures the target server of an AsyncAPI operation.

# $defs.asyncApiSubscription.description
An object used to configure the subscription to messages consumed using the target operation.

# $defs.asyncApiSubscription.properties.consume.description
An object used to configure the subscription's message consumption policy.

# $defs.asyncApiSubscription.properties.filter.description
A runtime expression, if any, used to filter consumed messages.

# $defs.asyncApiSubscription.properties.foreach.description
Configures the iterator, if any, for processing consumed messages(s).

# $defs.authenticationPolicy.oneOf[].properties.basic.description
The configuration of the basic authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.basic.oneOf[].description
Inline configuration of the basic authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.basic.oneOf[].description
Secret based configuration of the basic authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.bearer.description
The configuration of the bearer authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.bearer.oneOf[].description
Inline configuration of the bearer authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.bearer.oneOf[].description
Secret based configuration of the bearer authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.digest.description
The configuration of the digest authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.digest.oneOf[].description
Inline configuration of the digest authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.digest.oneOf[].description
Secret based configuration of the digest authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.oauth2.description
The configuration of the OAuth2 authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.oauth2.oneOf[].description
The inline configuration of the OAuth2 authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.oauth2.oneOf[].allOf[].properties.endpoints.properties.introspection.description
The relative path to the introspection endpoint. Defaults to `/oauth2/introspect`.

# $defs.authenticationPolicy.oneOf[].properties.oauth2.oneOf[].allOf[].properties.endpoints.properties.revocation.description
The relative path to the revocation endpoint. Defaults to `/oauth2/revoke`.

# $defs.authenticationPolicy.oneOf[].properties.oauth2.oneOf[].allOf[].properties.endpoints.properties.token.description
The relative path to the token endpoint. Defaults to `/oauth2/token`.

# $defs.authenticationPolicy.oneOf[].properties.oauth2.oneOf[].description
Secret based configuration of the OAuth2 authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.oidc.description
The configuration of the OpenIdConnect authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.oidc.oneOf[].description
The inline configuration of the OpenIdConnect authentication policy.

# $defs.authenticationPolicy.oneOf[].properties.oidc.oneOf[].description
Secret based configuration of the OpenIdConnect authentication policy.

# $defs.callTask.oneOf[].properties.with.properties.authentication.description
The authentication policy, if any, to use when calling the AsyncAPI operation.

# $defs.callTask.oneOf[].properties.with.properties.channel.description
The name of the channel on which to perform the operation. Used only in case the referenced document uses AsyncAPI v2.6.0.

# $defs.callTask.oneOf[].properties.with.properties.document.description
The document that defines the AsyncAPI operation to call.

# $defs.callTask.oneOf[].properties.with.properties.message.description
An object used to configure the message to publish using the target operation.

# $defs.callTask.oneOf[].properties.with.properties.operation.description
A reference to the AsyncAPI operation to call.

# $defs.callTask.oneOf[].properties.with.properties.protocol.description
The protocol to use to select the target server.

# $defs.callTask.oneOf[].properties.with.properties.server.description
An object used to configure to the server to call the specified AsyncAPI operation on.

# $defs.callTask.oneOf[].properties.with.properties.subscription.description
An object used to configure the subscription to messages consumed using the target operation.

# $defs.callTask.oneOf[].properties.with.properties.arguments.description
The arguments, if any, to call the method with.

# $defs.callTask.oneOf[].properties.with.properties.method.description
The name of the method to call on the defined GRPC service.

# $defs.callTask.oneOf[].properties.with.properties.proto.description
The proto resource that describes the GRPC service to call.

# $defs.callTask.oneOf[].properties.with.properties.service.properties.authentication.description
The endpoint's authentication policy, if any.

# $defs.callTask.oneOf[].properties.with.properties.service.properties.host.description
The hostname of the GRPC service to call.

# $defs.callTask.oneOf[].properties.with.properties.service.properties.port.description
The port number of the GRPC service to call.

# $defs.callTask.oneOf[].properties.with.properties.body.description
The body, if any, of the HTTP request to perform.

# $defs.callTask.oneOf[].properties.with.properties.endpoint.description
The HTTP endpoint to send the request to.

# $defs.callTask.oneOf[].properties.with.properties.headers.description
A name/value mapping of the headers, if any, of the HTTP request to perform.

# $defs.callTask.oneOf[].properties.with.properties.method.description
The HTTP method of the HTTP request to perform.

# $defs.callTask.oneOf[].properties.with.properties.output.description
The http call output format. Defaults to 'content'.

# $defs.callTask.oneOf[].properties.with.properties.query.description
A name/value mapping of the query parameters, if any, of the HTTP request to perform.

# $defs.callTask.oneOf[].properties.with.properties.redirect.description
Specifies whether redirection status codes (`300–399`) should be treated as errors.

# $defs.callTask.oneOf[].properties.with.properties.authentication.description
The authentication policy, if any, to use when calling the OpenAPI operation.

# $defs.callTask.oneOf[].properties.with.properties.document.description
The document that defines the OpenAPI operation to call.

# $defs.callTask.oneOf[].properties.with.properties.operationId.description
The id of the OpenAPI operation to call.

# $defs.callTask.oneOf[].properties.with.properties.output.description
The http call output format. Defaults to 'content'.

# $defs.callTask.oneOf[].properties.with.properties.parameters.description
A name/value mapping of the parameters of the OpenAPI operation to call.

# $defs.callTask.oneOf[].properties.with.properties.redirect.description
Specifies whether redirection status codes (`300–399`) should be treated as errors.

# $defs.callTask.oneOf[].properties.with.description
A name/value mapping of the parameters, if any, to call the function with.

# $defs.catalog.properties.endpoint.description
The root URL where the catalog is hosted.

# $defs.containerLifetime.description
The configuration of a container's lifetime

# $defs.containerLifetime.properties.after.description
The duration after which to cleanup the container, in case the cleanup policy has been set to 'eventually'

# $defs.doTask.description
Allows to execute a list of tasks in sequence.

# $defs.doTask.properties.do.description
The configuration of the tasks to perform sequentially.

# $defs.emitTask.description
Allows workflows to publish events to event brokers or messaging systems, facilitating communication and coordination between different components and services.

# $defs.emitTask.properties.emit.description
The configuration of an event's emission.

# $defs.emitTask.properties.emit.properties.event.properties.with.description
Defines the properties of event to emit.

# $defs.error.properties.title.description
A short, human-readable summary of the error.

# $defs.error.properties.type.description
A URI reference that identifies the error type.

# $defs.error.properties.detail.description
A human-readable explanation specific to this occurrence of the error.

# $defs.error.properties.instance.description
A JSON Pointer used to reference the component the error originates from.

# $defs.error.properties.status.description
The status code generated by the origin for this occurrence of the error.

# $defs.errorFilter.description
Error filtering base on static values. For error filtering on dynamic values, use catch.when property

# $defs.errorFilter.properties.title.description
if present, means this value should be used for filtering

# $defs.errorFilter.properties.type.description
if present, means this value should be used for filtering

# $defs.errorFilter.properties.details.description
if present, means this value should be used for filtering

# $defs.errorFilter.properties.instance.description
if present, means this value should be used for filtering

# $defs.errorFilter.properties.status.description
if present, means this value should be used for filtering

# $defs.eventConsumptionStrategy.description
Describe the event consumption strategy to adopt.

# $defs.eventConsumptionStrategy.oneOf[].properties.all.description
A list containing all the events that must be consumed.

# $defs.eventConsumptionStrategy.oneOf[].properties.any.description
A list containing any of the events to consume.

# $defs.eventConsumptionStrategy.oneOf[].properties.until.oneOf[].description
A runtime expression condition evaluated after consuming an event and which determines whether or not to continue listening.

# $defs.eventConsumptionStrategy.oneOf[].properties.until.oneOf[].allOf[].description
The strategy that defines the event(s) to consume to stop listening.

# $defs.eventFilter.description
An event filter is a mechanism used to selectively process or handle events based on predefined criteria, such as event type, source, or specific attributes.

# $defs.eventFilter.properties.correlate.description
A correlation is a link between events and data, established by mapping event attributes to specific data attributes, allowing for coordinated processing or handling based on event characteristics.

# $defs.eventFilter.properties.correlate.additionalProperties.properties.expect.description
A constant or a runtime expression, if any, used to determine whether or not the extracted correlation value matches expectations. If not set, the first extracted value will be used as the correlation's expectation.

# $defs.eventFilter.properties.correlate.additionalProperties.properties.from.description
A runtime expression used to extract the correlation value from the filtered event.

# $defs.eventFilter.properties.with.description
An event filter is a mechanism used to selectively process or handle events based on predefined criteria, such as event type, source, or specific attributes.

# $defs.eventProperties.properties.type.description
This attribute contains a value describing the type of event related to the originating occurrence.

# $defs.eventProperties.properties.datacontenttype.description
Content type of data value. This attribute enables data to carry any type of content, whereby format and encoding might differ from that of the chosen event format.

# $defs.eventProperties.properties.source.description
Identifies the context in which an event happened.

# $defs.export.properties.as.description
A runtime expression, if any, used to export the output data to the context.

# $defs.export.properties.schema.description
The schema used to describe and validate the workflow context.

# $defs.extension.properties.after.description
The task(s) to execute after the extended task, if any.

# $defs.extension.properties.before.description
The task(s) to execute before the extended task, if any.

# $defs.extension.properties.when.description
A runtime expression, if any, used to determine whether or not the extension should apply in the specified context.

# $defs.externalResource.properties.name.description
The name of the external resource, if any.

# $defs.flowDirective.description
Represents different transition options for a workflow.

# $defs.forTask.description
Allows workflows to iterate over a collection of items, executing a defined set of subtasks for each item in the collection. This task type is instrumental in handling scenarios such as batch processing, data transformation, and repetitive operations across datasets.

# $defs.forTask.properties.for.description
The definition of the loop that iterates over a range of values.

# $defs.forTask.properties.for.properties.at.description
The name of the variable used to store the index of the current item being enumerated.

# $defs.forTask.properties.for.properties.each.description
The name of the variable used to store the current item being enumerated.

# $defs.forTask.properties.for.properties.in.description
A runtime expression used to get the collection to enumerate.

# $defs.forTask.properties.while.description
A runtime expression that represents the condition, if any, that must be met for the iteration to continue.

# $defs.forkTask.description
Allows workflows to execute multiple tasks concurrently and optionally race them against each other, with a single possible winner, which sets the task's output.

# $defs.forkTask.properties.fork.description
The configuration of the branches to perform concurrently.

# $defs.forkTask.properties.fork.properties.compete.description
Indicates whether or not the concurrent tasks are racing against each other, with a single possible winner, which sets the composite task's output.

# $defs.input.description
Configures the input of a workflow or task.

# $defs.input.properties.from.description
A runtime expression, if any, used to mutate and/or filter the input of the workflow or task.

# $defs.input.properties.schema.description
The schema used to describe and validate the input of the workflow or task.

# $defs.listenTask.description
Provides a mechanism for workflows to await and react to external events, enabling event-driven behavior within workflow systems.

# $defs.listenTask.properties.foreach.description
Configures the iterator, if any, for processing consumed event(s).

# $defs.listenTask.properties.listen.description
The configuration of the listener to use.

# $defs.listenTask.properties.listen.properties.read.description
Specifies how events are read during the listen operation.

# $defs.oauth2AuthenticationProperties.description
Inline configuration of the OAuth2 authentication policy.

# $defs.oauth2AuthenticationProperties.properties.actor.description
The security token that represents the identity of the acting party.

# $defs.oauth2AuthenticationProperties.properties.audiences.description
The audiences, if any, to request the token for.

# $defs.oauth2AuthenticationProperties.properties.authority.description
The URI that references the OAuth2 authority to use.

# $defs.oauth2AuthenticationProperties.properties.client.properties.assertion.description
A JWT containing a signed assertion with your application credentials.

# $defs.oauth2AuthenticationProperties.properties.client.properties.authentication.description
The authentication method to use to authenticate the client.

# $defs.oauth2AuthenticationProperties.properties.issuers.description
A list that contains that contains valid issuers that will be used to check against the issuer of generated tokens.

# $defs.oauth2AuthenticationProperties.properties.password.description
The password to use. Used only if the grant type is Password.

# $defs.oauth2AuthenticationProperties.properties.request.description
The configuration of an OAuth2 token request

# $defs.oauth2AuthenticationProperties.properties.scopes.description
The scopes, if any, to request the token for.

# $defs.oauth2AuthenticationProperties.properties.subject.description
The security token that represents the identity of the party on behalf of whom the request is being made.

# $defs.oauth2AuthenticationProperties.properties.username.description
The username to use. Used only if the grant type is Password.

# $defs.output.description
Configures the output of a workflow or task.

# $defs.output.properties.as.description
A runtime expression, if any, used to mutate and/or filter the output of the workflow or task.

# $defs.output.properties.schema.description
The schema used to describe and validate the output of the workflow or task.

# $defs.processResult.description
The object returned by a run task when its return type has been set 'all'.

# $defs.raiseTask.description
Intentionally triggers and propagates errors.

# $defs.referenceableAuthenticationPolicy.oneOf[].description
The reference of the authentication policy to use.

# $defs.referenceableAuthenticationPolicy.oneOf[].properties.use.description
The name of the authentication policy to use.

# $defs.retryPolicy.properties.backoff.oneOf[].properties.constant.description
The definition of the constant backoff to use, if any.

# $defs.retryPolicy.properties.backoff.oneOf[].properties.exponential.description
The definition of the exponential backoff to use, if any.

# $defs.retryPolicy.properties.backoff.oneOf[].properties.linear.description
The definition of the linear backoff to use, if any.

# $defs.retryPolicy.properties.delay.description
The duration to wait between retry attempts.

# $defs.retryPolicy.properties.exceptWhen.description
A runtime expression used to determine whether or not to retry running the task, in a given context.

# $defs.retryPolicy.properties.jitter.description
The parameters, if any, that control the randomness or variability of the delay between retry attempts.

# $defs.retryPolicy.properties.jitter.properties.from.description
The minimum duration of the jitter range.

# $defs.retryPolicy.properties.jitter.properties.to.description
The maximum duration of the jitter range.

# $defs.retryPolicy.properties.limit.properties.attempt.properties.count.description
The maximum amount of retry attempts, if any.

# $defs.retryPolicy.properties.limit.properties.attempt.properties.duration.description
The maximum duration for each retry attempt.

# $defs.retryPolicy.properties.limit.properties.duration.description
The duration limit, if any, for all retry attempts.

# $defs.retryPolicy.properties.when.description
A runtime expression, if any, used to determine whether or not to retry running the task, in a given context.

# $defs.runTask.description
Provides the capability to execute external containers, shell commands, scripts, or workflows.

# $defs.runTask.properties.run.description
The configuration of the process to execute.

# $defs.runTask.properties.run.oneOf[].description
Enables the execution of external processes encapsulated within a containerized environment.

# $defs.runTask.properties.run.oneOf[].properties.container.description
The configuration of the container to run.

# $defs.runTask.properties.run.oneOf[].properties.container.properties.command.description
The command, if any, to execute on the container.

# $defs.runTask.properties.run.oneOf[].properties.container.properties.environment.description
A key/value mapping of the environment variables, if any, to use when running the configured process.

# $defs.runTask.properties.run.oneOf[].properties.container.properties.lifetime.description
An object, if any, used to configure the container's lifetime

# $defs.runTask.properties.run.oneOf[].properties.container.properties.name.description
A runtime expression, if any, used to give specific name to the container.

# $defs.runTask.properties.run.oneOf[].properties.container.properties.volumes.description
The container's volume mappings, if any.

# $defs.runTask.properties.run.oneOf[].description
Enables the execution of custom scripts or code within a workflow, empowering workflows to perform specialized logic, data processing, or integration tasks by executing user-defined scripts written in various programming languages.

# $defs.runTask.properties.run.oneOf[].properties.script.properties.arguments.description
A key/value mapping of the arguments, if any, to use when running the configured script.

# $defs.runTask.properties.run.oneOf[].properties.script.properties.environment.description
A key/value mapping of the environment variables, if any, to use when running the configured script process.

# $defs.runTask.properties.run.oneOf[].description
Enables the execution of shell commands within a workflow, enabling workflows to interact with the underlying operating system and perform system-level operations, such as file manipulation, environment configuration, or system administration tasks.

# $defs.runTask.properties.run.oneOf[].properties.shell.description
The configuration of the shell command to run.

# $defs.runTask.properties.run.oneOf[].properties.shell.properties.arguments.description
A list of the arguments of the shell command to run.

# $defs.runTask.properties.run.oneOf[].properties.shell.properties.environment.description
A key/value mapping of the environment variables, if any, to use when running the configured process.

# $defs.runTask.properties.run.oneOf[].description
Enables the invocation and execution of nested workflows within a parent workflow, facilitating modularization, reusability, and abstraction of complex logic or business processes by encapsulating them into standalone workflow units.

# $defs.runTask.properties.run.oneOf[].properties.workflow.description
The configuration of the workflow to run.

# $defs.runTask.properties.run.oneOf[].properties.workflow.properties.input.description
The data, if any, to pass as input to the workflow to execute. The value should be validated against the target workflow's input schema, if specified.

# $defs.runTask.properties.run.oneOf[].properties.workflow.properties.namespace.description
The namespace the workflow to run belongs to.

# $defs.runTask.properties.run.oneOf[].properties.workflow.properties.version.description
The version of the workflow to run. Defaults to latest.

# $defs.runTask.properties.run.properties.await.description
Whether to await the process completion before continuing.

# $defs.schema.properties.format.description
The schema's format. Defaults to 'json'. The (optional) version of the format can be set using `{format}:{version}`.

# $defs.secretBasedAuthenticationPolicy.description
Represents an authentication policy based on secrets.

# $defs.secretBasedAuthenticationPolicy.properties.use.description
The name of the authentication policy to use.

# $defs.subscriptionIterator.description
Configures the iteration over each item (event or message) consumed by a subscription.

# $defs.subscriptionIterator.properties.at.description
The name of the variable used to store the index of the current item being enumerated.

# $defs.subscriptionIterator.properties.do.description
The tasks to perform for each consumed item.

# $defs.subscriptionIterator.properties.export.description
An object, if any, used to customize the content of the workflow context.

# $defs.subscriptionIterator.properties.item.description
The name of the variable used to store the current item being enumerated.

# $defs.subscriptionIterator.properties.output.description
An object, if any, used to customize the item's output and to document its schema.

# $defs.switchTask.description
Enables conditional branching within workflows, allowing them to dynamically select different paths based on specified conditions or criteria.

# $defs.switchTask.properties.switch.items.additionalProperties.description
The definition of a case within a switch task, defining a condition and corresponding tasks to execute if the condition is met.

# $defs.switchTask.properties.switch.items.additionalProperties.properties.then.description
The flow directive to execute when the case matches.

# $defs.switchTask.properties.switch.items.additionalProperties.properties.when.description
A runtime expression used to determine whether or not the case matches.

# $defs.task.description
A discrete unit of work that contributes to achieving the overall objectives defined by the workflow.

# $defs.taskBase.properties.if.description
A runtime expression, if any, used to determine whether or not the task should be run.

# $defs.taskBase.properties.then.description
The flow directive to be performed upon completion of the task.

# $defs.taskBase.properties.metadata.description
Holds additional information about the task.

# $defs.taskBase.properties.timeout.oneOf[].description
The task's timeout configuration, if any.

# $defs.tryTask.description
Serves as a mechanism within workflows to handle errors gracefully, potentially retrying failed tasks before proceeding with alternate ones.

# $defs.tryTask.properties.catch.description
The object used to define the errors to catch.

# $defs.tryTask.properties.catch.properties.as.description
The name of the runtime expression variable to save the error as. Defaults to 'error'.

# $defs.tryTask.properties.catch.properties.do.description
The definition of the task(s) to run when catching an error.

# $defs.tryTask.properties.catch.properties.exceptWhen.description
A runtime expression used to determine whether not to catch the filtered error.

# $defs.tryTask.properties.catch.properties.retry.oneOf[].description
The retry policy to use, if any, when catching errors.

# $defs.tryTask.properties.catch.properties.retry.oneOf[].description
The name of the retry policy to use, if any, when catching errors.

# $defs.tryTask.properties.catch.properties.when.description
A runtime expression used to determine whether to catch the filtered error.

# $defs.waitTask.description
Allows workflows to pause or delay their execution for a specified period of time.