Type object | stepArray
File match workflows.json workflows.yaml workflows.yml *.workflows.json *.workflows.yaml *.workflows.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/google-cloud-workflows/latest.json
Source https://www.schemastore.org/workflows.json

Validate with Lintel

npx @lintel/lintel check
Type: object | stepArray

Orchestrate Workflows consisting of Google Cloud APIs, SaaS APIs or private API endpoints.

One of

1. object object

The main workflow.

main object required
2 nested properties
params string[]

The name of the parameter variable.

minItems=0maxItems=1uniqueItems=true
steps object[]

An array of objects with a single step.

minItems=1maxItems=100000
2. stepArray object[]

Definitions

subworkflow object

A subworkflow.

params array

The name of the parameter variable.

minItems=0maxItems=10uniqueItems=true
steps object[]

An array of objects with a single step.

minItems=1maxItems=100000
stepArray object[]

An array of objects with a single step.

step object

A single workflow step.

assign object[]

A list of variable assignment maps.

minItems=1maxItems=50
call string | string | string | string | string

Run a function and return a result.

args object

Pass arguments and their values when calling a function that accepts parameters.

8 nested properties
url string | string
method string

The type of HTTP request method to use. Required if using call type http.request.

Values: "GET" "HEAD" "POST" "PUT" "DELETE" "CONNECT" "OPTIONS" "TRACE" "PATCH"
headers object

Header fields to supply input to the API.

body object | null | string | string

Body fields to supply input to the API.

query object | string

Query fields to supply input to the API.

auth object

Required if the API being called requires authentication.

4 nested properties
type enum

The type of authentication.

Values: "OIDC" "OAuth2"
scope array | string

Specify token scope to limit an application's access to a user's account.

scopes array | string | string

Specify token scope to limit an application's access to a user's account.

audience string | string

Specifies the audience for the OIDC token. By default, it's set to the same value as url; however, it should be set to your service's root URL.

timeout number

Time in seconds. How long a request is allowed to run before throwing an exception. Default and maximum values vary by call.

connector_params object

Connector-specific parameters.

4 nested properties
timeout integer

Time in seconds. The end-to-end duration the connector call is allowed to run for before throwing a timeout exception.

Default: 1800
max=31536000
polling_policy object

Polling policy.

skip_polling boolean

If set to True, the connector invocation call is non-blocking if the initial request to manage or update the resource succeeds

Default: false
scopes array | string | string

Specify token scope to limit an application's access to a user's account.

result

Assign the result from a call to this variable.

next string | string | string | string

Define what step Workflows should execute next.

switch condition[]

A switch block. A selection mechanism that allows the value of an expression to control the flow of a workflow's execution. If a value matches, that condition's statement is executed.

minItems=1maxItems=50
for object

Iterates over a sequence of numbers or through a collection of data, such as a list or map.

One of: variant, variant
5 nested properties
value string required

A loop variable name. Contains the value of the currently iterated element.

steps object[] required

An array of objects with a single step.

minItems=1maxItems=100000
index string

An index variable name. Contains the value to the current offset of the iteration.

in array | string

An expression that evaluates into a list or a list definition. Required, if not using 'range'.

range number[] | string

A list of two expressions, specifying the beginning and end of the range, both inclusive. Required, if not using 'in'.

parallel object

Define a part of your workflow where two or more steps can execute concurrently. A 'parallel' step waits until all the steps defined within it have completed or are interrupted by an unhandled exception; execution then continues.

One of: variant, variant
5 nested properties
exception_policy string

The action for other branches when an exception occurs. Optional. The default policy, 'continueAll', results in no further action, and all other branches will attempt to run.

Constant: "continueAll"
shared string[]

A list of writable variables with parent scope that allow assignments within the 'parallel' step.

uniqueItems=true
concurrency_limit integer

The maximum number of branches and iterations that can concurrently execute within a single workflow execution before further branches and iterations are queued to wait. This applies to a single 'parallel' step only and does not cascade. Must be a positive integer and can be either a literal value or an expression.

branches array

Execute parallel branches concurrently and the steps in each branch sequentially.

minItems=2maxItems=10
for object

Iterates over a sequence of numbers or through a collection of data, such as a list or map.

One of: variant, variant
5 nested properties
value string required

A loop variable name. Contains the value of the currently iterated element.

steps object[] required

An array of objects with a single step.

minItems=1maxItems=100000
index string

An index variable name. Contains the value to the current offset of the iteration.

in array | string

An expression that evaluates into a list or a list definition. Required, if not using 'range'.

range number[] | string

