Install Terraform following the offical instructions
Install HashiCorp Terraform VSCode Instructions
We'll mostly be using AWS as the primary provider. If you want to follow along for all labs you'll need accounts for:
AWS CLI Azure CLI Google Cloud SDK
We are going to learn the basics of Terraform:
- Creating main.tf
- Add AWS Provider
- Generate and configure AWS credentials
- Configure an AWS Virtual Machine
- Initialize terraform project
- Terraform fmt
- Terraform validate
- Terraform plan
- Terraform apply
- Terraform apply (updateing)
- Create Input Variables
- Set Locals
- Create Outputs
- Use a Terraform Module
- Divide project into multiple files
- Terraform destroy
- Create a Terraform Cloud workspace
- Migrate local to remote workspace
- Move AWS Credentials to Env Vars
- Cloud-Init
- Local Exec
- Remote Exec
- File
- Connection
- Null Resource and Trigger
-
Provision AWS Resource
-
Provision Azure Resource
-
Provision GCP Resource
-
Provision Spotify Playlist
-
Provision Minecraft Server
- terraform.tfvars
- additional variable files and -var-file
- additional autoloaded files
- -var
- TF_VAR_
- Ouputs CLI
- Chaining outputs from a module
- Local values
- Data Sources
- depends_on
- count
- for_each
- provider and alias
- lifecycle
- String Templates
- For Expressions
- Splats
- Dynamic Blocks
- Versions Constraints
- terraform state list
- terraform state mv
- terraform state show
- terraform state mv
- Speculative Plans
- Saved Plans
- Replace
- Import
- Refresh
- Terraform Log
- Terraform Crash log
- Create a module
- Publish a module
- individual Terraform Workflow
- Standard Backend with Amazon S3
- Remote backend multiple workspaces
- terraform_remote_state local
- terraform_remote_state remote
- force-unlock
- collection types
- structual typeear
- Built In Functions
- Terraform CLoud Permissions
- Terraform Cloud API Token
- Private Registry
- Multiple workspaces Terraform Cloud
- Sentinel Mocks
- Policy Set
Vault with Terraform
Packer with Terraform