Legend
Steps
Ordered list of steps to execute — steps run sequentially unless wrapped in a parallel blockStep
Step - can be action, parallel, or group. This is the main recursive type for pipeline steps.One of: ActionStep, ParallelStep, GroupStep.ActionStep
Union of all action step types. Discriminated by thetype field on each step model.
Generates oneOf + discriminator in OpenAPI, which hey-api converts to z.discriminatedUnion().
Some step schemas, such as BuildLambdaCiStep, are generated as standalone
types but intentionally excluded here until they are public pipeline steps.Discriminated union. The type field selects which schema applies.GroupStep
Group step - contains nested stepsstring
required
Human-readable group label shown in pipeline UI
string
What this group is for, in plain language, shown in the pipeline UI
Not used when running the pipeline
ConcurrencyConfig
Concurrency configuration for executions within this groupSee: ConcurrencyConfig
ParallelStep
Parallel step - executes children concurrentlyParallelChild[]
required
See: ParallelChild(minItems:1)
string
What this parallel block is for, in plain language, shown in the pipeline UI
Not used when running the pipeline
ConcurrencyConfig
Concurrency configuration for executions within this parallel blockSee: ConcurrencyConfig
enum
default:"finish-all"
How to handle failures while branches in this parallel block are running
Default: “finish-all”Allowed values:
cancel-all | finish-running | finish-allApprovalStep
Approval action step — pauses pipeline execution until a user explicitly approves. If timeout is omitted, the step waits indefinitely.string
required
Unique step identifier, used for referencing in logs and dependencies(minLen:1)
string
Human-readable step name shown in the pipeline UI
string
Why this step exists and what it does, in plain language, shown in the pipeline UI
Not used when running the step
integer | null
Maximum execution time in seconds before the step is killed(format:int32,min:1; templateable)
boolean | null
Condition that must evaluate to true for this step to run
Accepts either a boolean literal or a full template token that resolves to a boolean(templateable)
ConcurrencyConfig
Concurrency configuration for controlling step execution across variantsSee: ConcurrencyConfig
enum
required
Allowed values:
approvalBuildStep
General-purpose build action step — triggers a build based on the module’s build config.By default, build steps usevalue: 2 with behavior: cancel-intermediate,
keyed automatically by module instance and, when set, input.branch. The
policy starts replacing the oldest run immediately when a strictly newer
run arrives, while the oldest workflow is under 15 seconds old and the
inherited replacement chain is under 30 seconds old. This lets a rapid
burst collapse to its newest build, including before capacity is reached.
At either age limit, the oldest and newest builds survive and intermediates
are cancelled. Built-in deploy and terraform:apply execution is protected.For example, with value: 2 and arrivals at 0, 6, 12, 18, 24, 30, 36
seconds, run 5 is protected when the 30-second chain cap is reached; runs 5
and 7 survive. An explicit concurrency block opts out of this default.string
required
Unique step identifier, used for referencing in logs and dependencies(minLen:1)
string
Human-readable step name shown in the pipeline UI
string
Why this step exists and what it does, in plain language, shown in the pipeline UI
Not used when running the step
integer | null
Maximum execution time in seconds before the step is killed(format:int32,min:1; templateable)
boolean | null
Condition that must evaluate to true for this step to run
Accepts either a boolean literal or a full template token that resolves to a boolean(templateable)
ConcurrencyConfig
Concurrency configuration for controlling step execution across variantsSee: ConcurrencyConfig
string
required
Module instance reference — accepts the module instance row ID (e.g.
mi_…),
environmentGivenId.moduleGivenId, or
projectGivenId.environmentGivenId.moduleGivenId.(minLen:1; templateable)string | null
Human-readable description of this deployment.
Defaults to the pipeline run description if omitted.(templateable)
enum
required
Allowed values:
buildmap<string,any | null>
User-defined build parameters passed through to the module build manager.
These values are available to module build templates via
<< build.input.<key> >>.(templateable)DeployStep
General-purpose deploy action step — triggers a deployment based on the module’s deployment config.Deploy steps also acquire a separate deployment-manager lock scoped to the organization and module instance, so deployments of the same module instance serialize across pipelines and other deployment entry points. The effective defaults are max_concurrent=1, queue_size=1, and queue_overflow=oldest; module-leveldeployment.concurrency may override
queue_size and queue_overflow. An entirely zero-valued deployment
concurrency object receives queue_size=1, while an explicit queue_size=0
(with the module resolver’s explicit overflow value) disables queuing.
When the queue is full and overflow is oldest, the queued deployment is
evicted and its workflow is denied with reason queue_rejected, resulting
in a deployment failure rather than a pipeline concurrency cancellation.
This serialization is independent of trigger/step/block concurrency:
cancel-intermediate and other pipeline behaviors do not relax it.string
required
Unique step identifier, used for referencing in logs and dependencies(minLen:1)
string
Human-readable step name shown in the pipeline UI
string
Why this step exists and what it does, in plain language, shown in the pipeline UI
Not used when running the step
integer | null
Maximum execution time in seconds before the step is killed(format:int32,min:1; templateable)
boolean | null
Condition that must evaluate to true for this step to run
Accepts either a boolean literal or a full template token that resolves to a boolean(templateable)
ConcurrencyConfig
Concurrency configuration for controlling step execution across variantsSee: ConcurrencyConfig
string
required
Module instance reference — accepts the module instance row ID (e.g.
mi_…),
environmentGivenId.moduleGivenId, or
projectGivenId.environmentGivenId.moduleGivenId.(minLen:1; templateable)string | null
Human-readable description of this deployment.
Defaults to the pipeline run description if omitted.(templateable)
string | null
ID or given ID of the execution environment the deploy’s runner is
launched into. Applies to
aws:eks deployments only.(templateable)ExecutionEnvironmentOverrides
Overrides for individual attributes of the resolved execution environment.
Valid with or without
execution_environment_id.
The whole block and each field inside it accept template tokens.See: ExecutionEnvironmentOverrides(templateable)enum
required
Allowed values:
deploystring | null
Full git commit SHA of the artifact being deployed, recorded on the
module deployment. It is the baseline watch paths compare the next run
against. When omitted, nothing is recorded and the next run builds and
deploys the module without evaluating its watch paths. In a run that
deploys the module without building it, this is also the commit its
watch paths are evaluated against; without it that deploy always runs.(templateable)
map<string,any | null>
User-defined deploy parameters passed through to the deploy manager.
These values are available to module deployment templates via
<< deploy.input.<key> >>.(templateable)RollbackStep
Rollback action step — reverts a module to a specific previous deployment.string
required
Unique step identifier, used for referencing in logs and dependencies(minLen:1)
string
Human-readable step name shown in the pipeline UI
string
Why this step exists and what it does, in plain language, shown in the pipeline UI
Not used when running the step
integer | null
Maximum execution time in seconds before the step is killed(format:int32,min:1; templateable)
boolean | null
Condition that must evaluate to true for this step to run
Accepts either a boolean literal or a full template token that resolves to a boolean(templateable)
ConcurrencyConfig
Concurrency configuration for controlling step execution across variantsSee: ConcurrencyConfig
enum
required
Allowed values:
rollbackstring
required
Deployment ID to rollback to(minLen:1; templateable)
SleepStep
Sleep action step — pauses pipeline execution for testing and debuggingstring
required
Unique step identifier, used for referencing in logs and dependencies(minLen:1)
string
Human-readable step name shown in the pipeline UI
string
Why this step exists and what it does, in plain language, shown in the pipeline UI
Not used when running the step
integer | null
Maximum execution time in seconds before the step is killed(format:int32,min:1; templateable)
boolean | null
Condition that must evaluate to true for this step to run
Accepts either a boolean literal or a full template token that resolves to a boolean(templateable)
ConcurrencyConfig
Concurrency configuration for controlling step execution across variantsSee: ConcurrencyConfig
enum
required
Allowed values:
sleepinteger
required
Sleep duration in milliseconds(format:int64; templateable)
TriggerPipelineStep
Trigger pipeline action stepstring
required
Unique step identifier, used for referencing in logs and dependencies(minLen:1)
string
Human-readable step name shown in the pipeline UI
string
Why this step exists and what it does, in plain language, shown in the pipeline UI
Not used when running the step
integer | null
Maximum execution time in seconds before the step is killed(format:int32,min:1; templateable)
boolean | null
Condition that must evaluate to true for this step to run
Accepts either a boolean literal or a full template token that resolves to a boolean(templateable)
ConcurrencyConfig
Concurrency configuration for controlling step execution across variantsSee: ConcurrencyConfig
enum
required
Allowed values:
trigger:pipelinestring
required
ID of the pipeline to trigger(minLen:1; templateable)
string | null
Specific pipeline version to trigger — defaults to the latest version if omitted(templateable)
string
required
Description to use for the triggered pipeline run(minLen:1; templateable)
map<string,any | null>
Input values to pass to the triggered pipeline as key-value pairs(templateable)
map<string,TriggerRunVariantConfig> | null
Per-variant run overrides — keys are variant IDs, values include description and optional input overridesSee: TriggerRunVariantConfig(templateable)
ParallelChild
Parallel child - can be action or group (no nested parallel allowed)One of: ActionStep, GroupStep.ParallelFailStrategy
Strategy for handling failures within a parallel blockAllowed values:cancel-allfinish-runningfinish-all
EnvironmentVariablesValue
Environment variable map value.Supports either:- a literal map of environment variables, or
- a full template block like << pipeline.input.env_variables >> that resolves to such a map.
StepOutputName
Name of an output a step publishes. Must be usable both as a shell variable name and as a << steps.<id>.output.<name> >> field.Type: stringIntegrationReference
Integration ID or givenIdType: stringTerraformTool
Supported IaC tool for terraform:* CI stepsAllowed values:opentofuterraform
TerraformPlanType
Type of Terraform plan to generateAllowed values:applydestroy
TerraformVariableFilePath
Terraform/OpenTofu tfvars file path relative to the step source base pathType: stringTerraformVariablesValue
Terraform variable map value.Supports either:- a literal map of terraform variables, or
- a full template block like << pipeline.input.terraform_variables >> that resolves to such a map.
EnvironmentVariable
Environment variable — can be a plain string, Parameter Store reference, or Secrets Manager referenceOne of: string | null, ParameterStoreEnvVar, SecretsManagerEnvVar.GitRepoUrl
Full git repository URL including host.Type: stringTerraformVariable
Terraform variable — can be any JSON value (string, number, boolean, null, array, object), a Parameter Store reference, or a Secrets Manager referenceOne of: ParameterStoreEnvVar, SecretsManagerEnvVar, any | null.ParameterStoreEnvVar
Environment variable from AWS Parameter StoreParameterStoreReferenceValue
required
SecretsManagerEnvVar
Environment variable from AWS Secrets ManagerSecretsManagerReferenceValue
required
ParameterStoreReferenceValue
Parameter Store reference — shorthand string or object with optional version metadataOne of: string, ParameterStoreReference.SecretsManagerReferenceValue
Secrets Manager reference — shorthand string or object with optional JSON key/version metadataOne of: string, SecretsManagerReference.ParameterStoreReference
Parameter Store reference with optional version metadatastring
required
Parameter Store parameter name or path(templateable)
string | null
Parameter version number — defaults to latest if omitted(templateable)
SecretsManagerReference
Secrets Manager reference with optional JSON key and version metadatastring
required
Secret name or ARN in Secrets Manager(templateable)
string | null
JSON key to extract from a JSON-structured secret(templateable)
string | null
Secret version ID or stage — defaults to latest if omitted(templateable)