A list of two expressions, specifying the beginning and end of the range, both inclusive. Required, if not using 'in'.

raise string | object

Raise an exception.

try step | stepArray

A try/except structure for error handling.

retry object | string

Define a retry policy to retry steps that return a specific error code.

except object

A try/except structure for error handling.

2 nested properties
as string

The name of a map variable that contains the error message.

steps object[]

An array of objects with a single step.

minItems=1maxItems=100000
return

Stop a workflow's execution and return a value, variable, or expression.

steps object[]

An array of objects with a single step.

minItems=1maxItems=100000
assign object[]

A list of variable assignment maps.

call string | string | string | string | string

Run a function and return a result.

args object

Pass arguments and their values when calling a function that accepts parameters.

url string | string
method string

The type of HTTP request method to use. Required if using call type http.request.

Values: "GET" "HEAD" "POST" "PUT" "DELETE" "CONNECT" "OPTIONS" "TRACE" "PATCH"
headers object

Header fields to supply input to the API.

body object | null | string | string

Body fields to supply input to the API.

query object | string

Query fields to supply input to the API.

auth object

Required if the API being called requires authentication.

4 nested properties
type enum

The type of authentication.

Values: "OIDC" "OAuth2"
scope array | string

Specify token scope to limit an application's access to a user's account.

scopes array | string | string

Specify token scope to limit an application's access to a user's account.

audience string | string

Specifies the audience for the OIDC token. By default, it's set to the same value as url; however, it should be set to your service's root URL.

timeout number

Time in seconds. How long a request is allowed to run before throwing an exception. Default and maximum values vary by call.

connector_params object

Connector-specific parameters.

4 nested properties
timeout integer

Time in seconds. The end-to-end duration the connector call is allowed to run for before throwing a timeout exception.

Default: 1800
max=31536000
polling_policy object

Polling policy.

3 nested properties
initial_delay number

Time in seconds. Only applies to long-running operation calls.

Default: 1.0
multiplier number

Time in seconds. Only applies to long-running operation calls.

Default: 1.25
max_delay number

Time in seconds. Only applies to long-running operation calls.

Default: 60.0
skip_polling boolean

If set to True, the connector invocation call is non-blocking if the initial request to manage or update the resource succeeds

Default: false
scopes array | string | string

Specify token scope to limit an application's access to a user's account.

result

Assign the result from a call to this variable.

next string | string | string | string

Define what step Workflows should execute next.

return

Stop a workflow's execution and return a value, variable, or expression.

for object

Iterates over a sequence of numbers or through a collection of data, such as a list or map.

value string required

A loop variable name. Contains the value of the currently iterated element.

steps object[] required

An array of objects with a single step.

minItems=1maxItems=100000
index string

An index variable name. Contains the value to the current offset of the iteration.

in array | string

An expression that evaluates into a list or a list definition. Required, if not using 'range'.

range number[] | string

A list of two expressions, specifying the beginning and end of the range, both inclusive. Required, if not using 'in'.

parallel object

Define a part of your workflow where two or more steps can execute concurrently. A 'parallel' step waits until all the steps defined within it have completed or are interrupted by an unhandled exception; execution then continues.

exception_policy string

The action for other branches when an exception occurs. Optional. The default policy, 'continueAll', results in no further action, and all other branches will attempt to run.

Constant: "continueAll"
shared string[]

A list of writable variables with parent scope that allow assignments within the 'parallel' step.

uniqueItems=true
concurrency_limit integer

The maximum number of branches and iterations that can concurrently execute within a single workflow execution before further branches and iterations are queued to wait. This applies to a single 'parallel' step only and does not cascade. Must be a positive integer and can be either a literal value or an expression.

branches array

Execute parallel branches concurrently and the steps in each branch sequentially.

minItems=2maxItems=10
for object

Iterates over a sequence of numbers or through a collection of data, such as a list or map.

One of: variant, variant
5 nested properties
value string required

A loop variable name. Contains the value of the currently iterated element.

steps object[] required

An array of objects with a single step.

minItems=1maxItems=100000
index string

An index variable name. Contains the value to the current offset of the iteration.

in array | string

An expression that evaluates into a list or a list definition. Required, if not using 'range'.

range number[] | string

A list of two expressions, specifying the beginning and end of the range, both inclusive. Required, if not using 'in'.

branches object[]

An array of objects with a single step.

switch condition[]

A switch block. A selection mechanism that allows the value of an expression to control the flow of a workflow's execution. If a value matches, that condition's statement is executed.

condition object

Define conditional expressions for a switch block.

condition string | boolean required

An expression to switch on.

