YAML for Terraform CLI

View as Markdown

Execute Terraform CLI commands with integration-based authentication.

YAML parameters for Terraform CLI

PARAMETERS
typerequiredstring

Value: TERRAFORM

actionrequiredstring
Unique identifier for the action within the pipeline.
integrationstring
Terraform integration (GOOGLE_SERVICE_ACCOUNT|AMAZON). It refers to an integration in the workspace by its identifier, not by its display name.
regionstring
The cloud provider region for Terraform resources
versionstring
The version of Terraform to use. Defaults to latest.
backendstring enum
The Terraform backend configuration. Required when integration is set. Defaults to CUSTOM when no integration
Allowed enum:
CUSTOM,
AMAZON,
GOOGLE,
ARTIFACT
artifactstring
The artifact identifier used as the Terraform backend. Required when backend is ARTIFACT
artifact_versionstring
The version of the artifact used as the Terraform backend
working_directorystring
The directory in which the Terraform commands are executed. Available when backend is ARTIFACT
state_namestring
The name of the Terraform state stored in the backend
shellstring enum
The shell used to execute commands. Default: BASH.
Allowed enum:
SH,
BASH,
POWERSHELL
setup_commandsstring
Commands to run before the main commands (e.g., for installing dependencies). Several commands go in one multi-line string (a | block), one per line - not a YAML list.
commandsstring
List of shell commands to execute. Several commands go in one multi-line string (a | block), one per line - not a YAML list.
trigger_timestring enum
Specifies when the action should be executed.
Allowed enum:
ON_EVERY_EXECUTION,
ON_FAILURE,
ON_BACK_TO_SUCCESS,
ON_WARNING,
ON_WAIT_FOR_APPROVE,
ON_TERMINATE
loopstring[]
The list of variables for dynamic action execution. The action runs once for each value.
run_only_on_first_failureboolean
When true, the action runs only on the first failure instead of on each failure. Used only when trigger_time is ON_FAILURE.
disabledboolean
When set to true the action is disabled. By default it is set to false.
timeoutinteger
The timeout in seconds. It cannot exceed the action time limit of the workspace plan; a higher value is rejected.
ignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actions.
retry_intervalinteger
Delay time between auto retries in seconds.
retry_countinteger
Number of retries if the action fails.

Constraints: ≤ 10

run_nextstring enum
Defines whether the action should run in parallel with the next one.
Allowed enum:
WAIT_ON_SUCCESS,
IN_SOFT_PARALLEL,
IN_HARD_PARALLEL
trigger_conditionsTriggerConditionYaml[]
The list of trigger conditions to meet so that the action can be triggered.
variablesVariableYaml[]
The list of variables you can use in the action.

Last modified on Nov 2, 2026

YAML examples for Terraform CLI

Terraform infrastructure commands

yaml
- action: "terraform plan -input=false"
  type: "TERRAFORM"
  version: "latest"
  commands: |-
    terraform init -input=false
    terraform plan -input=false
    #terraform apply -auto-approve -input=false
  backend: "CUSTOM"

Terraform with AWS backend

yaml
- action: "terraform plan -input=false"
  type: "TERRAFORM"
  commands: |-
    terraform init -input=false
    terraform plan -input=false
    #terraform apply -auto-approve -input=false
  version: "latest"
  integration: "amazon-web-services"
  backend: "AMAZON"

Terraform with artifact state backend

yaml
- action: "terraform plan -input=false"
  type: "TERRAFORM"
  commands: |-
    terraform init -input=false
    terraform plan -input=false
    #terraform apply -auto-approve -input=false
  version: "latest"
  backend: "ARTIFACT"
  artifact: "terraform-state"
  artifact_version: "1.0.0"
  working_directory: "/buddy/terraform"
  state_name: "production"