HashiCorp Terraform

Operates on a Terraform project. Can validate, plan, and apply Terraform configurations.

Object Representation (YAML)

id: String
name: String
depends: [String]
tags: [String]
condition: String
ignore_errors: Boolean
properties:
  credentials: [String]
  command: String
  config_file_content: String
  init: String
  vars: String
  args: String
  cwd: String

Fields

PropertyDetails
id *

String

A unique identifier for the step.

Can contain hyphens and underscores, but not spaces.

name *

String

A friendly name for the step. This name will appear in the pipeline designer and run output.

depends[]

[String]

A list of dependencies of this step.

This step will not be executed until all steps with ids in this list are finished executing.

tags[]

[String]

Tags are used to group related steps. Steps with the same tag can be retrieved using the findStepsByTag() helper function.

Can contain hyphens and underscores, but not spaces.

condition

String

An expression which is evaluated before the step executes. If it evaluates to false, the step will be skipped. The step.result.status field will be "Skipped".

ignore_errors

Boolean

If true, errors in the step module will not halt pipeline execution, and subsequent steps will still be executed. The step.result.status field will be "Failed" if the step encounters an error.

properties.credentials *

[String]

A list of Azure Service Principal, GCP Service Account, or AWS IAM Access Key credentials. Providing multiple types allows running multi-cloud configurations. Only one of each type is supported.

properties.command *

String

The Terraform command to run. One of init, apply, plan, validate, destroy.

properties.config_file_content

String

Inline configuration content. This can be used if you don't already have a Terraform project on the agent.

properties.init

String

Whether to run init in the configuration directory. Optional if command is init.

properties.vars

String

Inline variables file. This will be written to the configuration directory as a tfvars file.

properties.args

String

Extra command line arguments to pass to Terraform.

properties.cwd

String

Working directory for the Terraform run. Defaults to the run directory.

Result Fields

The following are the step execution result fields available at step.result after a step executes.

KeyDetails
result.status

String

A string indicating the step execution status. Can be Succeeded, Failed, or Skipped.