» Run Modes and Options

Terraform Cloud runs support many of the same modes and options available in the Terraform CLI.

» Destroy Mode

Destroy mode instructs Terraform to create a plan which destroys all objects, regardless of configuration changes.

  • CLI: Use terraform plan -destroy or terraform destroy
  • API: Use the is-destroy option.
  • UI: Use a workspace's "Destruction and Deletion" settings page.

» Refresh-Only Mode

Refresh-only mode instructs Terraform to create a plan which updates the Terraform state to match changes made to remote objects outside of Terraform.

  • CLI: Use terraform plan -refresh-only or terraform apply -refresh-only.
  • API: Use the refresh-only option.

» Skipping Automatic State Refresh

The -refresh=false option is used in normal planning mode to skip the default behavior of refreshing Terraform state before checking for configuration changes.

  • CLI: Use terraform plan -refresh=false or terraform apply -refresh=false.
  • API: Use the refresh option.

» Replacing Selected Resources

The replace option instructs Terraform to replace the object with the given resource address.

  • CLI: Use terraform plan -replace=ADDRESS or terraform apply -replace=ADDRESS.
  • API: Use the replace-addrs option.

» Targeted Plan and Apply

Resource Targeting is intended for exceptional circumstances only and should not be used routinely.

  • CLI: Use terraform plan -target=ADDRESS or terraform apply -target=ADDRESS.
  • API: Use the target-addrs option.

The usual caveats for targeting in local operations imply some additional limitations on Terraform Cloud features for remote plans created with targeting:

  • Sentinel policy checks for targeted plans will see only the selected subset of resource instances planned for changes in the tfplan import and the tfplan/v2 import, which may cause an unintended failure for any policy that requires a planned change to a particular resource instance selected by its address.

  • Cost Estimation is disabled for any run created with -target set, to prevent producing a misleading underestimate of cost due to resource instances being excluded from the plan.

You can disable or constrain use of targeting in a particular workspace using a Sentinel policy based on the tfrun.target_addrs value.