steps object[]

An array of objects with a single step.

minItems=1maxItems=100000
assign object[]

A list of variable assignment maps.

minItems=1maxItems=50
call string | string | string | string | string

Run a function and return a result.

args object

Pass arguments and their values when calling a function that accepts parameters.

8 nested properties
url string | string
method string

The type of HTTP request method to use. Required if using call type http.request.

Values: "GET" "HEAD" "POST" "PUT" "DELETE" "CONNECT" "OPTIONS" "TRACE" "PATCH"
headers object

Header fields to supply input to the API.

body object | null | string | string

Body fields to supply input to the API.

query object | string

Query fields to supply input to the API.

auth object

Required if the API being called requires authentication.

4 nested properties
type enum

The type of authentication.

Values: "OIDC" "OAuth2"
scope array | string

Specify token scope to limit an application's access to a user's account.

scopes array | string | string

Specify token scope to limit an application's access to a user's account.

audience string | string

Specifies the audience for the OIDC token. By default, it's set to the same value as url; however, it should be set to your service's root URL.

timeout number

Time in seconds. How long a request is allowed to run before throwing an exception. Default and maximum values vary by call.

connector_params object

Connector-specific parameters.

4 nested properties
timeout integer

Time in seconds. The end-to-end duration the connector call is allowed to run for before throwing a timeout exception.

Default: 1800
max=31536000
polling_policy object

Polling policy.

skip_polling boolean

If set to True, the connector invocation call is non-blocking if the initial request to manage or update the resource succeeds

Default: false
scopes array | string | string

Specify token scope to limit an application's access to a user's account.

result

Assign the result from a call to this variable.

next string | string | string | string

Define what step Workflows should execute next.

switch condition[]

A switch block. A selection mechanism that allows the value of an expression to control the flow of a workflow's execution. If a value matches, that condition's statement is executed.

minItems=1maxItems=50
for object

Iterates over a sequence of numbers or through a collection of data, such as a list or map.

One of: variant, variant
5 nested properties
value string required

A loop variable name. Contains the value of the currently iterated element.

steps object[] required

An array of objects with a single step.

minItems=1maxItems=100000
index string

An index variable name. Contains the value to the current offset of the iteration.

in array | string

An expression that evaluates into a list or a list definition. Required, if not using 'range'.

range number[] | string

A list of two expressions, specifying the beginning and end of the range, both inclusive. Required, if not using 'in'.

parallel object

Define a part of your workflow where two or more steps can execute concurrently. A 'parallel' step waits until all the steps defined within it have completed or are interrupted by an unhandled exception; execution then continues.

One of: variant, variant
5 nested properties
exception_policy string

The action for other branches when an exception occurs. Optional. The default policy, 'continueAll', results in no further action, and all other branches will attempt to run.

Constant: "continueAll"
shared string[]

A list of writable variables with parent scope that allow assignments within the 'parallel' step.

uniqueItems=true
concurrency_limit integer

The maximum number of branches and iterations that can concurrently execute within a single workflow execution before further branches and iterations are queued to wait. This applies to a single 'parallel' step only and does not cascade. Must be a positive integer and can be either a literal value or an expression.

branches array

Execute parallel branches concurrently and the steps in each branch sequentially.

minItems=2maxItems=10
for object

Iterates over a sequence of numbers or through a collection of data, such as a list or map.

One of: variant, variant
5 nested properties
value string required

A loop variable name. Contains the value of the currently iterated element.

steps object[] required

An array of objects with a single step.

minItems=1maxItems=100000
index string

An index variable name. Contains the value to the current offset of the iteration.

in array | string

An expression that evaluates into a list or a list definition. Required, if not using 'range'.

range number[] | string

A list of two expressions, specifying the beginning and end of the range, both inclusive. Required, if not using 'in'.

raise string | object

Raise an exception.

try step | stepArray

A try/except structure for error handling.

retry object | string

Define a retry policy to retry steps that return a specific error code.

except object

A try/except structure for error handling.

2 nested properties
as string

The name of a map variable that contains the error message.

steps object[]

An array of objects with a single step.

minItems=1maxItems=100000
return

Stop a workflow's execution and return a value, variable, or expression.

raise string | object

Raise an exception.

try step | stepArray

A try/except structure for error handling.

except object

A try/except structure for error handling.

as string

The name of a map variable that contains the error message.

steps object[]

An array of objects with a single step.

minItems=1maxItems=100000
retry object | string

Define a retry policy to retry steps that return a specific error code.

scopes array | string | string

Specify token scope to limit an application's access to a user's account.