Terraform Cheat-Sheet
Format and Validate
terraform fmt
Reformat your configuration in the standard style
terraform validate
Check whether the configuration is valid
Initialize Working Directory
terraform init
Prepare your working directory for other commands
Plan, Deploy and Cleanup
terraform apply --auto-approve
Create or update infrastructure without confirmation prompt
terraform destroy --auto-approve
Destroy previously-created infrastructure without confirmation prompt
terraform plan -out plan.out
Output the deployment plan to plan.out
terraform apply plan.out
Use the plan.out to deploy infrastructure
terraform plan -destroy
Outputs a destroy plan
terraform apply -target=aws_instance.myinstance
Only apply/deploy changes to targeted resource
terraform apply -var myregion=us-east-1
Pass a variable via CLI while applying a configuration
terraform apply -lock=true
Lock the state file so it can't be modified
terraform apply refresh=false
Do not reconcile state file with real-world resources
terraform apply --parallelism=5
Number of simultaneous resource operations
terraform refresh
Reconcile the state in Terraform state file with real-world resources
terraform providers
Get informatino about providers used in the current configuration
Workspaces
terraform workspace new <workspace>
Create a new workspace
terraform workspace select default
Change to a workspace
terraform workspace list
List all workspaces
State Manipulation
terraform state show aws_instance.myinstance
Show details stored in the Terraform state file
terraform state pull > terraform.tfstate
Output Terraform state to a file
terraform state mv aws_iam_role.my_ssm_role module.mymodule
Move a resource tracked via state to different module
terraform state replace-provider hashicorp/aws registry.custom.com/aws
Replace an existing provider with another
terraform state list
List all resources tracked in the Terraform state file
terraform state rm aws_instance.myinstance
Unmanage a resource, delete it from the Terraform state file
Import and Outputs
terraform import <resource_type>.<resource> <id>
Import a Resource
terraform output
List all outputs
terraform output <output>
List a specific output
terraform output -json
List all outputs in JSON format
Terraform Cloud
terraform login
Login to Terraform Cloud with an API token
terraform logout
Logout from Terraform Cloud