| command | Terraform command: init | validate | plan | apply | plan-and-apply | destroy | no | plan |
| terraform-version | Terraform version to install (e.g. 1.7.5). Uses PATH terraform if empty. | no | 1.12.0 |
| working-directory | Directory containing .tf files | no | . |
| backend-type | Backend type: local | azurerm | s3 | gcs | custom | no | local |
| backend-config-file | Path to HCL or key=value backend config file (custom backend only) | no | "" |
| azure-resource-group | Azure resource group (azurerm backend) | no | "" |
| azure-storage-account | Azure storage account name (azurerm backend) | no | "" |
| azure-container | Azure blob container (azurerm backend) | no | "" |
| azure-state-key | State blob key (azurerm backend) | no | "" |
| aws-bucket | S3 bucket name (s3 backend) | no | "" |
| aws-key | S3 state key path (s3 backend) | no | "" |
| aws-region | AWS region (s3 backend) | no | "" |
| aws-dynamodb-table | DynamoDB lock table (s3 backend, optional) | no | "" |
| gcp-bucket | GCS bucket name (gcs backend) | no | "" |
| gcp-prefix | GCS state prefix (gcs backend, optional) | no | "" |
| plan-file | Binary plan file name | no | tfplan |
| additional-args | Extra arguments appended to the terraform command line | no | "" |
| auto-approve | Pass -auto-approve to apply/destroy (set true to skip confirmation) | no | false |
| plan-json-path | Path to an existing plan.json file. When set, the command is forced to
"visualize" — skips all terraform execution and renders the Step Summary,
PR comment, and outputs directly from this file. Useful for separating
plan and visualization jobs, or for testing with fixture files.
| no | "" |
| post-step-summary | Write rich plan visualization to GitHub Step Summary | no | true |
| post-pr-comment | Post plan summary as a PR comment (updates existing comment) | no | true |
| upload-plan-artifact | Upload plan.json as a workflow artifact | no | true |
| artifact-name | Name of the uploaded plan artifact | no | terraform-plan |
| github-token | GitHub token for PR comments and artifact upload | no | ${{ github.token }} |