Skip to main content

Legend

Steps

Ordered list of steps to execute — steps run sequentially unless wrapped in a parallel block

Step

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 the type 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 steps
string
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
Step[]
required
See: Step(minItems:1)
ConcurrencyConfig
Concurrency configuration for executions within this groupSee: ConcurrencyConfig

ParallelStep

Parallel step - executes children concurrently
ParallelChild[]
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-all

ApprovalStep

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: approval

BuildStep

General-purpose build action step — triggers a build based on the module’s build config.By default, build steps use value: 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: build
map<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-level deployment.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: deploy
string | 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: rollback
string
required
Deployment ID to rollback to(minLen:1; templateable)

SleepStep

Sleep action step — pauses pipeline execution for testing and debugging
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: sleep
integer
required
Sleep duration in milliseconds(format:int64; templateable)

TriggerPipelineStep

Trigger pipeline action step
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: trigger:pipeline
string
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-all
  • finish-running
  • finish-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.
One of: map<string,EnvironmentVariable>, string.

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: string

IntegrationReference

Integration ID or givenIdType: string

TerraformTool

Supported IaC tool for terraform:* CI stepsAllowed values:
  • opentofu
  • terraform

TerraformPlanType

Type of Terraform plan to generateAllowed values:
  • apply
  • destroy

TerraformVariableFilePath

Terraform/OpenTofu tfvars file path relative to the step source base pathType: string

TerraformVariablesValue

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.
One of: map<string,TerraformVariable>, string.

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: string

TerraformVariable

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 Store
ParameterStoreReferenceValue
required
Parameter Store referenceSee: ParameterStoreReferenceValue(templateable)

SecretsManagerEnvVar

Environment variable from AWS Secrets Manager
SecretsManagerReferenceValue
required
Secrets Manager referenceSee: SecretsManagerReferenceValue(templateable)

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 metadata
string
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 metadata
string
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)