Got the fundamentals? A structured Terraform course is a fast way to level up.
Find Terraform courses on UdemyAffiliate link. Costs you nothing extra.
- 01Getting Started
- 02What Is Terraform?
- 03Checking the Version with terraform version
- 04What Is Infrastructure as Code?
- 05What Is a Provider?
- 06Preparing Providers with terraform init
- 07What Is a Resource Block?
- 08Checking Syntax with terraform validate
- 09Formatting Code with terraform fmt
- 10Previewing Changes with terraform plan
- 11Building Infrastructure with terraform apply
- 12What Is tfstate?
- 13Viewing State with terraform show
- 14Listing Resources with terraform state list
- 15Inspecting One Resource with terraform state show
- 16What Are Variables?
- 17What Are Outputs?
- 18Reading Outputs with terraform output
- 19Tearing Down with terraform destroy
- 20What Is a Module?
- 21What Is a Workspace?
- 22Listing Workspaces with terraform workspace list
- 23Creating a Workspace with terraform workspace new
- 24Switching Workspaces with terraform workspace select
- 25Saving a Plan with terraform plan -out
- 26Applying a Saved Plan with terraform apply
- 27What Is State Locking?
- 28Listing Providers with terraform providers
- 29What Is terraform refresh?
- 30What Is a Remote Backend?
- 31Adopting Existing Resources with terraform import
- 32What Is depends_on?
- 33What Are for_each and count?
- 34Visualising Dependencies with terraform graph
- 35What Is State Drift?
- 36How to Think About Splitting Modules
- 37Hands-On: Building a Three-Tier Web Architecture with Terraform
What Is a Provider?
A provider is the plugin that lets Terraform talk to a particular platform. The AWS provider knows how to create AWS resources, the Google provider knows Google Cloud, and so on.
You declare which providers your configuration needs, and Terraform downloads them during terraform init.
Running terraform providers lists the providers this configuration requires and the version constraints on each.
A common stumble is leaving provider versions unpinned, so a later init picks up a new major version with breaking changes. Pin them.
In real work, providers are what make one tool and one workflow sufficient for a stack spread across several clouds and SaaS platforms.
🧑💻 You can type this command into the Terraform pseudo terminal to try it yourself (this page itself has no interactive terminal).
